Project

General

Profile

Actions

バグ #1377

open

Diva::Modelの子クラス(A)で定義したフィールドの型がAの子クラス(B)で適用されない

Added by Yuto Tokunaga about 5 years ago. Updated about 5 years ago.

Status:
実装待ち
Priority:
通常
Target version:
プラグイン名:
ブランチ:
クラッシュする:
No

Description

Diva::Modelの子クラス(A)でfield.uri等で定義したフィールドの型が,Aの子クラス(B)ではStringになってしまい,期待した型が得られません.

require 'diva'

class A < Diva::Model
  field.uri :uri
  field.time :created
end

class B < Base
  field.uri :alt_uri
  field.time :updated
end

s = 'https://example.com/'
t = '2019-08-27T20:01:00'

a = A.new uri: s, created: t
b = B.new uri: s, alt_uri: s, created: t, updated: t

p a.uri.class.name # => "Diva::URI" 
p a.created.class.name # => "Time" 
p b.uri.class.name # => "String" 
p b.alt_uri.class.name # => "Diva:URI" 
p b.created.class.name # => "String" 
p b.updated.class.name # => "Time" 

Ruby v2.6.2, diva v1.0.0 で確認.

Actions

Also available in: Atom PDF