active_interaction 3.7.1 → 4.0.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +190 -0
  3. data/CONTRIBUTING.md +1 -1
  4. data/README.md +96 -90
  5. data/lib/active_interaction.rb +1 -7
  6. data/lib/active_interaction/base.rb +48 -33
  7. data/lib/active_interaction/concerns/active_modelable.rb +1 -3
  8. data/lib/active_interaction/concerns/active_recordable.rb +1 -6
  9. data/lib/active_interaction/concerns/hashable.rb +0 -1
  10. data/lib/active_interaction/concerns/missable.rb +0 -1
  11. data/lib/active_interaction/concerns/runnable.rb +16 -28
  12. data/lib/active_interaction/errors.rb +8 -7
  13. data/lib/active_interaction/filter.rb +51 -37
  14. data/lib/active_interaction/filter_column.rb +0 -3
  15. data/lib/active_interaction/filters/abstract_date_time_filter.rb +34 -36
  16. data/lib/active_interaction/filters/abstract_numeric_filter.rb +27 -17
  17. data/lib/active_interaction/filters/array_filter.rb +57 -36
  18. data/lib/active_interaction/filters/boolean_filter.rb +26 -12
  19. data/lib/active_interaction/filters/date_filter.rb +1 -2
  20. data/lib/active_interaction/filters/date_time_filter.rb +1 -2
  21. data/lib/active_interaction/filters/decimal_filter.rb +10 -28
  22. data/lib/active_interaction/filters/file_filter.rb +6 -5
  23. data/lib/active_interaction/filters/float_filter.rb +1 -2
  24. data/lib/active_interaction/filters/hash_filter.rb +37 -27
  25. data/lib/active_interaction/filters/integer_filter.rb +7 -8
  26. data/lib/active_interaction/filters/interface_filter.rb +48 -14
  27. data/lib/active_interaction/filters/object_filter.rb +23 -50
  28. data/lib/active_interaction/filters/record_filter.rb +10 -35
  29. data/lib/active_interaction/filters/string_filter.rb +21 -12
  30. data/lib/active_interaction/filters/symbol_filter.rb +13 -7
  31. data/lib/active_interaction/filters/time_filter.rb +19 -22
  32. data/lib/active_interaction/grouped_input.rb +0 -3
  33. data/lib/active_interaction/inputs.rb +89 -0
  34. data/lib/active_interaction/locale/ja.yml +24 -0
  35. data/lib/active_interaction/modules/input_processor.rb +9 -6
  36. data/lib/active_interaction/modules/validation.rb +9 -12
  37. data/lib/active_interaction/version.rb +1 -3
  38. data/spec/active_interaction/base_spec.rb +95 -35
  39. data/spec/active_interaction/concerns/active_modelable_spec.rb +0 -2
  40. data/spec/active_interaction/concerns/active_recordable_spec.rb +0 -2
  41. data/spec/active_interaction/concerns/hashable_spec.rb +1 -3
  42. data/spec/active_interaction/concerns/missable_spec.rb +0 -2
  43. data/spec/active_interaction/concerns/runnable_spec.rb +32 -12
  44. data/spec/active_interaction/errors_spec.rb +49 -22
  45. data/spec/active_interaction/filter_column_spec.rb +0 -2
  46. data/spec/active_interaction/filter_spec.rb +0 -2
  47. data/spec/active_interaction/filters/abstract_date_time_filter_spec.rb +1 -3
  48. data/spec/active_interaction/filters/abstract_numeric_filter_spec.rb +1 -3
  49. data/spec/active_interaction/filters/array_filter_spec.rb +41 -15
  50. data/spec/active_interaction/filters/boolean_filter_spec.rb +58 -4
  51. data/spec/active_interaction/filters/date_filter_spec.rb +43 -3
  52. data/spec/active_interaction/filters/date_time_filter_spec.rb +43 -3
  53. data/spec/active_interaction/filters/decimal_filter_spec.rb +57 -3
  54. data/spec/active_interaction/filters/file_filter_spec.rb +1 -3
  55. data/spec/active_interaction/filters/float_filter_spec.rb +60 -4
  56. data/spec/active_interaction/filters/hash_filter_spec.rb +19 -9
  57. data/spec/active_interaction/filters/integer_filter_spec.rb +49 -7
  58. data/spec/active_interaction/filters/interface_filter_spec.rb +397 -24
  59. data/spec/active_interaction/filters/object_filter_spec.rb +23 -59
  60. data/spec/active_interaction/filters/record_filter_spec.rb +23 -49
  61. data/spec/active_interaction/filters/string_filter_spec.rb +15 -3
  62. data/spec/active_interaction/filters/symbol_filter_spec.rb +15 -3
  63. data/spec/active_interaction/filters/time_filter_spec.rb +65 -3
  64. data/spec/active_interaction/grouped_input_spec.rb +0 -2
  65. data/spec/active_interaction/i18n_spec.rb +3 -7
  66. data/spec/active_interaction/{modules/input_processor_spec.rb → inputs_spec.rb} +5 -5
  67. data/spec/active_interaction/integration/array_interaction_spec.rb +23 -12
  68. data/spec/active_interaction/integration/boolean_interaction_spec.rb +0 -2
  69. data/spec/active_interaction/integration/date_interaction_spec.rb +0 -2
  70. data/spec/active_interaction/integration/date_time_interaction_spec.rb +0 -2
  71. data/spec/active_interaction/integration/file_interaction_spec.rb +0 -2
  72. data/spec/active_interaction/integration/float_interaction_spec.rb +0 -2
  73. data/spec/active_interaction/integration/hash_interaction_spec.rb +0 -2
  74. data/spec/active_interaction/integration/integer_interaction_spec.rb +0 -2
  75. data/spec/active_interaction/integration/interface_interaction_spec.rb +1 -3
  76. data/spec/active_interaction/integration/object_interaction_spec.rb +0 -2
  77. data/spec/active_interaction/integration/string_interaction_spec.rb +0 -2
  78. data/spec/active_interaction/integration/symbol_interaction_spec.rb +0 -2
  79. data/spec/active_interaction/integration/time_interaction_spec.rb +14 -18
  80. data/spec/active_interaction/modules/validation_spec.rb +1 -3
  81. data/spec/spec_helper.rb +2 -6
  82. data/spec/support/concerns.rb +0 -2
  83. data/spec/support/filters.rb +13 -9
  84. data/spec/support/interactions.rb +22 -14
  85. metadata +106 -52
  86. data/lib/active_interaction/backports.rb +0 -59
  87. data/lib/active_interaction/filters/abstract_filter.rb +0 -19
  88. data/spec/active_interaction/filters/abstract_filter_spec.rb +0 -8
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  ObjectInteraction = Class.new(TestInteraction) do
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe 'StringInteraction' do
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe 'SymbolInteraction' do
@@ -1,19 +1,5 @@
1
- # coding: utf-8
2
-
3
1
  require 'spec_helper'
