Sha256: b0e530008e20415f1509f6af2d42774c90b62b8e53bdc84be722ea9e75cdb67c
Contents?: true
Size: 714 Bytes
Versions: 5
Compression:
Stored size: 714 Bytes
Contents
describe "shared definition" do subject do class Test::Foo extend Dry::Initializer::Mixin using default: proc { nil } do param :foo option :end option :baz, default: proc { 0 } end using optional: true do option :qux option :quxx, optional: false end end end it "is applied to params and options" do instance = subject.new(quxx: 1) expect(instance.foo).to be_nil expect(instance.end).to be_nil end it "can be reloaded" do instance = subject.new(quxx: 1) expect(instance.baz).to eq 0 end it "can reload :optional setting" do expect { subject.new }.to raise_error(KeyError, /quxx/) end end
Version data entries
5 entries across 5 versions & 1 rubygems