sinclair 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -1
  3. data/README.md +414 -324
  4. data/config/check_specs.yml +3 -4
  5. data/config/yardstick.yml +9 -1
  6. data/lib/sinclair/configurable.rb +2 -0
  7. data/lib/sinclair/equals_checker.rb +2 -0
  8. data/lib/sinclair/matchers/add_class_method.rb +26 -36
  9. data/lib/sinclair/matchers/add_instance_method.rb +59 -59
  10. data/lib/sinclair/matchers/add_method.rb +33 -35
  11. data/lib/sinclair/matchers/change_class_method.rb +22 -16
  12. data/lib/sinclair/matchers/change_instance_method.rb +46 -16
  13. data/lib/sinclair/matchers.rb +2 -8
  14. data/lib/sinclair/method_builder/base.rb +17 -2
  15. data/lib/sinclair/method_builder/call_method_builder.rb +49 -0
  16. data/lib/sinclair/method_builder.rb +5 -17
  17. data/lib/sinclair/method_definition/block_definition.rb +2 -0
  18. data/lib/sinclair/method_definition/call_definition.rb +49 -0
  19. data/lib/sinclair/method_definition/string_definition.rb +2 -2
  20. data/lib/sinclair/method_definition.rb +80 -26
  21. data/lib/sinclair/method_definitions.rb +25 -7
  22. data/lib/sinclair/options/builder.rb +8 -0
  23. data/lib/sinclair/options.rb +1 -13
  24. data/lib/sinclair/version.rb +1 -1
  25. data/lib/sinclair.rb +149 -62
  26. data/spec/integration/readme/sinclair/types_of_definition_spec.rb +47 -0
  27. data/spec/integration/yard/sinclair/add_class_method_spec.rb +51 -0
  28. data/spec/integration/yard/sinclair/add_method_spec.rb +60 -0
  29. data/spec/integration/yard/sinclair/eval_and_add_method_spec.rb +26 -0
  30. data/spec/integration/yard/sinclair/matchers/change_class_method_spec.rb +24 -0
  31. data/spec/integration/yard/sinclair/matchers/change_instance_method_spec.rb +40 -0
  32. data/spec/integration/yard/sinclair_spec.rb +0 -83
  33. data/spec/lib/sinclair/method_builder/base_spec.rb +15 -0
  34. data/spec/lib/sinclair/method_builder/call_method_builder_spec.rb +76 -0
  35. data/spec/lib/sinclair/method_builder_spec.rb +63 -20
  36. data/spec/lib/sinclair/method_definition/call_definition_spec.rb +33 -0
  37. data/spec/lib/sinclair/method_definition_spec.rb +129 -0
  38. data/spec/lib/sinclair/method_definitions_spec.rb +79 -1
  39. data/spec/lib/sinclair/options/builder_spec.rb +13 -0
  40. data/spec/lib/sinclair/options/class_methods_spec.rb +23 -8
  41. data/spec/lib/sinclair_spec.rb +6 -160
  42. data/spec/support/models/dummy_builder.rb +4 -1
  43. data/spec/support/models/dummy_class_builder.rb +3 -0
  44. data/spec/support/models/person.rb +1 -1
  45. data/spec/support/shared_examples/attribute_accessor.rb +103 -0
  46. data/spec/support/shared_examples/sinclair.rb +112 -0
  47. metadata +15 -2
@@ -6,7 +6,8 @@ describe Sinclair::MethodDefinitions do
6
6
  subject(:definitions) { described_class.new }
7
7
 
8
8
  describe '#add' do
9
- let(:name) { :the_method }
9
+ let(:name) { :the_method }
10
+ let(:klass) { Class.new }
10
11
 
11
12
  context 'when passing block' do
12
13
  it 'returns the resulting array' do
@@ -41,5 +42,82 @@ describe Sinclair::MethodDefinitions do
41
42
  .to be_a(Sinclair::MethodDefinition::StringDefinition)
42
43
  end
43
44
  end
