active_interaction 0.10.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -1
  3. data/README.md +32 -35
  4. data/lib/active_interaction.rb +14 -6
  5. data/lib/active_interaction/base.rb +155 -135
  6. data/lib/active_interaction/concerns/active_modelable.rb +46 -0
  7. data/lib/active_interaction/{modules/overload_hash.rb → concerns/hashable.rb} +5 -1
  8. data/lib/active_interaction/concerns/missable.rb +47 -0
  9. data/lib/active_interaction/concerns/runnable.rb +156 -0
  10. data/lib/active_interaction/errors.rb +50 -14
  11. data/lib/active_interaction/filter.rb +33 -45
  12. data/lib/active_interaction/filters/abstract_date_time_filter.rb +24 -15
  13. data/lib/active_interaction/filters/abstract_filter.rb +18 -0
  14. data/lib/active_interaction/filters/abstract_numeric_filter.rb +13 -8
  15. data/lib/active_interaction/filters/array_filter.rb +42 -35
  16. data/lib/active_interaction/filters/boolean_filter.rb +8 -11
  17. data/lib/active_interaction/filters/date_filter.rb +11 -15
  18. data/lib/active_interaction/filters/date_time_filter.rb +11 -15
  19. data/lib/active_interaction/filters/file_filter.rb +11 -11
  20. data/lib/active_interaction/filters/float_filter.rb +7 -15
  21. data/lib/active_interaction/filters/hash_filter.rb +18 -24
  22. data/lib/active_interaction/filters/integer_filter.rb +7 -14
  23. data/lib/active_interaction/filters/model_filter.rb +13 -14
  24. data/lib/active_interaction/filters/string_filter.rb +11 -14
  25. data/lib/active_interaction/filters/symbol_filter.rb +6 -9
  26. data/lib/active_interaction/filters/time_filter.rb +13 -16
  27. data/lib/active_interaction/modules/validation.rb +9 -4
  28. data/lib/active_interaction/version.rb +5 -2
  29. data/spec/active_interaction/base_spec.rb +109 -4
  30. data/spec/active_interaction/{modules/active_model_spec.rb → concerns/active_modelable_spec.rb} +15 -3
  31. data/spec/active_interaction/{modules/overload_hash_spec.rb → concerns/hashable_spec.rb} +2 -3
  32. data/spec/active_interaction/{modules/method_missing_spec.rb → concerns/missable_spec.rb} +38 -3
  33. data/spec/active_interaction/concerns/runnable_spec.rb +192 -0
  34. data/spec/active_interaction/filters/abstract_filter_spec.rb +8 -0
  35. data/spec/active_interaction/filters/abstract_numeric_filter_spec.rb +1 -1
  36. data/spec/active_interaction/modules/validation_spec.rb +2 -2
  37. data/spec/support/concerns.rb +15 -0
  38. data/spec/support/filters.rb +5 -5
  39. data/spec/support/interactions.rb +6 -5
  40. metadata +47 -73
  41. data/lib/active_interaction/filters.rb +0 -28
  42. data/lib/active_interaction/modules/active_model.rb +0 -32
  43. data/lib/active_interaction/modules/core.rb +0 -70
  44. data/lib/active_interaction/modules/method_missing.rb +0 -20
  45. data/spec/active_interaction/filters_spec.rb +0 -23
  46. data/spec/active_interaction/modules/core_spec.rb +0 -114
