activeinteractor 0.1.7 → 1.0.0.beta.1

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -1
  3. data/README.md +397 -395
  4. data/lib/active_interactor.rb +12 -30
  5. data/lib/active_interactor/base.rb +18 -8
  6. data/lib/active_interactor/context.rb +4 -181
  7. data/lib/active_interactor/context/attributes.rb +37 -149
  8. data/lib/active_interactor/context/base.rb +141 -0
  9. data/lib/active_interactor/context/loader.rb +45 -0
  10. data/lib/active_interactor/error.rb +22 -15
  11. data/lib/active_interactor/interactor.rb +24 -57
  12. data/lib/active_interactor/interactor/callbacks.rb +64 -76
  13. data/lib/active_interactor/interactor/context.rb +97 -63
  14. data/lib/active_interactor/interactor/worker.rb +22 -65
  15. data/lib/active_interactor/organizer.rb +180 -164
  16. data/lib/active_interactor/version.rb +2 -3
  17. data/lib/rails/generators/active_interactor.rb +2 -37
  18. data/lib/rails/generators/active_interactor/application_interactor_generator.rb +23 -0
  19. data/lib/rails/generators/active_interactor/install_generator.rb +8 -12
  20. data/lib/rails/generators/active_interactor/templates/application_context.rb +4 -0
  21. data/lib/rails/generators/{templates/application_interactor.erb → active_interactor/templates/application_interactor.rb} +0 -0
  22. data/lib/rails/generators/active_interactor/templates/application_organizer.rb +4 -0
  23. data/lib/rails/generators/active_interactor/templates/initializer.erb +5 -0
  24. data/lib/rails/generators/interactor/context/rspec_generator.rb +19 -0
  25. data/lib/rails/generators/interactor/context/templates/rspec.erb +7 -0
  26. data/lib/rails/generators/interactor/context/templates/test_unit.erb +9 -0
  27. data/lib/rails/generators/interactor/context/test_unit_generator.rb +19 -0
  28. data/lib/rails/generators/interactor/context_generator.rb +19 -0
  29. data/lib/rails/generators/interactor/interactor_generator.rb +8 -3
  30. data/lib/rails/generators/interactor/organizer_generator.rb +8 -3
  31. data/lib/rails/generators/interactor/rspec_generator.rb +4 -3
  32. data/lib/rails/generators/interactor/templates/context.erb +4 -0
  33. data/lib/rails/generators/{templates → interactor/templates}/interactor.erb +0 -0
  34. data/lib/rails/generators/{templates → interactor/templates}/organizer.erb +1 -1
  35. data/lib/rails/generators/{templates → interactor/templates}/rspec.erb +0 -0
  36. data/lib/rails/generators/{templates → interactor/templates}/test_unit.erb +0 -0
  37. data/lib/rails/generators/interactor/test_unit_generator.rb +4 -3
  38. data/spec/active_interactor/base_spec.rb +51 -0
  39. data/spec/active_interactor/context/base_spec.rb +229 -0
  40. data/spec/active_interactor/error_spec.rb +43 -0
  41. data/spec/active_interactor/interactor/worker_spec.rb +89 -0
  42. data/spec/active_interactor/organizer_spec.rb +178 -0
  43. data/spec/active_interactor_spec.rb +26 -0
  44. data/spec/integration/basic_callback_integration_spec.rb +355 -0
  45. data/spec/integration/basic_context_integration_spec.rb +73 -0
  46. data/spec/integration/basic_integration_spec.rb +220 -0
  47. data/spec/integration/basic_validations_integration_spec.rb +204 -0
  48. data/spec/spec_helper.rb +44 -0
  49. data/spec/support/helpers/factories.rb +41 -0
  50. data/spec/support/shared_examples/a_class_with_interactor_callback_methods_example.rb +99 -0
  51. data/spec/support/shared_examples/a_class_with_interactor_context_methods_example.rb +58 -0
  52. data/spec/support/shared_examples/a_class_with_interactor_methods_example.rb +21 -0
  53. data/spec/support/shared_examples/a_class_with_organizer_callback_methods_example.rb +39 -0
  54. data/spec/support/spec_helpers.rb +7 -0
  55. metadata +68 -138
  56. data/lib/active_interactor/configuration.rb +0 -38
  57. data/lib/active_interactor/interactor/execution.rb +0 -24
  58. data/lib/rails/generators/templates/initializer.erb +0 -15
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ begin
4
+ require 'codacy-coverage'
5
+ require 'simplecov'
6
+
7
+ Codacy::Reporter.start if ENV['CODACY_PROJECT_TOKEN']
8
+ SimpleCov.start do
9
+ track_files '/lib/**/*.rb'
10
+ add_filter '/spec/'
11
+ add_filter '/lib/rails/**'
12
+ end
13
+ rescue LoadError
14
+ puts 'Not reporting coverage...'
15
+ end
16
+
17
+ require 'bundler/setup'
18
+ require 'active_interactor'
19
+
20
+ RSpec.configure do |config|
21
+ # Enable flags like --only-failures and --next-failure
22
+ config.example_status_persistence_file_path = 'spec/.rspec_status'
23
+
24
+ config.before do
25
+ # suppress logs in test
26
+ allow(ActiveInteractor.logger).to receive(:error).and_return(true)
27
+ end
28
+
29
+ config.after(:each) do
30
+ clean_factories!
31
+ end
32
+
33
+ # Disable RSpec exposing methods globally on `Module` and `main`
34
+ config.disable_monkey_patching!
35
+
36
+ config.expect_with :rspec do |c|
37
+ c.syntax = :expect
38
+ end
39
+
40
+ config.order = :random
41
+ Kernel.srand config.seed
42
+ end
43
+
44
+ Dir[File.join(__dir__, 'support', '**', '*.rb')].sort.each { |f| require f }
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/string/inflections'
4
+
5
+ module Spec
6
+ module Helpers
7
+ module FactoryCollection
8
+ def self.factories
9
+ @factories ||= []
10
+ end
11
+ end
12
+
13
+ module Factories
14
+ def build_class(class_name, parent_class = nil, &block)
15
+ Object.send(:remove_const, class_name.to_sym) if Object.const_defined?(class_name)
16
+ klass = Object.const_set(class_name, Class.new(parent_class))
17
+ klass.class_eval(&block) if block
18
+ FactoryCollection.factories << klass.name.to_sym
19
+ klass
20
+ end
21
+
22
+ def build_context(class_name = 'TestContext', &block)
23
+ build_class(class_name, ActiveInteractor::Context::Base, &block)
24
+ end
25
+
26
+ def build_interactor(class_name = 'TestInteractor', &block)
27
+ build_class(class_name, ActiveInteractor::Base, &block)
28
+ end
29
+
30
+ def build_organizer(class_name = 'TestOrganizer', &block)
31
+ build_class(class_name, ActiveInteractor::Organizer, &block)
32
+ end
33
+
34
+ def clean_factories!
35
+ FactoryCollection.factories.each do |factory|
36
+ Object.send(:remove_const, factory) if Object.const_defined?(factory)
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'a class with interactor callback methods' do
4
+ describe '.after_context_validation' do
5
+ subject { interactor_class.after_context_validation(*args) }
6
+ let(:args) { :some_method }
7
+
8
+ it 'sets after validation callback' do
9
+ expect(interactor_class).to receive(:set_callback)
10
+ .with(:validation, :after, :some_method, prepend: true)
11
+ .and_return(true)
12
+ subject
13
+ end
14
+ end
15
+
16
+ describe '.after_perform' do
17
+ subject { interactor_class.after_perform(*args) }
18
+ let(:args) { :some_method }
19
+
20
+ it 'sets after perform callback' do
21
+ expect(interactor_class).to receive(:set_callback)
22
+ .with(:perform, :after, :some_method)
23
+ .and_return(true)
24
+ subject
25
+ end
26
+ end
27
+
28
+ describe '.after_rollback' do
29
+ subject { interactor_class.after_rollback(*args) }
30
+ let(:args) { :some_method }
31
+
32
+ it 'sets after rollback callback' do
33
+ expect(interactor_class).to receive(:set_callback)
34
+ .with(:rollback, :after, :some_method)
35
+ .and_return(true)
36
+ subject
37
+ end
38
+ end
39
+
40
+ describe '.around_perform' do
41
+ subject { interactor_class.around_perform(*args) }
42
+ let(:args) { :some_method }
43
+
44
+ it 'sets around perform callback' do
45
+ expect(interactor_class).to receive(:set_callback)
46
+ .with(:perform, :around, :some_method)
47
+ .and_return(true)
48
+ subject
49
+ end
50
+ end
51
+
52
+ describe '.around_rollback' do
53
+ subject { interactor_class.around_rollback(*args) }
54
+ let(:args) { :some_method }
55
+
56
+ it 'sets around rollback callback' do
57
+ expect(interactor_class).to receive(:set_callback)
58
+ .with(:rollback, :around, :some_method)
59
+ .and_return(true)
60
+ subject
61
+ end
62
+ end
63
+
64
+ describe '.before_context_validation' do
65
+ subject { interactor_class.before_context_validation(*args) }
66
+ let(:args) { :some_method }
67
+
68
+ it 'sets before validation callback' do
69
+ expect(interactor_class).to receive(:set_callback)
70
+ .with(:validation, :before, :some_method, {})
71
+ .and_return(true)
72
+ subject
73
+ end
74
+ end
75
+
76
+ describe '.before_perform' do
77
+ subject { interactor_class.before_perform(*args) }
78
+ let(:args) { :some_method }
79
+
80
+ it 'sets before perform callback' do
81
+ expect(interactor_class).to receive(:set_callback)
82
+ .with(:perform, :before, :some_method)
83
+ .and_return(true)
84
+ subject
85
+ end
86
+ end
87
+
88
+ describe '.before_rollback' do
89
+ subject { interactor_class.before_rollback(*args) }
90
+ let(:args) { :some_method }
91
+
92
+ it 'sets before rollback callback' do
93
+ expect(interactor_class).to receive(:set_callback)
94
+ .with(:rollback, :before, :some_method)
95
+ .and_return(true)
96
+ subject
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'a class with interactor context methods' do
4
+ describe '.context_attributes' do
5
+ subject { interactor_class.context_attributes(attributes) }
6
+ let(:attributes) { :some_attribute }
7
+
8
+ it 'calls .attributes on .context_class' do
9
+ expect(interactor_class.context_class).to receive(:attributes)
10
+ .with(:some_attribute)
11
+ .and_return(true)
12
+ subject
13
+ end
14
+ end
15
+
16
+ describe '#context_fail!' do
17
+ subject { interactor_class.new.context_fail! }
18
+
19
+ it 'calls #fail! on instance of .context_class' do
20
+ expect_any_instance_of(interactor_class.context_class).to receive(:fail!)
21
+ .and_return(true)
22
+ subject
23
+ end
24
+ end
25
+
26
+ describe '#context_rollback!' do
27
+ subject { interactor_class.new.context_rollback! }
28
+
29
+ it 'calls #rollback! on instance of .context_class' do
30
+ expect_any_instance_of(interactor_class.context_class).to receive(:rollback!)
31
+ .and_return(true)
32
+ subject
33
+ end
34
+ end
35
+
36
+ describe '#context_valid?' do
37
+ subject { interactor_class.new.context_valid? }
38
+
39
+ it 'calls #valid? on instance of .context_class' do
40
+ expect_any_instance_of(interactor_class.context_class).to receive(:valid?)
41
+ .and_return(true)
42
+ subject
43
+ end
44
+ end
45
+
46
+ describe '#finalize_context!' do
47
+ subject { instance.finalize_context! }
48
+ let(:instance) { interactor_class.new }
49
+
50
+ it 'calls #called! on instance of .context_class' do
51
+ expect_any_instance_of(interactor_class.context_class).to receive(:called!)
52
+ .with(instance)
53
+ subject
54
+ end
55
+
56
+ it { is_expected.to be_an interactor_class.context_class }
57
+ end
58
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'a class with interactor methods' do
4
+ describe '.perform' do
5
+ subject { interactor_class.perform }
6
+
7
+ it 'calls #execute_perform on a new instance' do
8
+ expect_any_instance_of(interactor_class).to receive(:execute_perform)
9
+ subject
10
+ end
11
+ end
12
+
13
+ describe '.perform!' do
14
+ subject { interactor_class.perform! }
15
+
16
+ it 'calls #execute_perform! on a new instance' do
17
+ expect_any_instance_of(interactor_class).to receive(:execute_perform!)
18
+ subject
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'a class with organizer callback methods' do
4
+ describe '.after_each_perform' do
5
+ subject { interactor_class.after_each_perform(*args) }
6
+ let(:args) { :some_method }
7
+
8
+ it 'sets after each_perform callback' do
9
+ expect(interactor_class).to receive(:set_callback)
10
+ .with(:each_perform, :after, :some_method)
11
+ .and_return(true)
12
+ subject
13
+ end
14
+ end
15
+
16
+ describe '.around_each_perform' do
17
+ subject { interactor_class.around_each_perform(*args) }
18
+ let(:args) { :some_method }
19
+
20
+ it 'sets around each_perform callback' do
21
+ expect(interactor_class).to receive(:set_callback)
22
+ .with(:each_perform, :around, :some_method)
23
+ .and_return(true)
24
+ subject
25
+ end
26
+ end
27
+
28
+ describe '.before_each_perform' do
29
+ subject { interactor_class.before_each_perform(*args) }
30
+ let(:args) { :some_method }
31
+
32
+ it 'sets before each_perform callback' do
33
+ expect(interactor_class).to receive(:set_callback)
34
+ .with(:each_perform, :before, :some_method)
35
+ .and_return(true)
36
+ subject
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ Dir[File.join(__dir__, 'helpers', '**', '*.rb')].sort.each { |f| require f }
4
+
5
+ RSpec.configure do |config|
6
+ config.include Spec::Helpers::Factories
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeinteractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 1.0.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Allen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-10 00:00:00.000000000 Z
11
+ date: 2020-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.1'
22
+ version: '7.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.1'
32
+ version: '7.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '4.2'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '6.1'
42
+ version: '7.0'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '4.2'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '6.1'
52
+ version: '7.0'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: bundler
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -64,146 +64,34 @@ dependencies:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '2.0'
67
- - !ruby/object:Gem::Dependency
68
- name: github-markup
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: '3.0'
74
- type: :development
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - "~>"
79
- - !ruby/object:Gem::Version
80
- version: '3.0'
81
- - !ruby/object:Gem::Dependency
82
- name: mdl
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: '0.5'
88
- type: :development
89
- prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
91
- requirements:
92
- - - "~>"
93
- - !ruby/object:Gem::Version
94
- version: '0.5'
95
67
  - !ruby/object:Gem::Dependency