45
+
46
+ context 'when there are no options nor block' do
47
+ let(:type) { :call }
48
+ let(:arguments) { %i[attr_reader some_attribute other_attribute] }
49
+
50
+ it do
51
+ expect(definitions.add(*arguments, type: type))
52
+ .to be_a(Array)
53
+ end
54
+
55
+ it 'creates a new definition' do
56
+ expect(definitions.add(*arguments, type: type).last)
57
+ .to be_a(Sinclair::MethodDefinition)
58
+ end
59
+
60
+ it 'creates a new definition of the chosen type' do
61
+ expect(definitions.add(*arguments, type: type).last)
62
+ .to be_a(Sinclair::MethodDefinition::CallDefinition)
63
+ end
64
+
65
+ it 'initializes it correctly' do
66
+ expect { klass.module_eval(&definitions.add(*arguments, type: type).last.code_block) }
67
+ .to add_method(:some_attribute).to(klass)
68
+ end
69
+ end
70
+
71
+ context 'when a block is given' do
72
+ let(:type) { :block }
73
+ let(:method_name) { :the_method }
74
+ let(:block) { proc { 10 } }
75
+
76
+ it do
77
+ expect(definitions.add(type, method_name, &block))
78
+ .to be_a(Array)
79
+ end
80
+
81
+ it 'creates a new definition' do
82
+ expect(definitions.add(type, method_name, &block).last)
83
+ .to be_a(Sinclair::MethodDefinition)
84
+ end
85
+
86
+ it 'creates a new definition of the chosen type' do
87
+ expect(definitions.add(type, method_name, &block).last)
88
+ .to be_a(Sinclair::MethodDefinition::BlockDefinition)
89
+ end
90
+
91
+ it 'initializes it correctly' do
92
+ expect(definitions.add(method_name, type: type, &block).last.name)
93
+ .to eq(method_name)
94
+ end
95
+ end
96
+
97
+ context 'when options are given' do
98
+ let(:type) { :string }
99
+ let(:method_name) { :the_method }
100
+ let(:code) { '10' }
101
+
102
+ it do
103
+ expect(definitions.add(method_name, code, type: type))
104
+ .to be_a(Array)
105
+ end
106
+
107
+ it 'creates a new definition' do
108
+ expect(definitions.add(method_name, code, type: type).last)
109
+ .to be_a(Sinclair::MethodDefinition)
110
+ end
111
+
112
+ it 'creates a new definition of the chosen type' do
113
+ expect(definitions.add(method_name, code, type: type).last)
114
+ .to be_a(Sinclair::MethodDefinition::StringDefinition)
115
+ end
116
+
117
+ it 'initializes it correctly' do
118
+ expect(definitions.add(method_name, code, type: type).last.name)
119
+ .to eq(method_name)
120
+ end
121
+ end
44
122
  end
45
123
  end
@@ -40,6 +40,19 @@ describe Sinclair::Options::Builder do
40
40
  .not_to change { Sinclair::Options.invalid_options_in(test_keys) }
41
41
  end
42
42
 
43
+ context 'when the object is compared with others' do
44
+ before { klass.skip_validation }
45
+
46
+ let(:options1) { klass.new(timeout: 10) }
47
+ let(:options2) { klass.new(timeout: 15) }
48
+
49
+ it 'adds the field to the equals check' do
50
+ expect { builder.build }
51
+ .to change { options1 == options2 }
52
+ .from(true).to(false)
53
+ end
54
+ end
55
+
43
56
  context 'when when calling method after building' do
44
57
  before { builder.build }
45
58
 
@@ -27,11 +27,26 @@ describe Sinclair::Options::ClassMethods do
27
27
  .to([:invalid])
28
28
  end
29
29
 