4
2
 
5
- TimeZone = Class.new do
6
- def self.at(*args)
7
- TimeWithZone.new(Time.at(*args))
8
- end
9
-
10
- def self.parse(*args)
11
- TimeWithZone.new(Time.parse(*args))
12
- rescue ArgumentError
13
- nil
14
- end
15
- end
16
-
17
3
  TimeWithZone = Class.new do
18
4
  attr_reader :time
19
5
 
@@ -22,7 +8,17 @@ TimeWithZone = Class.new do
22
8
  end
23
9
 
24
10
  def ==(other)
25
- time == other.time
11
+ !other.nil? && time == other.time
12
+ end
13
+
14
+ def at(*args)
15
+ Time.at(*args)
16
+ end
17
+
18
+ def parse(*args)
19
+ Time.parse(*args)
20
+ rescue ArgumentError
21
+ nil
26
22
  end
27
23
  end
28
24
 
@@ -40,14 +36,14 @@ describe TimeInteraction do
40
36
  before do
41
37
  inputs[:a] = a
42
38
 
43
- allow(Time).to receive(:zone).and_return(TimeZone)
39
+ allow(Time).to receive(:zone).and_return(TimeWithZone.new(0))
44
40
  end
45
41
 
46
42
  context 'with an integer' do
47
43
  let(:a) { rand(1 << 16) }