96
68
  name: rake
97
69
  requirement: !ruby/object:Gem::Requirement
98
70
  requirements:
99
71
  - - "~>"
100
72
  - !ruby/object:Gem::Version
101
- version: '12.3'
73
+ version: '13.0'
102
74
  type: :development
103
75
  prerelease: false
104
76
  version_requirements: !ruby/object:Gem::Requirement
105
77
  requirements:
106
78
  - - "~>"
107
79
  - !ruby/object:Gem::Version
108
- version: '12.3'
109
- - !ruby/object:Gem::Dependency
110
- name: redcarpet
111
- requirement: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - "~>"
114
- - !ruby/object:Gem::Version
115
- version: '3.4'
116
- type: :development
117
- prerelease: false
118
- version_requirements: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - "~>"
121
- - !ruby/object:Gem::Version
122
- version: '3.4'
80
+ version: '13.0'
123
81
  - !ruby/object:Gem::Dependency
124
82
  name: rspec
125
83
  requirement: !ruby/object:Gem::Requirement
126
84
  requirements:
127
85
  - - "~>"
128
86
  - !ruby/object:Gem::Version
129
- version: '3.0'
130
- type: :development
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
135
- - !ruby/object:Gem::Version
136
- version: '3.0'
137
- - !ruby/object:Gem::Dependency
138
- name: rspec-collection_matchers
139
- requirement: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - "~>"
142
- - !ruby/object:Gem::Version
143
- version: '1.1'
87
+ version: '3.9'
144
88
  type: :development