@@ -0,0 +1,192 @@
1
+ # coding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveRecord::Base do
6
+ describe '.transaction' do
7
+ it 'raises an error' do
8
+ expect { described_class.transaction }.to raise_error LocalJumpError
9
+ end
10
+
11
+ context 'with a block' do
12
+ it 'yields to the block' do
13
+ expect { |b| described_class.transaction(&b) }.to yield_with_no_args
14
+ end
15
+
16
+ it 'accepts an argument' do
17
+ expect { described_class.transaction(nil) {} }.to_not raise_error
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ describe ActiveInteraction::Runnable do
24
+ include_context 'concerns', ActiveInteraction::Runnable
25
+
26
+ shared_context 'with an error' do
27
+ before { instance.errors.add(:base) }
28
+ end
29
+
30
+ shared_context 'with a validator' do
31
+ before { klass.validate { errors.add(:base) } }
32
+ end
33
+
34
+ shared_context 'with #execute defined' do
35
+ before { klass.send(:define_method, :execute) { rand } }
36
+ end
37
+
38
+ context 'validations' do
39
+ describe '#runtime_errors' do
40
+ include_context 'with an error'
41
+
42
+ it 'is invalid' do
43
+ instance.result = nil
44
+ expect(instance).to_not be_valid
45
+ end
46
+
47
+ it 'becomes valid if errors are cleared' do
48
+ instance.result = nil
49
+ instance.errors.clear
50
+ instance.result = nil
51
+ expect(instance).to be_valid
52
+ end
53
+ end
54
+ end
55
+
56
+ describe '#errors' do
57
+ it 'returns the errors' do
58
+ expect(instance.errors).to be_an ActiveInteraction::Errors
59
+ end
60
+ end
61
+
62
+ describe '#execute' do
63
+ it 'raises an error' do
64
+ expect { instance.execute }.to raise_error NotImplementedError
65
+ end
66
+ end
67
+
68
+ describe '#result' do
69
+ it 'returns the result' do
70
+ expect(instance.result).to be_nil
71
+ end
72
+ end
73
+
74
+ describe '#result=' do
75
+ let(:result) { double }
76
+
77
+ it 'returns the result' do
78
+ expect(instance.result = result).to eq result
79
+ end
80
+
81
+ it 'sets the result' do
82
+ instance.result = result
83
+ expect(instance.result).to eq result
84
+ end
85
+
86
+ context 'with an error' do
87
+ include_context 'with an error'
88
+
89
+ it 'does not set the result' do
90
+ instance.result = result
91
+ expect(instance.result).to be_nil
92
+ end
93
+ end
94
+
95
+ context 'with a validator' do
96
+ include_context 'with a validator'
97
+
98
+ it 'sets the result' do
99
+ instance.result = result
100
+ expect(instance.result).to eq result
101
+ end
102
+ end
103
+ end
104
+
105
+ describe '#valid?' do
106
+ let(:result) { double }
107
+
108
+ it 'returns true' do
109
+ expect(instance).to be_valid
110
+ end
111
+
112
+ context 'with an error' do
113
+ include_context 'with an error'
114
+
115
+ it 'returns true' do
116
+ expect(instance).to be_valid
117
+ end
118
+ end
119
+
120
+ context 'with a validator' do
121
+ include_context 'with a validator'
122
+
123
+ it 'returns false' do
124
+ expect(instance).to_not be_valid
125
+ end
126
+
127
+ it 'sets the result to nil' do
128
+ instance.result = result
129
+ instance.valid?
130
+ expect(instance.result).to be_nil
131
+ end
132
+ end
133
+ end
134
+
135
+ describe '.run' do
136
+ let(:outcome) { klass.run }
137
+
138
+ it 'raises an error' do
139
+ expect { outcome }.to raise_error NotImplementedError
140
+ end
141
+
142
+ context 'with #execute defined' do
143
+ include_context 'with #execute defined'
144
+
145
+ it 'returns an instance of Runnable' do
146
+ expect(outcome).to be_a klass
147
+ end
148
+
149
+ it 'sets the result' do
150
+ expect(outcome.result).to_not be_nil
151
+ end
152
+
153
+ context 'with a validator' do
154
+ include_context 'with a validator'
155
+
156
+ it 'returns an instance of Runnable' do
157
+ expect(outcome).to be_a klass
158
+ end
159
+
160
+ it 'sets the result to nil' do
161
+ expect(outcome.result).to be_nil
162
+ end
163
+ end
164
+ end
165
+ end
166
+
167
+ describe '.run!' do
168
+ let(:result) { klass.run! }
169
+
170
+ it 'raises an error' do
171
+ expect { result }.to raise_error NotImplementedError
172
+ end
173
+
174
+ context 'with #execute defined' do
175
+ include_context 'with #execute defined'
176
+
177
+ it 'returns the result' do
178
+ expect(result).to_not be_nil
179
+ end
180
+
181
+ context 'with a validator' do
182
+ include_context 'with a validator'
183
+
184
+ it 'raises an error' do
185
+ expect do
186
+ result
187
+ end.to raise_error ActiveInteraction::InvalidInteractionError
188
+ end
189
+ end
190
+ end
191
+ end
192
+ end
@@ -0,0 +1,8 @@
1
+ # coding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveInteraction::AbstractFilter, :filter do
6
+ # Since the only method this class defines is private, there's nothing to
7
+ # test here.
8
+ end
@@ -9,7 +9,7 @@ describe ActiveInteraction::AbstractNumericFilter, :filter do
9
9
  let(:value) { nil }