30
+ context 'when the added fild makes an object different' do
31
+ let(:options1_hash) { { timeout: 10 } }
32
+ let(:options2_hash) { { timeout: 11 } }
33
+
34
+ before do
35
+ klass.skip_validation
36
+ end
37
+
38
+ it 'adds the field to == check' do
39
+ expect { klass.send(:with_options, :timeout) }
40
+ .to change { klass.new(options1_hash) == klass.new(options2_hash) }
41
+ .from(true).to(false)
42
+ end
43
+ end
44
+
30
45
  it do
31
46
  expect { klass.send(:with_options, :timeout, 'retries') }
32
47
  .not_to change {
33
- Sinclair::Options.invalid_options_in(%i[timeout retries invalid])
34
- }
48
+ Sinclair::Options.invalid_options_in(%i[timeout retries invalid])
49
+ }
35
50
  end
36
51
 
37
52
  context 'when when calling method after building' do
@@ -46,8 +61,8 @@ describe Sinclair::Options::ClassMethods do
46
61
  it do
47
62
  expect { klass.send(:with_options, :timeout, :retries) }
48
63
  .not_to change {
49
- klass.invalid_options_in(%i[timeout retries invalid])
50
- }
64
+ klass.invalid_options_in(%i[timeout retries invalid])
65
+ }
51
66
  end
52
67
  end
53
68
  end
@@ -90,16 +105,16 @@ describe Sinclair::Options::ClassMethods do
90
105
  it do
91
106
  expect { klass.send(:with_options, 'protocol', port: 443) }
92
107
  .to change {
93
- klass.invalid_options_in(test_keys)
94
- }.from(%i[protocol port invalid])
108
+ klass.invalid_options_in(test_keys)
109
+ }.from(%i[protocol port invalid])
95
110
  .to([:invalid])
96
111
  end
97
112
 
98
113
  it do
99
114
  expect { klass.send(:with_options, 'protocol', port: 443) }
100
115
  .not_to change {
101
- super_class.invalid_options_in(%i[protocol port])
102
- }
116
+ super_class.invalid_options_in(%i[protocol port])
117
+ }
103
118
  end
104
119
 
105
120
  context 'when overriding a method' do
@@ -11,86 +11,15 @@ describe Sinclair do
11
11
  let(:builder_class) { described_class }
12
12
 
13
13
  describe '#add_method' do
14
- context 'when extending the class' do
15
- let(:builder_class) { described_class::DummyBuilder }
14
+ let(:object) { instance }
16
15
 
17
- before do
18
- builder.init
19
- builder.build
20
- end
21
-
22
- context 'when describing a method with block' do
23
- it 'creates a method with the block' do
24
- expect(instance.blocked).to eq(1)
25
- end
26
- end
27
-
28
- context 'when describing a method with string' do
29
- it 'creates a method using the string definition' do
30
- expect(instance.defined).to eq(1)
31
- expect(instance.defined).to eq(2)
32
- end
33
- end
34
-
35
- context 'when passing options' do
36
- let(:options) { { increment: 2 } }
37
-
38
- it 'parses the options' do
39
- expect(instance.defined).to eq(2)
40
- expect(instance.defined).to eq(4)
41
- end
42
- end
43
- end
44
-
45
- context 'when using the builder without extending' do
46
- context 'when declaring a method with a block' do
47
- before do
48
- builder.add_method(:blocked) { 1 }
49
- builder.add_method(:blocked) { 2 }
50
- builder.build
51
- end
52
-
53
- it 'respect the order of method addtion' do
54
- expect(instance.blocked).to eq(2)
55
- end
56
- end
57
-
58
- context 'when declaring a method string' do
59
- before do
60
- builder.add_method(:string, '1')
61
- builder.add_method(:string, '2')
62
- builder.build
63
- end
64
-
65
- it 'respect the order of method addtion' do
66
- expect(instance.string).to eq(2)
67
- end
68
- end
69
-
70
- context 'when declaring block and string' do
71
- before do
72
- builder.add_method(:value) { 1 }
73
- builder.add_method(:value, '2')
74
- builder.build
75
- end
76
-
77
- it 'respect the order of method addtion' do
78
- expect(instance.value).to eq(2)
79
- end
80
- end
16
+ it_behaves_like 'A sinclair builder', :instance
17
+ end
81
18
 