48
44
 
49
45
  it 'returns the correct value' do
50
- expect(result[:a]).to eq TimeZone.at(a)
46
+ expect(result[:a]).to eq Time.zone.at(a)
51
47
  end
52
48
  end
53
49
 
@@ -55,7 +51,7 @@ describe TimeInteraction do
55
51
  let(:a) { '2011-12-13T14:15:16Z' }
56
52
 
57
53
  it 'returns the correct value' do
58
- expect(result[:a]).to eq TimeZone.parse(a)
54
+ expect(result[:a]).to eq Time.zone.parse(a)
59
55
  end
60
56
  end
61
57
 
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  require 'spec_helper'
4
2
 
5
3
  describe ActiveInteraction::Validation do
@@ -50,7 +48,7 @@ describe ActiveInteraction::Validation do
50
48
  "#{ActiveInteraction::Base.i18n_scope}.types.#{filter.class.slug}"
51
49
  )
52
50
 
53
- expect(result).to eql [[filter.name, :invalid_type, type: type]]
51
+ expect(result).to eql [[filter.name, :invalid_type, { type: type }]]
54
52
  end
55
53
  end
56
54
 
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  # Disable code coverage for JRuby because it always reports 0% coverage.
4
2
  if RUBY_ENGINE != 'jruby'
5
3
  require 'coveralls'
@@ -7,13 +5,11 @@ if RUBY_ENGINE != 'jruby'
7
5
  end
8
6
 
9
7
  require 'i18n'
10
- if I18n.config.respond_to?(:enforce_available_locales)
11
- I18n.config.enforce_available_locales = true
12
- end
8
+ I18n.config.enforce_available_locales = true if I18n.config.respond_to?(:enforce_available_locales)
13
9
 
14
10
  require 'active_interaction'
15
11
 
16
- Dir['./spec/support/**/*.rb'].each { |f| require f }
12
+ Dir['./spec/support/**/*.rb'].sort.each { |f| require f }
17
13
 
18
14
  RSpec.configure do |config|
19
15
  config.run_all_when_everything_filtered = true
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  shared_context 'concerns' do |concern|
4
2
  let(:klass) do
5
3
  Class.new do
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  shared_context 'filters' do
4
2
  let(:block) { nil }
5
3
  let(:name) { SecureRandom.hex.to_sym }
@@ -49,12 +47,13 @@ shared_examples_for 'a filter' do
49
47
 
50
48
  describe '#cast' do
51
49
  let(:value) { nil }
50
+ let(:result) { filter.send(:cast, value, nil) }
52
51
 
53
52
  context 'optional' do
54
53
  include_context 'optional'
55
54
 
56
55
  it 'returns nil' do
57
- expect(filter.cast(value, nil)).to be_nil
56
+ expect(result).to be_nil
58
57
  end
59
58
  end
60
59
 
@@ -62,21 +61,26 @@ shared_examples_for 'a filter' do
62
61
  include_context 'required'
63
62
 
64
63
  it 'raises an error' do
65
- expect do
66
- filter.cast(value, nil)
67
- end.to raise_error ActiveInteraction::MissingValueError
64
+ expect { result }.to raise_error ActiveInteraction::MissingValueError
68
65
  end
69
66
 
70
67
  context 'with an invalid default' do
71
68
  let(:value) { Object.new }
72
69
 
73
70
  it 'raises an error' do
