require 'virtus'
class A
include Virtus.model
attribute :foo, Range
end
A.new
# => ArgumentError: wrong number of arguments (0 for 2..3)
# => from /Users/marten/.gem/ruby/2.1.0/gems/virtus-1.0.1/lib/virtus/attribute/collection.rb:9:in `initialize'
Offending line is: default Proc.new { |_, attribute| attribute.primitive.new }. Range ofcourse does not have a argumentless constructor, a range always needs a beginning and an end.
I'd like to just have nil when nothing is given. Setting attribute :foo, Range, default: nil doesn't help.
Offending line is:
default Proc.new { |_, attribute| attribute.primitive.new }
. Range ofcourse does not have a argumentless constructor, a range always needs a beginning and an end.I'd like to just have
nil
when nothing is given. Settingattribute :foo, Range, default: nil
doesn't help.