145
89
  prerelease: false
146
90
  version_requirements: !ruby/object:Gem::Requirement
147
91
  requirements:
148
92
  - - "~>"
149
93
  - !ruby/object:Gem::Version
150
- version: '1.1'
151
- - !ruby/object:Gem::Dependency
152
- name: rubocop
153
- requirement: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - "~>"
156
- - !ruby/object:Gem::Version
157
- version: '0.67'
158
- type: :development
159
- prerelease: false
160
- version_requirements: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - "~>"
163
- - !ruby/object:Gem::Version
164
- version: '0.67'
165
- - !ruby/object:Gem::Dependency
166
- name: simplecov
167
- requirement: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - "~>"
170
- - !ruby/object:Gem::Version
171
- version: '0.16'
172
- type: :development
173
- prerelease: false
174
- version_requirements: !ruby/object:Gem::Requirement
175
- requirements:
176
- - - "~>"
177
- - !ruby/object:Gem::Version
178
- version: '0.16'
179
- - !ruby/object:Gem::Dependency
180
- name: yard
181
- requirement: !ruby/object:Gem::Requirement
182
- requirements:
183
- - - "~>"
184
- - !ruby/object:Gem::Version
185
- version: '0.9'
186
- type: :development
187
- prerelease: false
188
- version_requirements: !ruby/object:Gem::Requirement
189
- requirements:
190
- - - "~>"
191
- - !ruby/object:Gem::Version
192
- version: '0.9'
193
- - !ruby/object:Gem::Dependency
194
- name: yard-activesupport-concern
195
- requirement: !ruby/object:Gem::Requirement
196
- requirements:
197
- - - '='
198
- - !ruby/object:Gem::Version
199
- version: 0.0.1
200
- type: :development
201
- prerelease: false
202
- version_requirements: !ruby/object:Gem::Requirement
203
- requirements:
204
- - - '='
205
- - !ruby/object:Gem::Version
206
- version: 0.0.1
94
+ version: '3.9'
207
95
  description: |