74
- expect do
75
- filter.cast(value, nil)
76
- end.to raise_error ActiveInteraction::InvalidValueError
71
+ expect { result }.to raise_error ActiveInteraction::InvalidValueError
77
72
  end
78
73
  end
79
74
  end
75
+
76
+ # BasicObject is missing a lot of methods
77
+ context 'with a BasicObject' do
78
+ let(:value) { BasicObject.new }
79
+
80
+ it 'raises an error' do
81
+ expect { result }.to raise_error ActiveInteraction::InvalidValueError
82
+ end
83
+ end
80
84
  end
81
85
 
82
86
  describe '#clean' do
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  TestInteraction = Class.new(ActiveInteraction::Base) do
4
2
  def self.name
5
3
  SecureRandom.hex
@@ -22,15 +20,25 @@ shared_examples_for 'an interaction' do |type, generator, filter_options = {}|
22
20
  let(:described_class) do
23
21
  Class.new(TestInteraction) do
24
22
  public_send(type, :required, filter_options)
25
- public_send(type, :optional, filter_options.merge(default: nil))
23
+ public_send(type, :optional,
24
+ filter_options.merge(
25
+ default: nil
26
+ )
27
+ )
26
28
  public_send(type, :default,
27
- filter_options.merge(default: generator.call)
29
+ filter_options.merge(
30
+ default: generator.call
31
+ )
28
32
  )
