Sha256: cf3154806e3af84998983e98ddd0febb80610a3e4875a819e2fb83362e9c943d
Contents?: true
Size: 881 Bytes
Versions: 1
Compression:
Stored size: 881 Bytes
Contents
require 'moosex' class CoerceTest include MooseX has attribute_ro: { is: :ro, isa: Integer, coerce: lambda {|value| value.to_i }, } has attribute_rw: { is: :rw, isa: Integer, coerce: :to_i, } has attribute_lazy: { is: :lazy, isa: Integer, coerce: lambda {|value| value.to_i }, builder: lambda{|object| "2048" }, } end describe "CoerceTest" do it "should coerce the argument using to_i on constructor" do ct = CoerceTest.new(attribute_ro: "12") ct.attribute_ro.should == 12 end it "should coerce the argument using to_i on constructor" do ct = CoerceTest.new(attribute_rw: "12") ct.attribute_rw.should == 12 end it "should coerce in the setter" do ct = CoerceTest.new ct.attribute_rw= "128" ct.attribute_rw.should == 128 end it "should coerce from builder" do ct = CoerceTest.new ct.attribute_lazy.should == 2048 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
moosex-0.0.16 | spec/coerce_spec.rb |