blob: 330241b72644023e0584e044218ce3e00cc6d6e4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
RSpec.describe Configurable do
subject do
Class.new do
include Configurable
end
end
let( :something ){ double('something') }
it 'can be configured' do
expect{ subject.config.anything }.to raise_error(NoMethodError)
subject.config.something = something
expect( subject.config.something ).to eq(something)
# Instances delegate to the class
expect( subject.new.send(:config).something ).to eq(something)
# **All** instances delegate to the class
expect( subject.new.send(:config).something ).to eq(something)
end
it 'can be configured with a block' do
subject.config do | c |
c.something = something
end
expect( subject.config.something ).to eq(something)
# Instances delegate to the class
expect( subject.new.send(:config).something ).to eq(something)
# **All** instances delegate to the class
expect( subject.new.send(:config).something ).to eq(something)
end
end
|