10
10
 
11
11
  it 'raises an error' do
12
- expect { filter.cast(value) }.to raise_error NotImplementedError
12
+ expect { filter.cast(value) }.to raise_error NameError
13
13
  end
14
14
  end
15
15
  end
@@ -6,11 +6,11 @@ describe ActiveInteraction::Validation do
6
6
  describe '.validate(filters, inputs)' do
7
7
  let(:inputs) { {} }
8
8
  let(:filter) { ActiveInteraction::Filter.new(:name, {}) }
9
- let(:filters) { ActiveInteraction::Filters.new.add(filter) }
9
+ let(:filters) { { filter.name => filter } }
10
10
  let(:result) { described_class.validate(filters, inputs) }
11
11
 
12
12
  context 'no filters are given' do
13
- let(:filters) { ActiveInteraction::Filters.new }
13
+ let(:filters) { {} }
14
14
 
15
15
  it 'returns no errors' do
16
16
  expect(result).to eq []
@@ -0,0 +1,15 @@
1
+ # coding: utf-8
2
+
3
+ shared_context 'concerns' do |concern|
4
+ let(:klass) do
5
+ Class.new do
6
+ include concern
7
+
8
+ def self.name
9
+ SecureRandom.hex
10
+ end
11
+ end
12
+ end
13
+
14
+ subject(:instance) { klass.new }
15
+ end
@@ -174,17 +174,17 @@ shared_examples_for 'a filter' do
174
174
  end
175
175
 
176
176
  describe '#filters' do
177
- it 'returns Filters' do
178
- expect(filter.filters).to be_an ActiveInteraction::Filters
177
+ it 'returns Hash' do
178
+ expect(filter.filters).to be_a Hash
179
179
  end
180
180
  end
181
181
 
182
- describe '#has_default?' do
182
+ describe '#default?' do
183
183
  context 'optional' do
184
184
  include_context 'optional'
185
185
 
186
186
  it 'returns true' do
187
- expect(filter).to have_default
187
+ expect(filter).to be_default
188
188
  end
189
189
  end
190
190
 
@@ -192,7 +192,7 @@ shared_examples_for 'a filter' do
192
192
  include_context 'required'
193
193
 
194
194
  it 'returns false' do
195
- expect(filter).to_not have_default
195
+ expect(filter).to_not be_default
196
196
  end
197
197
  end
198
198
  end
@@ -21,11 +21,12 @@ shared_examples_for 'an interaction' do |type, generator, filter_options = {}|
21
21
 
22
22
  let(:described_class) do
23
23
  Class.new(TestInteraction) do
24
- send(type, :required, filter_options)
25
- send(type, :optional, filter_options.merge(default: nil))
26
- send(type, :default, filter_options.merge(default: generator.call))
27
- send(type, :defaults_1, :defaults_2,
28
- filter_options.merge(default: generator.call))
24
+ public_send(type, :required, filter_options)
25
+ public_send(type, :optional, filter_options.merge(default: nil))
26
+ public_send(type, :default,
27
+ filter_options.merge(default: generator.call))
28
+ public_send(type, :defaults_1, :defaults_2,
29
+ filter_options.merge(default: generator.call))
29
30
  end
30
31
  end
31
32
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_interaction
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Lasseigne
@@ -9,152 +9,124 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-02 00:00:00.000000000 Z
12
+ date: 2014-01-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '3'
21
- - - <
21
+ - - "<"
22
22
  - !ruby/object:Gem::Version
23
23
  version: '5'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  version: '3'
31
- - - <
31
+ - - "<"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '5'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: bundler
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.5'
41
41
  type: :development
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.5'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: coveralls
50
50
  requirement: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.7'
55
55
  type: :development
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.7'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: guard-rspec
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '4.2'
69
69
  type: :development
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '4.2'
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: rake
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '10.1'
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '10.1'
90
- - !ruby/object:Gem::Dependency
91
- name: rb-fsevent
92
- requirement: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ~>
95
- - !ruby/object:Gem::Version
96
- version: '0.9'
97
- type: :development
98
- prerelease: false
99
- version_requirements: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ~>
102
- - !ruby/object:Gem::Version
103
- version: '0.9'
104
90
  - !ruby/object:Gem::Dependency
105
91
  name: rdoc
106
92
  requirement: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ~>
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
96
  version: '4.1'
111
97
  type: :development
112
98
  prerelease: false
113
99
  version_requirements: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - ~>
