virtus icon indicating copy to clipboard operation
virtus copied to clipboard

Strange Boolean behaviour

Open ktimothy opened this issue 7 years ago • 5 comments

irb(main):016:0> Virtus::Attribute.build(true).is_a?(Virtus::Attribute::Boolean)
=> true
irb(main):017:0> Virtus::Attribute.build(false).is_a?(Virtus::Attribute::Boolean)
=> false

Found it out while investigating a bug in grape.

ktimothy avatar Jun 13 '17 10:06 ktimothy

Yeah, looks like FalseClass isn't listed as a primitive for it: https://github.com/solnic/virtus/blob/master/lib/virtus/attribute/boolean.rb#L18

acook avatar Jun 13 '17 18:06 acook

It also looks like only one primitive type can be set.

(Oh, Ruby, TrueClass and FalseClass, seriously? =))

ktimothy avatar Jun 13 '17 19:06 ktimothy

Ruby has no primitive types.

envygeeks avatar Jun 14 '17 06:06 envygeeks

I meant primitive attribute of Virtus::Attribute class.

ktimothy avatar Jun 14 '17 07:06 ktimothy

@envygeeks Virtus::Attribute has a primitive accessor: https://github.com/solnic/virtus/blob/master/lib/virtus/attribute.rb#L51

acook avatar Jun 14 '17 22:06 acook