spec/integration/yard/sinclair/add_method_spec.rb in sinclair-1.14.2 vs spec/integration/yard/sinclair/add_method_spec.rb in sinclair-1.15.0
- old
+ new
@@ -5,38 +5,39 @@
describe 'yard Sinclair#add_method' do
describe 'Using string code to add a string defined method' do
let(:klass) { Class.new(Person) }
it 'creates new method' do
- builder = Sinclair.new(klass)
- builder.add_method(:full_name, '[first_name, last_name].join(" ")')
- builder.build
+ Sinclair.build(klass) do
+ add_method(:full_name, '[first_name, last_name].join(" ")')
+ end
expect(klass.new('john', 'wick').full_name).to eq('john wick')
end
end
describe 'Using block to add a block method' do
let(:klass) { Class.new(Person) }
it 'creates new method' do
- builder = Sinclair.new(klass)
- builder.add_method(:bond_name) { "#{last_name}, #{first_name} #{last_name}" }
- builder.build
+ Sinclair.build(klass) do
+ add_method(:bond_name) { "#{last_name}, #{first_name} #{last_name}" }
+ end
expect(klass.new('john', 'wick').bond_name).to eq('wick, john wick')
end
end
describe 'Passing type block' do
let(:klass) { Class.new(Person) }
it 'creates new method' do
- builder = Sinclair.new(klass)
- builder.add_method(:bond_name, type: :block, cached: true) do
- "#{last_name}, #{first_name} #{last_name}"
+ Sinclair.build(klass) do
+ add_method(:bond_name, type: :block, cached: true) do
+ "#{last_name}, #{first_name} #{last_name}"
+ end
end
- builder.build
+
person = klass.new('john', 'wick')
expect(person.bond_name).to eq('wick, john wick')
person.first_name = 'Johny'
expect(person.bond_name).to eq('wick, john wick')