101
+ - - "~>"
116
102
  - !ruby/object:Gem::Version
117
103
  version: '4.1'
118
104
  - !ruby/object:Gem::Dependency
119
- name: rspec
120
- requirement: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ~>
123
- - !ruby/object:Gem::Version
124
- version: '2.14'
125
- type: :development
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ~>
130
- - !ruby/object:Gem::Version
131
- version: '2.14'
132
- - !ruby/object:Gem::Dependency
133
- name: rubocop
105
+ name: guard-rubocop
134
106
  requirement: !ruby/object:Gem::Requirement
135
107
  requirements:
136
- - - ~>
108
+ - - "~>"
137
109
  - !ruby/object:Gem::Version
138
- version: '0.16'
110
+ version: '1.0'
139
111
  type: :development
140
112
  prerelease: false
141
113
  version_requirements: !ruby/object:Gem::Requirement
142
114
  requirements:
143
- - - ~>
115
+ - - "~>"
144
116
  - !ruby/object:Gem::Version
145
- version: '0.16'
117
+ version: '1.0'
146
118
  - !ruby/object:Gem::Dependency
147
119
  name: yard
148
120
  requirement: !ruby/object:Gem::Requirement
149
121
  requirements:
150
- - - ~>
122
+ - - "~>"
151
123
  - !ruby/object:Gem::Version
152
124
  version: '0.8'
153
125
  type: :development
154
126
  prerelease: false
155
127
  version_requirements: !ruby/object:Gem::Requirement
156
128
  requirements:
157
- - - ~>
129
+ - - "~>"
158
130
  - !ruby/object:Gem::Version
159
131
  version: '0.8'
160
132
  description: Manage application specific business logic.
@@ -165,15 +137,15 @@ executables: []
165
137
  extensions: []
166
138
  extra_rdoc_files: []
167
139
  files:
168
- - CHANGELOG.md
169
- - LICENSE.txt
170
- - README.md
171
- - lib/active_interaction.rb
172
140
  - lib/active_interaction/base.rb
141
+ - lib/active_interaction/concerns/active_modelable.rb
142
+ - lib/active_interaction/concerns/hashable.rb
143
+ - lib/active_interaction/concerns/missable.rb
144
+ - lib/active_interaction/concerns/runnable.rb
173
145
  - lib/active_interaction/errors.rb
174
146
  - lib/active_interaction/filter.rb
175
- - lib/active_interaction/filters.rb
176
147
  - lib/active_interaction/filters/abstract_date_time_filter.rb
148
+ - lib/active_interaction/filters/abstract_filter.rb
177
149
  - lib/active_interaction/filters/abstract_numeric_filter.rb
178
150
  - lib/active_interaction/filters/array_filter.rb
179
151
  - lib/active_interaction/filters/boolean_filter.rb
@@ -187,16 +159,18 @@ files:
187
159
  - lib/active_interaction/filters/string_filter.rb
188
160
  - lib/active_interaction/filters/symbol_filter.rb
189
161
  - lib/active_interaction/filters/time_filter.rb
190
- - lib/active_interaction/modules/active_model.rb
191
- - lib/active_interaction/modules/core.rb
192
- - lib/active_interaction/modules/method_missing.rb
193
- - lib/active_interaction/modules/overload_hash.rb
194
162
  - lib/active_interaction/modules/validation.rb
195
163
  - lib/active_interaction/version.rb
164
+ - lib/active_interaction.rb
196
165
  - spec/active_interaction/base_spec.rb
166
+ - spec/active_interaction/concerns/active_modelable_spec.rb
167
+ - spec/active_interaction/concerns/hashable_spec.rb
168
+ - spec/active_interaction/concerns/missable_spec.rb
169
+ - spec/active_interaction/concerns/runnable_spec.rb
197
170
  - spec/active_interaction/errors_spec.rb
198
171
  - spec/active_interaction/filter_spec.rb
199
172
  - spec/active_interaction/filters/abstract_date_time_filter_spec.rb
173
+ - spec/active_interaction/filters/abstract_filter_spec.rb
200
174
  - spec/active_interaction/filters/abstract_numeric_filter_spec.rb
201
175
  - spec/active_interaction/filters/array_filter_spec.rb
202
176
  - spec/active_interaction/filters/boolean_filter_spec.rb
@@ -210,7 +184,6 @@ files:
210
184
  - spec/active_interaction/filters/string_filter_spec.rb