208
96
  Ruby interactors with ActiveModel::Validations based on the interactors gem.
209
97
  Rich support for attributes, callbacks, and validations, and thread safe performance methods.
@@ -218,38 +106,64 @@ files:
218
106
  - README.md
219
107
  - lib/active_interactor.rb
220
108
  - lib/active_interactor/base.rb
221
- - lib/active_interactor/configuration.rb
222
109
  - lib/active_interactor/context.rb
223
110
  - lib/active_interactor/context/attributes.rb
111
+ - lib/active_interactor/context/base.rb
112
+ - lib/active_interactor/context/loader.rb
224
113
  - lib/active_interactor/error.rb
225
114
  - lib/active_interactor/interactor.rb
226
115
  - lib/active_interactor/interactor/callbacks.rb
227
116
  - lib/active_interactor/interactor/context.rb
228
- - lib/active_interactor/interactor/execution.rb
229
117
  - lib/active_interactor/interactor/worker.rb
230
118
  - lib/active_interactor/organizer.rb
231
119
  - lib/active_interactor/version.rb
232
120
  - lib/rails/generators/active_interactor.rb
121
+ - lib/rails/generators/active_interactor/application_interactor_generator.rb
233
122
  - lib/rails/generators/active_interactor/install_generator.rb
123
+ - lib/rails/generators/active_interactor/templates/application_context.rb
124
+ - lib/rails/generators/active_interactor/templates/application_interactor.rb
125
+ - lib/rails/generators/active_interactor/templates/application_organizer.rb
126
+ - lib/rails/generators/active_interactor/templates/initializer.erb
127
+ - lib/rails/generators/interactor/context/rspec_generator.rb
128
+ - lib/rails/generators/interactor/context/templates/rspec.erb
129
+ - lib/rails/generators/interactor/context/templates/test_unit.erb
130
+ - lib/rails/generators/interactor/context/test_unit_generator.rb
131
+ - lib/rails/generators/interactor/context_generator.rb
234
132
  - lib/rails/generators/interactor/interactor_generator.rb