82
- context 'when declaring string and block' do
83
- before do
84
- builder.add_method(:value, '1')
85
- builder.add_method(:value) { 2 }
86
- builder.build
87
- end
19
+ describe '#add_class_method' do
20
+ let(:object) { dummy_class }
88
21
 
89
- it 'respect the order of method addtion' do
90
- expect(instance.value).to eq(2)
91
- end
92
- end
93
- end
22
+ it_behaves_like 'A sinclair builder', :class
94
23
  end
95
24
 
96
25
  describe '#eval_and_add_method' do
@@ -149,87 +78,4 @@ describe Sinclair do
149
78
  end
150
79
  end
151
80
  end
152
-
153
- describe '#add_class_method' do
154
- context 'when extending the class' do
155
- let(:builder_class) { described_class::DummyClassBuilder }
156
-
157
- before do
158
- builder.init
159
- builder.build
160
- end
161
-
162
- context 'when describing a method with block' do
163
- it 'creates a method with the block' do
164
- expect(dummy_class.blocked).to eq(1)
165
- end
166
- end
167
-
168
- context 'when describing a method with string' do
169
- it 'creates a method using the string definition' do
170
- expect(dummy_class.defined).to eq(1)
171
- expect(dummy_class.defined).to eq(2)
172
- end
173
- end
174
-
175
- context 'when passing options' do
176
- let(:options) { { increment: 2 } }
177
-
178
- it 'parses the options' do
179
- expect(dummy_class.defined).to eq(2)
180
- expect(dummy_class.defined).to eq(4)
181
- end
182
- end
183
- end
184
-
185
- context 'when using the builder without extending' do
186
- context 'when declaring a method with a block' do
187
- before do
188
- builder.add_class_method(:blocked) { 1 }
189
- builder.add_class_method(:blocked) { 2 }
190
- builder.build
191
- end
192
-
193
- it 'respect the order of method addtion' do
194
- expect(dummy_class.blocked).to eq(2)
195
- end
196
- end
197
-
198
- context 'when declaring a method string' do
199
- before do
200
- builder.add_class_method(:string, '1')
201
- builder.add_class_method(:string, '2')
202
- builder.build
203
- end
204
-
205
- it 'respect the order of method addtion' do
206
- expect(dummy_class.string).to eq(2)
207
- end
208
- end
209
-
210
- context 'when declaring block and string' do
211
- before do
212
- builder.add_class_method(:value) { 1 }
213
- builder.add_class_method(:value, '2')
214
- builder.build
215
- end
216
-
217
- it 'respect the order of method addtion' do
218
- expect(dummy_class.value).to eq(2)
219
- end
220
- end
221
-
222
- context 'when declaring string and block' do
223
- before do
224
- builder.add_class_method(:value, '1')
225
- builder.add_class_method(:value) { 2 }
226
- builder.build
227
- end
228
-
229
- it 'respect the order of method addtion' do
230
- expect(dummy_class.value).to eq(2)
231
- end
232
- end
233
- end
234
- end
235
81
  end
@@ -5,7 +5,10 @@ class Sinclair
5
5
  def init
6
6
  add_method(:blocked) { 1 }
7
7
  add_method(:defined, "@value = value + #{options_object&.increment || 1}")
8
- add_method(:value, '@value ||= 0')
8
+ add_method(:value, cached: true) { 0 }
9
+ add_method(:type_block, type: :block) { 3 }
10
+ add_method(:type_string, '10', type: :string)
11
+ add_method(:attr_accessor, :some_attribute, type: :call)
9
12
  end
10
13
  end
11
14
  end
@@ -6,6 +6,9 @@ class Sinclair
6
6
  add_class_method(:blocked) { 1 }
7
7
  add_class_method(:defined, "@value = value + #{options_object&.increment || 1}")
8
8
  add_class_method(:value, '@value ||= 0')
