Sha256: 2e4ceb0e0fde64401fe46167fa1f06379a8d8d16369f1b99b349830ab1c022f5
Contents?: true
Size: 982 Bytes
Versions: 2
Compression:
Stored size: 982 Bytes
Contents
describe "@__options__" do context "when class has params" do before do class Test::Foo extend Dry::Initializer param :foo, proc(&:to_s) param :bar, default: proc { 1 } param :baz, optional: true end end it "collects coerced params with default values" do subject = Test::Foo.new(:FOO) expect(subject.instance_variable_get(:@__options__)) .to eq({ foo: "FOO", bar: 1 }) end end context "when class has options" do before do class Test::Foo extend Dry::Initializer option :foo option :bar, default: proc { 1 } option :baz, optional: true option :qux, proc(&:to_s), as: :quxx end end it "collects coerced and renamed options with default values" do subject = Test::Foo.new(foo: :FOO, qux: :QUX) expect(subject.instance_variable_get(:@__options__)) .to eq({ foo: :FOO, bar: 1, quxx: "QUX" }) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dry-initializer-1.4.1 | spec/options_var_spec.rb |
dry-initializer-1.4.0 | spec/options_var_spec.rb |