235
133
  - lib/rails/generators/interactor/organizer_generator.rb
236
134
  - lib/rails/generators/interactor/rspec_generator.rb
135
+ - lib/rails/generators/interactor/templates/context.erb
136
+ - lib/rails/generators/interactor/templates/interactor.erb
137
+ - lib/rails/generators/interactor/templates/organizer.erb
138
+ - lib/rails/generators/interactor/templates/rspec.erb
139
+ - lib/rails/generators/interactor/templates/test_unit.erb
237
140
  - lib/rails/generators/interactor/test_unit_generator.rb
238
- - lib/rails/generators/templates/application_interactor.erb
239
- - lib/rails/generators/templates/initializer.erb
240
- - lib/rails/generators/templates/interactor.erb
241
- - lib/rails/generators/templates/organizer.erb
242
- - lib/rails/generators/templates/rspec.erb
243
- - lib/rails/generators/templates/test_unit.erb
141
+ - spec/active_interactor/base_spec.rb
142
+ - spec/active_interactor/context/base_spec.rb
143
+ - spec/active_interactor/error_spec.rb
144
+ - spec/active_interactor/interactor/worker_spec.rb
145
+ - spec/active_interactor/organizer_spec.rb
146
+ - spec/active_interactor_spec.rb
147
+ - spec/integration/basic_callback_integration_spec.rb
148
+ - spec/integration/basic_context_integration_spec.rb
149
+ - spec/integration/basic_integration_spec.rb
150
+ - spec/integration/basic_validations_integration_spec.rb
151
+ - spec/spec_helper.rb
152
+ - spec/support/helpers/factories.rb
153
+ - spec/support/shared_examples/a_class_with_interactor_callback_methods_example.rb
154
+ - spec/support/shared_examples/a_class_with_interactor_context_methods_example.rb
155
+ - spec/support/shared_examples/a_class_with_interactor_methods_example.rb
156
+ - spec/support/shared_examples/a_class_with_organizer_callback_methods_example.rb
157
+ - spec/support/spec_helpers.rb
244
158
  homepage: https://github.com/aaronmallen/activeinteractor