9
+ add_class_method(:type_block, type: :block) { 3 }
10
+ add_class_method(:type_string, '10', type: :string)
11
+ add_class_method(:attr_accessor, :some_attribute, type: :call)
9
12
  end
10
13
  end
11
14
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Person
4
- attr_reader :first_name, :last_name
4
+ attr_accessor :first_name, :last_name
5
5
 
6
6
  def initialize(first_name, last_name)
7
7
  @first_name = first_name
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ shared_examples 'a method builder that adds attribute reader' do
4
+ let(:klass) { Class.new }
5
+ let(:instance) { klass.new }
6
+ let(:value) { Random.rand(10..20) }
7
+ let(:method_name) { :the_method }
8
+ let(:attributes) { [method_name] }
9
+
10
+ context 'when type is instance' do
11
+ let(:type) { Sinclair::MethodBuilder::INSTANCE_METHOD }
12
+
13
+ it do
14
+ expect { builder.build }
15
+ .to add_method(method_name).to(instance)
16
+ end
17
+
18
+ context 'when the method is built' do
19
+ before do
20
+ builder.build
21
+ instance.instance_variable_set("@#{method_name}", value)
22
+ end
23
+
24
+ it 'returns the value of the instance variable' do
25
+ expect(instance.the_method).to eq(value)
26
+ end
27
+ end
28
+ end
29
+
30
+ context 'when type is class' do
31
+ let(:type) { Sinclair::MethodBuilder::CLASS_METHOD }
32
+
33
+ it do
34
+ expect { builder.build }
35
+ .to add_class_method(method_name).to(klass)
36
+ end
37
+
38
+ context 'when the method is built' do
39
+ before do
40
+ builder.build
41
+ klass.instance_variable_set("@#{method_name}", value)
42
+ end
43
+
44
+ it 'returns the value of the instance variable' do
45
+ expect(klass.the_method).to eq(value)
46
+ end
47
+ end
48
+ end
49
+ end
50
+
51
+ shared_examples 'a method builder that adds attribute writer' do
52
+ let(:klass) { Class.new }
53
+ let(:instance) { klass.new }
54
+ let(:value) { Random.rand }
55
+ let(:method_name) { :the_method }
56
+ let(:attributes) { [method_name] }
57
+
58
+ context 'when type is instance' do
59
+ let(:type) { Sinclair::MethodBuilder::INSTANCE_METHOD }
60
+
61
+ it do
62
+ expect { builder.build }
63
+ .to add_method("#{method_name}=").to(instance)
64
+ end
65
+
66
+ context 'when the method is built' do
67
+ let(:value) { Random.rand(10..20) }
68
+
69
+ before do
70
+ builder.build
71
+ end
72
+
73
+ it 'change the instance variable' do
74
+ expect { instance.the_method = value }
75
+ .to change { instance.instance_variable_get("@#{method_name}") }
76
+ .from(nil).to(value)
77
+ end
78
+ end
79
+ end
80
+
81
+ context 'when type is class' do
82
+ let(:type) { Sinclair::MethodBuilder::CLASS_METHOD }
83
+
84
+ it do
85
+ expect { builder.build }
86
+ .to add_class_method("#{method_name}=").to(klass)
87
+ end
88
+
89
+ context 'when the method is built' do
90
+ let(:value) { Random.rand(10..20) }
91
+
92
+ before do
93
+ builder.build
94
+ end
95
+
96
+ it 'change the instance variable' do
97
+ expect { klass.the_method = value }
98
+ .to change { klass.instance_variable_get("@#{method_name}") }
99
+ .from(nil).to(value)
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'A sinclair builder' do |type|
4
+ let(:method_name) do
5
+ type == :instance ? :add_method : :add_class_method
6
+ end
7
+
8
+ context 'when extending the builder' do
9
+ let(:builder_class) do
10
+ type == :instance ? described_class::DummyBuilder : described_class::DummyClassBuilder
11
+ end
12
+
13
+ before do
14
+ builder.init
15
+ builder.build
16
+ end
17
+
18
+ context 'when describing a method with block' do
19
+ it 'creates a method with the block' do
20
+ expect(object.blocked).to eq(1)
21
+ end
22
+ end
23
+
24
+ context 'when describing a method with string' do
25
+ it 'creates a method using the string definition' do
26
+ expect(object.defined).to eq(1)
27
+ expect(object.defined).to eq(2)
28
+ end
29
+ end
30
+
31
+ context 'when describing a method using a block specific type' do
32
+ it 'creates a method with the block' do
33
+ expect(object.type_block).to eq(3)
34
+ end
35
+ end
36
+
37
+ context 'when describing a method using a string specific type' do
38
+ it 'creates a method with the string' do
39
+ expect(object.type_string).to eq(10)
40
+ end
41
+ end
42
+
43
+ context 'when describing a method using a call specific type for attr_acessor' do
44
+ let(:value) { Random.rand }
45
+
46
+ it 'creates acessors' do
47
+ expect { object.some_attribute = value }
48
+ .to change(object, :some_attribute)
49
+ .from(nil).to(value)
50
+ end
51
+ end
52
+
53
+ context 'when passing options' do
54
+ let(:options) { { increment: 2 } }
55
+
56
+ it 'parses the options' do
57
+ expect(object.defined).to eq(2)
58
+ expect(object.defined).to eq(4)
59
+ end
60
+ end
61
+ end
62
+
63
+ context 'when adding methods to a regular builder' do
64
+ context 'when declaring a method with a block' do
65
+ before do
66
+ builder.public_send(method_name, :blocked) { 1 }
67
+ builder.public_send(method_name, :blocked) { 2 }
68
+ builder.build
69
+ end
70
+
71
+ it 'respect the order of method addtion' do
72
+ expect(object.blocked).to eq(2)
73
+ end
74
+ end
75
+
76
+ context 'when declaring a method string' do
77
+ before do
78
+ builder.public_send(method_name, :string, '1')
79
+ builder.public_send(method_name, :string, '2')
80
+ builder.build
81
+ end
82
+
83
+ it 'respect the order of method addtion' do
84
+ expect(object.string).to eq(2)
85
+ end
86
+ end
87
+
88
+ context 'when declaring block and string' do
89
+ before do
90
+ builder.public_send(method_name, :value) { 1 }
91
+ builder.public_send(method_name, :value, '2')
92
+ builder.build
93
+ end
94
+
95
+ it 'respect the order of method addtion' do
96
+ expect(object.value).to eq(2)
97
+ end
98
+ end
99
+
100
+ context 'when declaring string and block' do
101
+ before do
102
+ builder.public_send(method_name, :value, '1')
103
+ builder.public_send(method_name, :value) { 2 }
104
+ builder.build
105
+ end
106
+
107
+ it 'respect the order of method addtion' do
108
+ expect(object.value).to eq(2)
109
+ end
110
+ end
111
+ end
112
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinclair
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DarthJee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-12 00:00:00.000000000 Z
11
+ date: 2023-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -302,10 +302,12 @@ files:
302
302
  - lib/sinclair/method_builder.rb