29
- public_send(type, :defaults_1, :defaults_2,
30
- filter_options.merge(default: generator.call)
33
+ public_send(type, :defaults1, :defaults2,
34
+ filter_options.merge(
35
+ default: generator.call
36
+ )
31
37
  )
32
- public_send(type, :defaults_3,
33
- filter_options.merge(default: -> { required })
38
+ public_send(type, :defaults3,
39
+ filter_options.merge(
40
+ default: -> { required }
41
+ )
34
42
  )
35
43
  end
36
44
  end
@@ -81,16 +89,16 @@ shared_examples_for 'an interaction' do |type, generator, filter_options = {}|
81
89
  expect(result[:default]).to_not be_nil
82
90
  end
83
91
 
84
- it 'does not return nil for :defaults_1' do
85
- expect(result[:defaults_1]).to_not be_nil
92
+ it 'does not return nil for :defaults1' do
93
+ expect(result[:defaults1]).to_not be_nil
86
94
  end
87
95
 
88
- it 'does not return nil for :defaults_2' do
89
- expect(result[:defaults_2]).to_not be_nil
96
+ it 'does not return nil for :defaults2' do
97
+ expect(result[:defaults2]).to_not be_nil
90
98
  end
91
99
 
92
- it 'evaluates :defaults_3 in the interaction binding' do
93
- expect(result[:defaults_3]).to eql result[:required]
100
+ it 'evaluates :defaults3 in the interaction binding' do
101
+ expect(result[:defaults3]).to eql result[:required]
94
102
  end
95
103
 
96
104
  context 'with inputs[:optional]' do
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_interaction
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Lasseigne
8
8
  - Taylor Fausak
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-03-20 00:00:00.000000000 Z
12
+ date: 2021-01-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -17,7 +17,7 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '4'
20
+ version: '5'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
23
  version: '7'
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: '4'
30
+ version: '5'
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '7'
@@ -45,6 +45,20 @@ dependencies:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: activerecord
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
48
62
  - !ruby/object:Gem::Dependency
49
63
  name: benchmark-ips
50
64
  requirement: !ruby/object:Gem::Requirement
@@ -79,28 +93,28 @@ dependencies:
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '1.12'
96
+ version: '2.1'
83
97
  type: :development
84
98
  prerelease: false
85
99
  version_requirements: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '1.12'
103
+ version: '2.1'
90
104
  - !ruby/object:Gem::Dependency
91
105
  name: rake
92
106
  requirement: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '11.3'
110
+ version: '13.0'
97
111
  type: :development
98
112
  prerelease: false
99
113
  version_requirements: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '11.3'
117
+ version: '13.0'
104
118
  - !ruby/object:Gem::Dependency
105
119
  name: rspec
106
120
  requirement: !ruby/object:Gem::Requirement
@@ -121,14 +135,42 @@ dependencies:
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 0.44.0
138
+ version: '1.8'
139
+ type: :development
140
+ prerelease: false
141
+ version_requirements: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.8'
146
+ - !ruby/object:Gem::Dependency
147
+ name: rubocop-rake
148
+ requirement: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.5.1
153
+ type: :development
154
+ prerelease: false
155
+ version_requirements: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.5.1
160
+ - !ruby/object:Gem::Dependency
161
+ name: rubocop-rspec
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '2.1'
125
167
  type: :development
126
168
  prerelease: false
127
169
  version_requirements: !ruby/object:Gem::Requirement
128
170
  requirements:
129
171
  - - "~>"
130
172
  - !ruby/object:Gem::Version
131
- version: 0.44.0
173
+ version: '2.1'
132
174
  - !ruby/object:Gem::Dependency
133
175
  name: yard
134
176
  requirement: !ruby/object:Gem::Requirement
@@ -143,6 +185,20 @@ dependencies:
143
185
  - - "~>"
144
186
  - !ruby/object:Gem::Version
145
187
  version: '0.9'
188
+ - !ruby/object:Gem::Dependency
189
+ name: sqlite3
190
+ requirement: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
146
202
  description: |2
147
203
  ActiveInteraction manages application-specific business logic. It is an
148
204
  implementation of the command pattern in Ruby.
@@ -158,7 +214,6 @@ files:
158
214
  - LICENSE.md
159
215
  - README.md
160
216
  - lib/active_interaction.rb
161
- - lib/active_interaction/backports.rb
162
217
  - lib/active_interaction/base.rb
163
218
  - lib/active_interaction/concerns/active_modelable.rb
164
219
  - lib/active_interaction/concerns/active_recordable.rb
@@ -169,7 +224,6 @@ files:
169
224
  - lib/active_interaction/filter.rb
170
225
  - lib/active_interaction/filter_column.rb
171
226
  - lib/active_interaction/filters/abstract_date_time_filter.rb
172
- - lib/active_interaction/filters/abstract_filter.rb
173
227
  - lib/active_interaction/filters/abstract_numeric_filter.rb
174
228
  - lib/active_interaction/filters/array_filter.rb
175
229
  - lib/active_interaction/filters/boolean_filter.rb
@@ -187,9 +241,11 @@ files:
187
241
  - lib/active_interaction/filters/symbol_filter.rb
188
242
  - lib/active_interaction/filters/time_filter.rb
189
243
  - lib/active_interaction/grouped_input.rb
244
+ - lib/active_interaction/inputs.rb
190
245
  - lib/active_interaction/locale/en.yml
191
246
  - lib/active_interaction/locale/fr.yml
192
247
  - lib/active_interaction/locale/it.yml
248
+ - lib/active_interaction/locale/ja.yml
193
249
  - lib/active_interaction/locale/pt-BR.yml
194
250
  - lib/active_interaction/modules/input_processor.rb
195
251
  - lib/active_interaction/modules/validation.rb
@@ -204,7 +260,6 @@ files:
204
260
  - spec/active_interaction/filter_column_spec.rb
205
261
  - spec/active_interaction/filter_spec.rb
206
262
  - spec/active_interaction/filters/abstract_date_time_filter_spec.rb
207
- - spec/active_interaction/filters/abstract_filter_spec.rb
208
263
  - spec/active_interaction/filters/abstract_numeric_filter_spec.rb
209
264
  - spec/active_interaction/filters/array_filter_spec.rb
210
265
  - spec/active_interaction/filters/boolean_filter_spec.rb
@@ -223,6 +278,7 @@ files:
223
278
  - spec/active_interaction/filters/time_filter_spec.rb
224
279
  - spec/active_interaction/grouped_input_spec.rb
225
280
  - spec/active_interaction/i18n_spec.rb
281
+ - spec/active_interaction/inputs_spec.rb
226
282
  - spec/active_interaction/integration/array_interaction_spec.rb
227
283
  - spec/active_interaction/integration/boolean_interaction_spec.rb
228
284
  - spec/active_interaction/integration/date_interaction_spec.rb
@@ -236,20 +292,19 @@ files:
236
292
  - spec/active_interaction/integration/string_interaction_spec.rb
237
293
  - spec/active_interaction/integration/symbol_interaction_spec.rb
238
294
  - spec/active_interaction/integration/time_interaction_spec.rb
239
- - spec/active_interaction/modules/input_processor_spec.rb
240
295
  - spec/active_interaction/modules/validation_spec.rb
241
296
  - spec/spec_helper.rb
242
297
  - spec/support/concerns.rb
243
298
  - spec/support/filters.rb
244
299
  - spec/support/interactions.rb
245
- homepage:
300
+ homepage:
246
301
  licenses:
247
302
  - MIT
248
303
  metadata:
249
304
  homepage_uri: https://github.com/AaronLasseigne/active_interaction
250
305
  source_code_uri: https://github.com/AaronLasseigne/active_interaction
251
306
  changelog_uri: https://github.com/AaronLasseigne/active_interaction/blob/master/CHANGELOG.md
252
- post_install_message:
307
+ post_install_message:
253
308
  rdoc_options: []
254
309
  require_paths:
255
310
  - lib
@@ -257,63 +312,62 @@ required_ruby_version: !ruby/object:Gem::Requirement
257
312
  requirements:
258
313
  - - ">="
259
314
  - !ruby/object:Gem::Version
260
- version: '2'
315
+ version: '2.5'
261
316
  required_rubygems_version: !ruby/object:Gem::Requirement
262
317
  requirements:
263
318
  - - ">="
264
319
  - !ruby/object:Gem::Version
265
320
  version: '0'
266
321
  requirements: []
267
- rubygems_version: 3.0.3
268
- signing_key:
322
+ rubygems_version: 3.2.3
323
+ signing_key:
269
324
  specification_version: 4
270
325
  summary: Manage application specific business logic.
271
326
  test_files:
272
- - spec/spec_helper.rb
273
- - spec/active_interaction/grouped_input_spec.rb
274
- - spec/active_interaction/filters/hash_filter_spec.rb
327
+ - spec/active_interaction/base_spec.rb
328
+ - spec/active_interaction/concerns/active_modelable_spec.rb
329
+ - spec/active_interaction/concerns/active_recordable_spec.rb
330
+ - spec/active_interaction/concerns/hashable_spec.rb
331
+ - spec/active_interaction/concerns/missable_spec.rb
332
+ - spec/active_interaction/concerns/runnable_spec.rb
333
+ - spec/active_interaction/errors_spec.rb
334
+ - spec/active_interaction/filter_column_spec.rb
335
+ - spec/active_interaction/filter_spec.rb
275
336
  - spec/active_interaction/filters/abstract_date_time_filter_spec.rb
276
- - spec/active_interaction/filters/boolean_filter_spec.rb
337
+ - spec/active_interaction/filters/abstract_numeric_filter_spec.rb
277
338
  - spec/active_interaction/filters/array_filter_spec.rb
278
- - spec/active_interaction/filters/time_filter_spec.rb
279
- - spec/active_interaction/filters/abstract_filter_spec.rb
280
- - spec/active_interaction/filters/float_filter_spec.rb
339
+ - spec/active_interaction/filters/boolean_filter_spec.rb
281
340
  - spec/active_interaction/filters/date_filter_spec.rb
282
- - spec/active_interaction/filters/integer_filter_spec.rb
283
- - spec/active_interaction/filters/object_filter_spec.rb
284
- - spec/active_interaction/filters/symbol_filter_spec.rb
285
- - spec/active_interaction/filters/string_filter_spec.rb
286
- - spec/active_interaction/filters/abstract_numeric_filter_spec.rb
341
+ - spec/active_interaction/filters/date_time_filter_spec.rb
287
342
  - spec/active_interaction/filters/decimal_filter_spec.rb
288
343
  - spec/active_interaction/filters/file_filter_spec.rb
344
+ - spec/active_interaction/filters/float_filter_spec.rb
345
+ - spec/active_interaction/filters/hash_filter_spec.rb
346
+ - spec/active_interaction/filters/integer_filter_spec.rb
289
347
  - spec/active_interaction/filters/interface_filter_spec.rb
348
+ - spec/active_interaction/filters/object_filter_spec.rb
290
349
  - spec/active_interaction/filters/record_filter_spec.rb
291
- - spec/active_interaction/filters/date_time_filter_spec.rb
350
+ - spec/active_interaction/filters/string_filter_spec.rb
351
+ - spec/active_interaction/filters/symbol_filter_spec.rb
352
+ - spec/active_interaction/filters/time_filter_spec.rb
353
+ - spec/active_interaction/grouped_input_spec.rb
292
354
  - spec/active_interaction/i18n_spec.rb
355
+ - spec/active_interaction/inputs_spec.rb
356
+ - spec/active_interaction/integration/array_interaction_spec.rb
293
357
  - spec/active_interaction/integration/boolean_interaction_spec.rb
294
358
  - spec/active_interaction/integration/date_interaction_spec.rb
295
- - spec/active_interaction/integration/symbol_interaction_spec.rb
296
- - spec/active_interaction/integration/interface_interaction_spec.rb
297
- - spec/active_interaction/integration/time_interaction_spec.rb
298
- - spec/active_interaction/integration/float_interaction_spec.rb
299
- - spec/active_interaction/integration/integer_interaction_spec.rb
300
- - spec/active_interaction/integration/string_interaction_spec.rb
301
- - spec/active_interaction/integration/array_interaction_spec.rb
302
- - spec/active_interaction/integration/hash_interaction_spec.rb
303
359
  - spec/active_interaction/integration/date_time_interaction_spec.rb
304
360
  - spec/active_interaction/integration/file_interaction_spec.rb
361
+ - spec/active_interaction/integration/float_interaction_spec.rb
362
+ - spec/active_interaction/integration/hash_interaction_spec.rb
363
+ - spec/active_interaction/integration/integer_interaction_spec.rb
364
+ - spec/active_interaction/integration/interface_interaction_spec.rb
305
365
  - spec/active_interaction/integration/object_interaction_spec.rb
306
- - spec/active_interaction/filter_column_spec.rb
307
- - spec/active_interaction/errors_spec.rb
366
+ - spec/active_interaction/integration/string_interaction_spec.rb
367
+ - spec/active_interaction/integration/symbol_interaction_spec.rb
368
+ - spec/active_interaction/integration/time_interaction_spec.rb
308
369
  - spec/active_interaction/modules/validation_spec.rb
309
- - spec/active_interaction/modules/input_processor_spec.rb
310
- - spec/active_interaction/filter_spec.rb
311
- - spec/active_interaction/base_spec.rb
312
- - spec/active_interaction/concerns/active_modelable_spec.rb
313
- - spec/active_interaction/concerns/hashable_spec.rb
314
- - spec/active_interaction/concerns/active_recordable_spec.rb
315
- - spec/active_interaction/concerns/missable_spec.rb
316
- - spec/active_interaction/concerns/runnable_spec.rb
370
+ - spec/spec_helper.rb
371
+ - spec/support/concerns.rb
317
372
  - spec/support/filters.rb
318
373
  - spec/support/interactions.rb
319
- - spec/support/concerns.rb