245
159
  licenses:
246
160
  - MIT
247
161
  metadata:
248
162
  bug_tracker_uri: https://github.com/aaronmallen/activeinteractor/issues
249
- changelog_uri: https://github.com/aaronmallen/activeinteractor/blob/v0.1.7/CHANGELOG.md
250
- documentation_uri: https://www.rubydoc.info/gems/activeinteractor/0.1.7
163
+ changelog_uri: https://github.com/aaronmallen/activeinteractor/blob/v1.0.0.beta.1/CHANGELOG.md
164
+ documentation_uri: https://www.rubydoc.info/gems/activeinteractor/1.0.0.beta.1
251
165
  hompage_uri: https://github.com/aaronmallen/activeinteractor
252
- source_code_uri: https://github.com/aaronmallen/activeinteractor/tree/v0.1.7
166
+ source_code_uri: https://github.com/aaronmallen/activeinteractor/tree/v1.0.0.beta.1
253
167
  wiki_uri: https://github.com/aaronmallen/activeinteractor/wiki
254
168
  post_install_message:
255
169
  rdoc_options: []
@@ -262,13 +176,29 @@ required_ruby_version: !ruby/object:Gem::Requirement
262
176
  version: 2.5.0
263
177
  required_rubygems_version: !ruby/object:Gem::Requirement
264
178
  requirements:
265
- - - ">="
179
+ - - ">"
266
180
  - !ruby/object:Gem::Version
267
- version: '0'
181
+ version: 1.3.1
268
182
  requirements: []
269
- rubyforge_project:
270
- rubygems_version: 2.7.7
183
+ rubygems_version: 3.0.3
271
184
  signing_key:
272
185
  specification_version: 4
273
186
  summary: Ruby interactors with ActiveModel::Validations
274
- test_files: []
187
+ test_files:
188
+ - spec/active_interactor_spec.rb
189
+ - spec/spec_helper.rb
190
+ - spec/integration/basic_validations_integration_spec.rb
191
+ - spec/integration/basic_context_integration_spec.rb
192
+ - spec/integration/basic_integration_spec.rb
193
+ - spec/integration/basic_callback_integration_spec.rb
194
+ - spec/active_interactor/error_spec.rb
195
+ - spec/active_interactor/base_spec.rb
196
+ - spec/active_interactor/context/base_spec.rb
197
+ - spec/active_interactor/interactor/worker_spec.rb
198
+ - spec/active_interactor/organizer_spec.rb
199
+ - spec/support/spec_helpers.rb
200
+ - spec/support/helpers/factories.rb
201
+ - spec/support/shared_examples/a_class_with_interactor_methods_example.rb
202
+ - spec/support/shared_examples/a_class_with_organizer_callback_methods_example.rb
203
+ - spec/support/shared_examples/a_class_with_interactor_callback_methods_example.rb
204
+ - spec/support/shared_examples/a_class_with_interactor_context_methods_example.rb