303
303
  - lib/sinclair/method_builder/base.rb
304
304
  - lib/sinclair/method_builder/block_method_builder.rb
305
+ - lib/sinclair/method_builder/call_method_builder.rb
305
306
  - lib/sinclair/method_builder/string_method_builder.rb
306
307
  - lib/sinclair/method_definition.rb
307
308
  - lib/sinclair/method_definition/block_definition.rb
308
309
  - lib/sinclair/method_definition/block_helper.rb
310
+ - lib/sinclair/method_definition/call_definition.rb
309
311
  - lib/sinclair/method_definition/string_definition.rb
310
312
  - lib/sinclair/method_definitions.rb
311
313
  - lib/sinclair/options.rb
@@ -322,8 +324,11 @@ files:
322
324
  - spec/integration/readme/sinclair/env_settable_spec.rb
323
325
  - spec/integration/readme/sinclair/matchers_spec.rb
324
326
  - spec/integration/readme/sinclair/options_spec.rb
327
+ - spec/integration/readme/sinclair/types_of_definition_spec.rb
325
328
  - spec/integration/readme/sinclair_spec.rb
326
329
  - spec/integration/yard/my_builder_spec.rb
330
+ - spec/integration/yard/sinclair/add_class_method_spec.rb
331
+ - spec/integration/yard/sinclair/add_method_spec.rb
327
332
  - spec/integration/yard/sinclair/comparable_spec.rb
