active_interaction 5.1.0 → 5.5.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +61 -0
- data/README.md +11 -12
- data/lib/active_interaction/base.rb +2 -0
- data/lib/active_interaction/errors.rb +16 -16
- data/lib/active_interaction/filter.rb +9 -12
- data/lib/active_interaction/filters/array_filter.rb +1 -1
- data/lib/active_interaction/filters/hash_filter.rb +5 -1
- data/lib/active_interaction/grouped_input.rb +23 -3
- data/lib/active_interaction/locale/es.yml +23 -0
- data/lib/active_interaction/version.rb +1 -1
- metadata +13 -115
- data/spec/active_interaction/array_input_spec.rb +0 -166
- data/spec/active_interaction/base_spec.rb +0 -537
- data/spec/active_interaction/concerns/active_modelable_spec.rb +0 -45
- data/spec/active_interaction/concerns/active_recordable_spec.rb +0 -49
- data/spec/active_interaction/concerns/hashable_spec.rb +0 -46
- data/spec/active_interaction/concerns/missable_spec.rb +0 -99
- data/spec/active_interaction/concerns/runnable_spec.rb +0 -397
- data/spec/active_interaction/errors_spec.rb +0 -196
- data/spec/active_interaction/filter/column_spec.rb +0 -87
- data/spec/active_interaction/filter_spec.rb +0 -39
- data/spec/active_interaction/filters/abstract_date_time_filter_spec.rb +0 -13
- data/spec/active_interaction/filters/abstract_numeric_filter_spec.rb +0 -13
- data/spec/active_interaction/filters/array_filter_spec.rb +0 -245
- data/spec/active_interaction/filters/boolean_filter_spec.rb +0 -87
- data/spec/active_interaction/filters/date_filter_spec.rb +0 -178
- data/spec/active_interaction/filters/date_time_filter_spec.rb +0 -189
- data/spec/active_interaction/filters/decimal_filter_spec.rb +0 -126
- data/spec/active_interaction/filters/file_filter_spec.rb +0 -40
- data/spec/active_interaction/filters/float_filter_spec.rb +0 -110
- data/spec/active_interaction/filters/hash_filter_spec.rb +0 -129
- data/spec/active_interaction/filters/integer_filter_spec.rb +0 -104
- data/spec/active_interaction/filters/interface_filter_spec.rb +0 -461
- data/spec/active_interaction/filters/object_filter_spec.rb +0 -237
- data/spec/active_interaction/filters/record_filter_spec.rb +0 -206
- data/spec/active_interaction/filters/string_filter_spec.rb +0 -60
- data/spec/active_interaction/filters/symbol_filter_spec.rb +0 -46
- data/spec/active_interaction/filters/time_filter_spec.rb +0 -251
- data/spec/active_interaction/grouped_input_spec.rb +0 -17
- data/spec/active_interaction/hash_input_spec.rb +0 -58
- data/spec/active_interaction/i18n_spec.rb +0 -113
- data/spec/active_interaction/inputs_spec.rb +0 -266
- data/spec/active_interaction/integration/array_interaction_spec.rb +0 -88
- data/spec/active_interaction/integration/boolean_interaction_spec.rb +0 -5
- data/spec/active_interaction/integration/date_interaction_spec.rb +0 -5
- data/spec/active_interaction/integration/date_time_interaction_spec.rb +0 -5
- data/spec/active_interaction/integration/file_interaction_spec.rb +0 -18
- data/spec/active_interaction/integration/float_interaction_spec.rb +0 -5
- data/spec/active_interaction/integration/hash_interaction_spec.rb +0 -76
- data/spec/active_interaction/integration/integer_interaction_spec.rb +0 -5
- data/spec/active_interaction/integration/interface_interaction_spec.rb +0 -19
- data/spec/active_interaction/integration/object_interaction_spec.rb +0 -14
- data/spec/active_interaction/integration/record_integration_spec.rb +0 -5
- data/spec/active_interaction/integration/string_interaction_spec.rb +0 -5
- data/spec/active_interaction/integration/symbol_interaction_spec.rb +0 -5
- data/spec/active_interaction/integration/time_interaction_spec.rb +0 -88
- data/spec/active_interaction/modules/validation_spec.rb +0 -57
- data/spec/spec_helper.rb +0 -20
- data/spec/support/concerns.rb +0 -13
- data/spec/support/filters.rb +0 -227
- data/spec/support/interactions.rb +0 -124
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e3c0c4b273d6133644463ea773ea4551331ee7a9eb92c9dc9b3ff4b069aff55
|
4
|
+
data.tar.gz: bc874a3de1e5557e2baf01a59b62822fb073721f4e639559e47ce72ce50c41ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3af5f93ea4049897a6d10bf3da4e11d3eccfa14fd8a0180eeb84c6e695fadd9bc2990c0058bb605a9f7667c0759e32187797984128d3ab36b4e06ff176e26ea
|
7
|
+
data.tar.gz: 4b3fdc8b15977f1e0e46f654e97574581da9ebbdd851b7c91355c5ea32906fdd9b68e220bf89cc57973041995e47b3f9a8183155fbf5a1e8167d3be213c3ad8e
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,53 @@
|
|
1
|
+
# [5.5.0][] (2025-02-02)
|
2
|
+
|
3
|
+
## Added
|
4
|
+
|
5
|
+
- Support for Ruby 3.4.
|
6
|
+
|
7
|
+
## Fixed
|
8
|
+
|
9
|
+
- OStruct was listed as a development dependency instead of a runtime dependency.
|
10
|
+
The need for OStruct has been removed entirely.
|
11
|
+
|
12
|
+
# [5.4.0][] (2024-11-23)
|
13
|
+
|
14
|
+
## Added
|
15
|
+
|
16
|
+
- [#579][] Support for Rails 8. Thanks @bvalentino!
|
17
|
+
|
18
|
+
## Fixed
|
19
|
+
|
20
|
+
- [#577][] Manually pull in the `ostruct` gem since it's being removed from stdlib.
|
21
|
+
|
22
|
+
# [5.3.0][] (2023-05-06)
|
23
|
+
|
24
|
+
## Added
|
25
|
+
|
26
|
+
- Added predicate methods for boolean values. Thanks @heka1024
|
27
|
+
|
28
|
+
## Fixed
|
29
|
+
|
30
|
+
- [#554][] - Non-detailed error should not lose options when merged.
|
31
|
+
- [#553][] - Improve error handling and documentation for hash filter defaults.
|
32
|
+
|
33
|
+
# [5.2.0][] (2022-10-22)
|
34
|
+
|
35
|
+
## Added
|
36
|
+
|
37
|
+
- Added translation for Spanish. Thanks @matiasasis!
|
38
|
+
|
39
|
+
## Fixed
|
40
|
+
|
41
|
+
- [#545][] - Arrays passed in are no longer modified. Thanks @jonkgrimes!
|
42
|
+
|
43
|
+
## Added
|
44
|
+
|
45
|
+
# [5.1.1][] (2022-09-01)
|
46
|
+
|
47
|
+
## Fixed
|
48
|
+
|
49
|
+
- [#539][] - Fixed a caching error in default values.
|
50
|
+
|
1
51
|
# [5.1.0][] (2022-07-28)
|
2
52
|
|
3
53
|
## Added
|
@@ -1112,6 +1162,11 @@ Example.run
|
|
1112
1162
|
|
1113
1163
|
- Initial release.
|
1114
1164
|
|
1165
|
+
[5.5.0]: https://github.com/AaronLasseigne/active_interaction/compare/v5.4.0...v5.5.0
|
1166
|
+
[5.4.0]: https://github.com/AaronLasseigne/active_interaction/compare/v5.3.0...v5.4.0
|
1167
|
+
[5.3.0]: https://github.com/AaronLasseigne/active_interaction/compare/v5.2.0...v5.3.0
|
1168
|
+
[5.2.0]: https://github.com/AaronLasseigne/active_interaction/compare/v5.1.1...v5.2.0
|
1169
|
+
[5.1.1]: https://github.com/AaronLasseigne/active_interaction/compare/v5.1.0...v5.1.1
|
1115
1170
|
[5.1.0]: https://github.com/AaronLasseigne/active_interaction/compare/v5.0.0...v5.1.0
|
1116
1171
|
[5.0.0]: https://github.com/AaronLasseigne/active_interaction/compare/v4.1.0...v5.0.0
|
1117
1172
|
[4.1.0]: https://github.com/AaronLasseigne/active_interaction/compare/v4.0.6...v4.1.0
|
@@ -1339,3 +1394,9 @@ Example.run
|
|
1339
1394
|
[#503]: https://github.com/AaronLasseigne/active_interaction/issues/503
|
1340
1395
|
[#536]: https://github.com/AaronLasseigne/active_interaction/issues/536
|
1341
1396
|
[#537]: https://github.com/AaronLasseigne/active_interaction/issues/537
|
1397
|
+
[#539]: https://github.com/AaronLasseigne/active_interaction/issues/539
|
1398
|
+
[#545]: https://github.com/AaronLasseigne/active_interaction/issues/545
|
1399
|
+
[#554]: https://github.com/AaronLasseigne/active_interaction/issues/554
|
1400
|
+
[#553]: https://github.com/AaronLasseigne/active_interaction/issues/553
|
1401
|
+
[#577]: https://github.com/AaronLasseigne/active_interaction/issues/577
|
1402
|
+
[#579]: https://github.com/AaronLasseigne/active_interaction/pull/579
|
data/README.md
CHANGED
@@ -2,16 +2,11 @@
|
|
2
2
|
|
3
3
|
ActiveInteraction manages application-specific business logic.
|
4
4
|
It's an implementation of service objects designed to blend seamlessly into Rails.
|
5
|
+
It also helps you write safer code by validating that your inputs conform to your expectations.
|
6
|
+
If ActiveModel deals with your nouns, then ActiveInteraction handles your verbs.
|
5
7
|
|
6
8
|
[](https://rubygems.org/gems/active_interaction)
|
7
|
-
[](https://github.com/AaronLasseigne/active_interaction/actions?query=workflow%3ATest)
|
15
10
|
|
16
11
|
- [Installation](#installation)
|
17
12
|
- [Basic usage](#basic-usage)
|
@@ -65,13 +60,13 @@ handles your verbs.
|
|
65
60
|
Add it to your Gemfile:
|
66
61
|
|
67
62
|
``` rb
|
68
|
-
gem 'active_interaction', '~> 5.
|
63
|
+
gem 'active_interaction', '~> 5.5'
|
69
64
|
```
|
70
65
|
|
71
66
|
Or install it manually:
|
72
67
|
|
73
68
|
``` sh
|
74
|
-
$ gem install active_interaction --version '~> 5.
|
69
|
+
$ gem install active_interaction --version '~> 5.5'
|
75
70
|
```
|
76
71
|
|
77
72
|
This project uses [Semantic Versioning][]. Check out [GitHub releases][] for a
|
@@ -296,12 +291,15 @@ Boolean filters convert the strings `"1"`, `"true"`, and `"on"`
|
|
296
291
|
(case-insensitive) into `true`. They also convert `"0"`, `"false"`, and `"off"`
|
297
292
|
into `false`. Blank strings will be treated as `nil`.
|
298
293
|
|
294
|
+
Boolean values can be accessed using the filter name but can also be checked
|
295
|
+
using a predicate method of the same name.
|
296
|
+
|
299
297
|
``` rb
|
300
298
|
class BooleanInteraction < ActiveInteraction::Base
|
301
299
|
boolean :kool_aid
|
302
300
|
|
303
301
|
def execute
|
304
|
-
'Oh yeah!' if kool_aid
|
302
|
+
'Oh yeah!' if kool_aid? # could also use `kool_aid`
|
305
303
|
end
|
306
304
|
end
|
307
305
|
|
@@ -360,7 +358,8 @@ HashInteraction.run!(preferences: { newsletter: true, 'sweepstakes' => false })
|
|
360
358
|
|
361
359
|
Setting default hash values can be tricky. The default value has to be either
|
362
360
|
`nil` or `{}`. Use `nil` to make the hash optional. Use `{}` if you want to set
|
363
|
-
some defaults for values inside the hash.
|
361
|
+
some defaults for values inside the hash. If any nested filter uses a
|
362
|
+
[lazy default](#defaults) then the hash must also use a lazy default.
|
364
363
|
|
365
364
|
``` rb
|
366
365
|
hash :optional,
|
@@ -11,7 +11,15 @@ module ActiveInteraction
|
|
11
11
|
#
|
12
12
|
# @return [Errors]
|
13
13
|
def merge!(other)
|
14
|
-
|
14
|
+
other.messages.each do |attribute, messages|
|
15
|
+
messages.zip(other.details[attribute]) do |message, detail|
|
16
|
+
if detailed_error?(detail)
|
17
|
+
merge_detail!(attribute, detail, message)
|
18
|
+
else
|
19
|
+
merge_message!(attribute, detail, message)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
15
23
|
|
16
24
|
self
|
17
25
|
end
|
@@ -31,24 +39,16 @@ module ActiveInteraction
|
|
31
39
|
detail[:error].is_a?(Symbol)
|
32
40
|
end
|
33
41
|
|
34
|
-
def merge_message!(attribute, message)
|
42
|
+
def merge_message!(attribute, detail, message)
|
43
|
+
options = detail.dup
|
44
|
+
options.delete(:error)
|
45
|
+
|
35
46
|
unless attribute?(attribute)
|
36
47
|
message = full_message(attribute, message)
|
37
48
|
attribute = :base
|
38
49
|
end
|
39
|
-
add(attribute, message) unless added?(attribute, message)
|
40
|
-
end
|
41
50
|
|
42
|
-
|
43
|
-
other.messages.each do |attribute, messages|
|
44
|
-
messages.zip(other.details[attribute]) do |message, detail|
|
45
|
-
if detailed_error?(detail)
|
46
|
-
merge_detail!(attribute, detail, message)
|
47
|
-
else
|
48
|
-
merge_message!(attribute, message)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
51
|
+
add(attribute, message, **options) unless added?(attribute, message, **options)
|
52
52
|
end
|
53
53
|
|
54
54
|
def merge_detail!(attribute, detail, message)
|
@@ -56,9 +56,9 @@ module ActiveInteraction
|
|
56
56
|
options = detail.dup
|
57
57
|
error = options.delete(:error)
|
58
58
|
|
59
|
-
add(attribute, error, **options
|
59
|
+
add(attribute, error, **options, message: message) unless added?(attribute, error, **options)
|
60
60
|
else
|
61
|
-
merge_message!(attribute, message)
|
61
|
+
merge_message!(attribute, detail, message)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
@@ -112,24 +112,21 @@ module ActiveInteraction
|
|
112
112
|
# @raise [NoDefaultError] If the default is missing.
|
113
113
|
# @raise [InvalidDefaultError] If the default is invalid.
|
114
114
|
def default(context = nil)
|
115
|
-
return @default if defined?(@default)
|
116
|
-
|
117
115
|
raise NoDefaultError, name unless default?
|
118
116
|
|
119
117
|
value = raw_default(context)
|
120
118
|
raise InvalidDefaultError, "#{name}: #{value.inspect}" if value.is_a?(GroupedInput)
|
121
119
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
raise InvalidDefaultError, "#{name}: #{value.inspect}"
|
129
|
-
end
|
130
|
-
|
131
|
-
default.value
|
120
|
+
if value.nil?
|
121
|
+
nil
|
122
|
+
else
|
123
|
+
default = process(value, context)
|
124
|
+
if default.errors.any? && default.errors.first.is_a?(Filter::Error)
|
125
|
+
raise InvalidDefaultError, "#{name}: #{value.inspect}"
|
132
126
|
end
|
127
|
+
|
128
|
+
default.value
|
129
|
+
end
|
133
130
|
end
|
134
131
|
|
135
132
|
# Get the description.
|
@@ -25,7 +25,7 @@ module ActiveInteraction
|
|
25
25
|
|
26
26
|
register :hash
|
27
27
|
|
28
|
-
def process(value, context)
|
28
|
+
def process(value, context) # rubocop:disable Metrics/AbcSize
|
29
29
|
input = super
|
30
30
|
|
31
31
|
return HashInput.new(self, value: input.value, error: input.errors.first) if input.errors.first
|
@@ -36,6 +36,10 @@ module ActiveInteraction
|
|
36
36
|
children = {}
|
37
37
|
|
38
38
|
filters.each do |name, filter|
|
39
|
+
if filter.options[:default].is_a?(Proc) && !options[:default].is_a?(Proc)
|
40
|
+
raise InvalidDefaultError, "#{self.name}: must use a lazy default if any nested filter uses a lazy default"
|
41
|
+
end
|
42
|
+
|
39
43
|
filter.process(input.value[name], context).tap do |result|
|
40
44
|
value[name] = result.value
|
41
45
|
children[name.to_sym] = result
|
@@ -1,11 +1,31 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'ostruct'
|
4
|
-
|
5
3
|
module ActiveInteraction
|
6
4
|
# Holds a group of inputs together for passing from {Base} to {Filter}s.
|
7
5
|
#
|
8
6
|
# @private
|
9
|
-
class GroupedInput
|
7
|
+
class GroupedInput
|
8
|
+
include Comparable
|
9
|
+
|
10
|
+
attr_reader :data
|
11
|
+
protected :data
|
12
|
+
|
13
|
+
def initialize(**data)
|
14
|
+
@data = data
|
15
|
+
end
|
16
|
+
|
17
|
+
def [](key)
|
18
|
+
@data[key]
|
19
|
+
end
|
20
|
+
|
21
|
+
def []=(key, value)
|
22
|
+
@data[key] = value
|
23
|
+
end
|
24
|
+
|
25
|
+
def <=>(other)
|
26
|
+
return nil unless other.is_a?(self.class)
|
27
|
+
|
28
|
+
data <=> other.data
|
29
|
+
end
|
10
30
|
end
|
11
31
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
es:
|
2
|
+
active_interaction:
|
3
|
+
errors:
|
4
|
+
messages:
|
5
|
+
invalid: es inválido
|
6
|
+
invalid_type: no es un %{type} válido
|
7
|
+
missing: es requerido
|
8
|
+
types:
|
9
|
+
array: array
|
10
|
+
boolean: boolean
|
11
|
+
date: date
|
12
|
+
date_time: date time
|
13
|
+
decimal: decimal
|
14
|
+
file: file
|
15
|
+
float: float
|
16
|
+
hash: hash
|
17
|
+
integer: integer
|
18
|
+
interface: interface
|
19
|
+
object: object
|
20
|
+
record: record
|
21
|
+
string: string
|
22
|
+
symbol: symbol
|
23
|
+
time: time
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_interaction
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Lasseigne
|
8
8
|
- Taylor Fausak
|
9
|
-
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2025-02-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activemodel
|
@@ -20,7 +19,7 @@ dependencies:
|
|
20
19
|
version: '5.2'
|
21
20
|
- - "<"
|
22
21
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
22
|
+
version: '9'
|
24
23
|
type: :runtime
|
25
24
|
prerelease: false
|
26
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -30,7 +29,7 @@ dependencies:
|
|
30
29
|
version: '5.2'
|
31
30
|
- - "<"
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
32
|
+
version: '9'
|
34
33
|
- !ruby/object:Gem::Dependency
|
35
34
|
name: activesupport
|
36
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,7 +39,7 @@ dependencies:
|
|
40
39
|
version: '5.2'
|
41
40
|
- - "<"
|
42
41
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
42
|
+
version: '9'
|
44
43
|
type: :runtime
|
45
44
|
prerelease: false
|
46
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -50,7 +49,7 @@ dependencies:
|
|
50
49
|
version: '5.2'
|
51
50
|
- - "<"
|
52
51
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
52
|
+
version: '9'
|
54
53
|
- !ruby/object:Gem::Dependency
|
55
54
|
name: actionpack
|
56
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,14 +126,14 @@ dependencies:
|
|
127
126
|
requirements:
|
128
127
|
- - "~>"
|
129
128
|
- !ruby/object:Gem::Version
|
130
|
-
version: 1.
|
129
|
+
version: 1.68.0
|
131
130
|
type: :development
|
132
131
|
prerelease: false
|
133
132
|
version_requirements: !ruby/object:Gem::Requirement
|
134
133
|
requirements:
|
135
134
|
- - "~>"
|
136
135
|
- !ruby/object:Gem::Version
|
137
|
-
version: 1.
|
136
|
+
version: 1.68.0
|
138
137
|
- !ruby/object:Gem::Dependency
|
139
138
|
name: rubocop-rake
|
140
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -155,14 +154,14 @@ dependencies:
|
|
155
154
|
requirements:
|
156
155
|
- - "~>"
|
157
156
|
- !ruby/object:Gem::Version
|
158
|
-
version: 2.
|
157
|
+
version: 3.2.0
|
159
158
|
type: :development
|
160
159
|
prerelease: false
|
161
160
|
version_requirements: !ruby/object:Gem::Requirement
|
162
161
|
requirements:
|
163
162
|
- - "~>"
|
164
163
|
- !ruby/object:Gem::Version
|
165
|
-
version: 2.
|
164
|
+
version: 3.2.0
|
166
165
|
- !ruby/object:Gem::Dependency
|
167
166
|
name: sqlite3
|
168
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -242,62 +241,13 @@ files:
|
|
242
241
|
- lib/active_interaction/input.rb
|
243
242
|
- lib/active_interaction/inputs.rb
|
244
243
|
- lib/active_interaction/locale/en.yml
|
244
|
+
- lib/active_interaction/locale/es.yml
|
245
245
|
- lib/active_interaction/locale/fr.yml
|
246
246
|
- lib/active_interaction/locale/it.yml
|
247
247
|
- lib/active_interaction/locale/ja.yml
|
248
248
|
- lib/active_interaction/locale/pt-BR.yml
|
249
249
|
- lib/active_interaction/modules/validation.rb
|
250
250
|
- lib/active_interaction/version.rb
|
251
|
-
- spec/active_interaction/array_input_spec.rb
|
252
|
-
- spec/active_interaction/base_spec.rb
|
253
|
-
- spec/active_interaction/concerns/active_modelable_spec.rb
|
254
|
-
- spec/active_interaction/concerns/active_recordable_spec.rb
|
255
|
-
- spec/active_interaction/concerns/hashable_spec.rb
|
256
|
-
- spec/active_interaction/concerns/missable_spec.rb
|
257
|
-
- spec/active_interaction/concerns/runnable_spec.rb
|
258
|
-
- spec/active_interaction/errors_spec.rb
|
259
|
-
- spec/active_interaction/filter/column_spec.rb
|
260
|
-
- spec/active_interaction/filter_spec.rb
|
261
|
-
- spec/active_interaction/filters/abstract_date_time_filter_spec.rb
|
262
|
-
- spec/active_interaction/filters/abstract_numeric_filter_spec.rb
|
263
|
-
- spec/active_interaction/filters/array_filter_spec.rb
|
264
|
-
- spec/active_interaction/filters/boolean_filter_spec.rb
|
265
|
-
- spec/active_interaction/filters/date_filter_spec.rb
|
266
|
-
- spec/active_interaction/filters/date_time_filter_spec.rb
|
267
|
-
- spec/active_interaction/filters/decimal_filter_spec.rb
|
268
|
-
- spec/active_interaction/filters/file_filter_spec.rb
|
269
|
-
- spec/active_interaction/filters/float_filter_spec.rb
|
270
|
-
- spec/active_interaction/filters/hash_filter_spec.rb
|
271
|
-
- spec/active_interaction/filters/integer_filter_spec.rb
|
272
|
-
- spec/active_interaction/filters/interface_filter_spec.rb
|
273
|
-
- spec/active_interaction/filters/object_filter_spec.rb
|
274
|
-
- spec/active_interaction/filters/record_filter_spec.rb
|
275
|
-
- spec/active_interaction/filters/string_filter_spec.rb
|
276
|
-
- spec/active_interaction/filters/symbol_filter_spec.rb
|
277
|
-
- spec/active_interaction/filters/time_filter_spec.rb
|
278
|
-
- spec/active_interaction/grouped_input_spec.rb
|
279
|
-
- spec/active_interaction/hash_input_spec.rb
|
280
|
-
- spec/active_interaction/i18n_spec.rb
|
281
|
-
- spec/active_interaction/inputs_spec.rb
|
282
|
-
- spec/active_interaction/integration/array_interaction_spec.rb
|
283
|
-
- spec/active_interaction/integration/boolean_interaction_spec.rb
|
284
|
-
- spec/active_interaction/integration/date_interaction_spec.rb
|
285
|
-
- spec/active_interaction/integration/date_time_interaction_spec.rb
|
286
|
-
- spec/active_interaction/integration/file_interaction_spec.rb
|
287
|
-
- spec/active_interaction/integration/float_interaction_spec.rb
|
288
|
-
- spec/active_interaction/integration/hash_interaction_spec.rb
|
289
|
-
- spec/active_interaction/integration/integer_interaction_spec.rb
|
290
|
-
- spec/active_interaction/integration/interface_interaction_spec.rb
|
291
|
-
- spec/active_interaction/integration/object_interaction_spec.rb
|
292
|
-
- spec/active_interaction/integration/record_integration_spec.rb
|
293
|
-
- spec/active_interaction/integration/string_interaction_spec.rb
|
294
|
-
- spec/active_interaction/integration/symbol_interaction_spec.rb
|
295
|
-
- spec/active_interaction/integration/time_interaction_spec.rb
|
296
|
-
- spec/active_interaction/modules/validation_spec.rb
|
297
|
-
- spec/spec_helper.rb
|
298
|
-
- spec/support/concerns.rb
|
299
|
-
- spec/support/filters.rb
|
300
|
-
- spec/support/interactions.rb
|
301
251
|
homepage: https://github.com/AaronLasseigne/active_interaction
|
302
252
|
licenses:
|
303
253
|
- MIT
|
@@ -306,7 +256,6 @@ metadata:
|
|
306
256
|
source_code_uri: https://github.com/AaronLasseigne/active_interaction
|
307
257
|
changelog_uri: https://github.com/AaronLasseigne/active_interaction/blob/main/CHANGELOG.md
|
308
258
|
rubygems_mfa_required: 'true'
|
309
|
-
post_install_message:
|
310
259
|
rdoc_options: []
|
311
260
|
require_paths:
|
312
261
|
- lib
|
@@ -321,58 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
321
270
|
- !ruby/object:Gem::Version
|
322
271
|
version: '0'
|
323
272
|
requirements: []
|
324
|
-
rubygems_version: 3.
|
325
|
-
signing_key:
|
273
|
+
rubygems_version: 3.6.2
|
326
274
|
specification_version: 4
|
327
275
|
summary: Manage application specific business logic.
|
328
|
-
test_files:
|
329
|
-
- spec/active_interaction/array_input_spec.rb
|
330
|
-
- spec/active_interaction/base_spec.rb
|
331
|
-
- spec/active_interaction/concerns/active_modelable_spec.rb
|
332
|
-
- spec/active_interaction/concerns/active_recordable_spec.rb
|
333
|
-
- spec/active_interaction/concerns/hashable_spec.rb
|
334
|
-
- spec/active_interaction/concerns/missable_spec.rb
|
335
|
-
- spec/active_interaction/concerns/runnable_spec.rb
|
336
|
-
- spec/active_interaction/errors_spec.rb
|
337
|
-
- spec/active_interaction/filter/column_spec.rb
|
338
|
-
- spec/active_interaction/filter_spec.rb
|
339
|
-
- spec/active_interaction/filters/abstract_date_time_filter_spec.rb
|
340
|
-
- spec/active_interaction/filters/abstract_numeric_filter_spec.rb
|
341
|
-
- spec/active_interaction/filters/array_filter_spec.rb
|
342
|
-
- spec/active_interaction/filters/boolean_filter_spec.rb
|
343
|
-
- spec/active_interaction/filters/date_filter_spec.rb
|
344
|
-
- spec/active_interaction/filters/date_time_filter_spec.rb
|
345
|
-
- spec/active_interaction/filters/decimal_filter_spec.rb
|
346
|
-
- spec/active_interaction/filters/file_filter_spec.rb
|
347
|
-
- spec/active_interaction/filters/float_filter_spec.rb
|
348
|
-
- spec/active_interaction/filters/hash_filter_spec.rb
|
349
|
-
- spec/active_interaction/filters/integer_filter_spec.rb
|
350
|
-
- spec/active_interaction/filters/interface_filter_spec.rb
|
351
|
-
- spec/active_interaction/filters/object_filter_spec.rb
|
352
|
-
- spec/active_interaction/filters/record_filter_spec.rb
|
353
|
-
- spec/active_interaction/filters/string_filter_spec.rb
|
354
|
-
- spec/active_interaction/filters/symbol_filter_spec.rb
|
355
|
-
- spec/active_interaction/filters/time_filter_spec.rb
|
356
|
-
- spec/active_interaction/grouped_input_spec.rb
|
357
|
-
- spec/active_interaction/hash_input_spec.rb
|
358
|
-
- spec/active_interaction/i18n_spec.rb
|
359
|
-
- spec/active_interaction/inputs_spec.rb
|
360
|
-
- spec/active_interaction/integration/array_interaction_spec.rb
|
361
|
-
- spec/active_interaction/integration/boolean_interaction_spec.rb
|
362
|
-
- spec/active_interaction/integration/date_interaction_spec.rb
|
363
|
-
- spec/active_interaction/integration/date_time_interaction_spec.rb
|
364
|
-
- spec/active_interaction/integration/file_interaction_spec.rb
|
365
|
-
- spec/active_interaction/integration/float_interaction_spec.rb
|
366
|
-
- spec/active_interaction/integration/hash_interaction_spec.rb
|
367
|
-
- spec/active_interaction/integration/integer_interaction_spec.rb
|
368
|
-
- spec/active_interaction/integration/interface_interaction_spec.rb
|
369
|
-
- spec/active_interaction/integration/object_interaction_spec.rb
|
370
|
-
- spec/active_interaction/integration/record_integration_spec.rb
|
371
|
-
- spec/active_interaction/integration/string_interaction_spec.rb
|
372
|
-
- spec/active_interaction/integration/symbol_interaction_spec.rb
|
373
|
-
- spec/active_interaction/integration/time_interaction_spec.rb
|
374
|
-
- spec/active_interaction/modules/validation_spec.rb
|
375
|
-
- spec/spec_helper.rb
|
376
|
-
- spec/support/concerns.rb
|
377
|
-
- spec/support/filters.rb
|
378
|
-
- spec/support/interactions.rb
|
276
|
+
test_files: []
|