Sha256: 46dc6e00c672cd5a262068d60afb98fdbabb8d5d61883740743b12924a1f1e66
Contents?: true
Size: 788 Bytes
Versions: 1
Compression:
Stored size: 788 Bytes
Contents
describe "shared definition" do subject do class Test::Foo extend Dry::Initializer::Mixin class << self alias_method :attribute, :param end using default: proc { nil } do attribute :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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-initializer-0.9.3 | spec/shared_definitions_spec.rb |