328
333
  - spec/integration/yard/sinclair/config_builder_spec.rb
329
334
  - spec/integration/yard/sinclair/config_class_spec.rb
@@ -332,11 +337,14 @@ files:
332
337
  - spec/integration/yard/sinclair/configurable_spec.rb
333
338
  - spec/integration/yard/sinclair/env_settable_spec.rb
334
339
  - spec/integration/yard/sinclair/equals_checker_spec.rb
340
+ - spec/integration/yard/sinclair/eval_and_add_method_spec.rb
335
341
  - spec/integration/yard/sinclair/input_hash_spec.rb
336
342
  - spec/integration/yard/sinclair/matchers/add_class_method_spec.rb
337
343
  - spec/integration/yard/sinclair/matchers/add_class_method_to_spec.rb
338
344
  - spec/integration/yard/sinclair/matchers/add_instance_method_spec.rb
339
345
  - spec/integration/yard/sinclair/matchers/add_instance_method_to_spec.rb
346
+ - spec/integration/yard/sinclair/matchers/change_class_method_spec.rb
347
+ - spec/integration/yard/sinclair/matchers/change_instance_method_spec.rb
340
348
  - spec/integration/yard/sinclair/options_parser_spec.rb
341
349
  - spec/integration/yard/sinclair/options_spec.rb
342
350
  - spec/integration/yard/sinclair_spec.rb
@@ -361,11 +369,14 @@ files:
361
369
  - spec/lib/sinclair/matchers/change_instance_method_on_spec.rb
362
370
  - spec/lib/sinclair/matchers/change_instance_method_spec.rb
363
371
  - spec/lib/sinclair/matchers_spec.rb
372
+ - spec/lib/sinclair/method_builder/base_spec.rb
364
373
  - spec/lib/sinclair/method_builder/block_method_builder_spec.rb
374
+ - spec/lib/sinclair/method_builder/call_method_builder_spec.rb
365
375
  - spec/lib/sinclair/method_builder/string_method_builder_spec.rb
366
376
  - spec/lib/sinclair/method_builder_spec.rb
367
377
  - spec/lib/sinclair/method_definition/block_definition_spec.rb
368
378
  - spec/lib/sinclair/method_definition/block_helper_spec.rb
379
+ - spec/lib/sinclair/method_definition/call_definition_spec.rb
369
380
  - spec/lib/sinclair/method_definition/string_definition_spec.rb
370
381
  - spec/lib/sinclair/method_definition_spec.rb
371
382
  - spec/lib/sinclair/method_definitions_spec.rb
@@ -413,11 +424,13 @@ files:
413
424
  - spec/support/models/service_client.rb
414
425
  - spec/support/models/validator_builder.rb
415
426
  - spec/support/sample_model.rb
427
+ - spec/support/shared_examples/attribute_accessor.rb
416
428
  - spec/support/shared_examples/class_method_definition.rb
417
429
  - spec/support/shared_examples/config.rb
418
430
  - spec/support/shared_examples/config_factory.rb
419
431
  - spec/support/shared_examples/env_settable.rb
420
432
  - spec/support/shared_examples/instance_method_definition.rb
433
+ - spec/support/shared_examples/sinclair.rb
421
434
  homepage: https://github.com/darthjee/sinclair
422
435
  licenses: []
423
436
  metadata: {}