211
185
  - spec/active_interaction/filters/symbol_filter_spec.rb
212
186
  - spec/active_interaction/filters/time_filter_spec.rb
213
- - spec/active_interaction/filters_spec.rb
214
187
  - spec/active_interaction/i18n_spec.rb
215
188
  - spec/active_interaction/integration/array_interaction_spec.rb
216
189
  - spec/active_interaction/integration/boolean_interaction_spec.rb
@@ -224,14 +197,14 @@ files:
224
197
  - spec/active_interaction/integration/string_interaction_spec.rb
225
198
  - spec/active_interaction/integration/symbol_interaction_spec.rb
226
199
  - spec/active_interaction/integration/time_interaction_spec.rb
227
- - spec/active_interaction/modules/active_model_spec.rb
228
- - spec/active_interaction/modules/core_spec.rb
229
- - spec/active_interaction/modules/method_missing_spec.rb
230
- - spec/active_interaction/modules/overload_hash_spec.rb
231
200
  - spec/active_interaction/modules/validation_spec.rb
232
201
  - spec/spec_helper.rb
202
+ - spec/support/concerns.rb
233
203
  - spec/support/filters.rb
234
204
  - spec/support/interactions.rb
205
+ - CHANGELOG.md
206
+ - LICENSE.txt
207
+ - README.md
235
208
  homepage: http://orgsync.github.io/active_interaction/
236
209
  licenses:
237
210
  - MIT
@@ -242,25 +215,30 @@ require_paths:
242
215
  - lib
243
216
  required_ruby_version: !ruby/object:Gem::Requirement
244
217
  requirements:
245
- - - '>='
218
+ - - ">="
246
219
  - !ruby/object:Gem::Version
247
220
  version: 1.9.3
248
221
  required_rubygems_version: !ruby/object:Gem::Requirement
249
222
  requirements:
250
- - - '>='
223
+ - - ">="
251
224
  - !ruby/object:Gem::Version
252
225
  version: '0'
253
226
  requirements: []
254
227
  rubyforge_project:
255
- rubygems_version: 2.2.0
228
+ rubygems_version: 2.1.11
256
229
  signing_key:
257
230
  specification_version: 4
258
231
  summary: Manage application specific business logic.
259
232
  test_files:
260
233
  - spec/active_interaction/base_spec.rb
234
+ - spec/active_interaction/concerns/active_modelable_spec.rb
235
+ - spec/active_interaction/concerns/hashable_spec.rb
236
+ - spec/active_interaction/concerns/missable_spec.rb
237
+ - spec/active_interaction/concerns/runnable_spec.rb
261
238
  - spec/active_interaction/errors_spec.rb
262
239
  - spec/active_interaction/filter_spec.rb
263
240
  - spec/active_interaction/filters/abstract_date_time_filter_spec.rb
241
+ - spec/active_interaction/filters/abstract_filter_spec.rb
264
242
  - spec/active_interaction/filters/abstract_numeric_filter_spec.rb
265
243
  - spec/active_interaction/filters/array_filter_spec.rb
266
244
  - spec/active_interaction/filters/boolean_filter_spec.rb
@@ -274,7 +252,6 @@ test_files:
274
252
  - spec/active_interaction/filters/string_filter_spec.rb
275
253
  - spec/active_interaction/filters/symbol_filter_spec.rb
276
254
  - spec/active_interaction/filters/time_filter_spec.rb
277
- - spec/active_interaction/filters_spec.rb
278
255
  - spec/active_interaction/i18n_spec.rb
279
256
  - spec/active_interaction/integration/array_interaction_spec.rb
280
257
  - spec/active_interaction/integration/boolean_interaction_spec.rb
@@ -288,12 +265,9 @@ test_files:
288
265
  - spec/active_interaction/integration/string_interaction_spec.rb
289
266
  - spec/active_interaction/integration/symbol_interaction_spec.rb
290
267
  - spec/active_interaction/integration/time_interaction_spec.rb
291
- - spec/active_interaction/modules/active_model_spec.rb
292
- - spec/active_interaction/modules/core_spec.rb
293
- - spec/active_interaction/modules/method_missing_spec.rb
294
- - spec/active_interaction/modules/overload_hash_spec.rb
295
268
  - spec/active_interaction/modules/validation_spec.rb
296
269
  - spec/spec_helper.rb
270
+ - spec/support/concerns.rb
297
271
  - spec/support/filters.rb
298
272
  - spec/support/interactions.rb
299
273
  has_rdoc: