active_interaction 4.0.4 → 4.0.5
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cc966bbcee80b29757efdf5bf0b6b0357b8d24610dca49017f4a8cdca64bfaa3
|
|
4
|
+
data.tar.gz: fe255f995b77c90c935fb14ae05660fcc973a3e7ef3e26209d5e1e187624ca21
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 233b8b4334a5f4d34d12607c054a47aa4839f9c734cd251b682f30173aaa5115e0d8292c0074efd21137a966831b635d2a4e4f3c55f6cb282bb78ed6f795450e
|
|
7
|
+
data.tar.gz: a5fef4055b48c4c72f3f297f52260f0fe4055a2299961d0fd70ebfd7fcfadc2814628a01cec947259e4b99620fc9a2ee313baaa373449aadeba62829eea7be00
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
# [4.0.5][] (2021-07-11)
|
|
2
|
+
|
|
3
|
+
## Fix
|
|
4
|
+
|
|
5
|
+
- [#480][] - Interfaces used inside hashes failed to recognize `nil` as a non-value.
|
|
6
|
+
|
|
1
7
|
# [4.0.4][] (2021-07-03)
|
|
2
8
|
|
|
3
9
|
## Fix
|
|
@@ -183,13 +189,13 @@ has a particular module included, you'll need to use the newly expanded
|
|
|
183
189
|
|
|
184
190
|
## Fixed
|
|
185
191
|
|
|
186
|
-
- [486][] `valid?` returns true if block not called and error added in execute around callback.
|
|
192
|
+
- [#486][] `valid?` returns true if block not called and error added in execute around callback.
|
|
187
193
|
|
|
188
194
|
# [3.8.2][] (2020-04-22)
|
|
189
195
|
|
|
190
196
|
## Fixed
|
|
191
197
|
|
|
192
|
-
- [479][] Composed interactions that throw errors now show a complete backtrace instead of ending at the `run!` of the outermost interaction.
|
|
198
|
+
- [#479][] Composed interactions that throw errors now show a complete backtrace instead of ending at the `run!` of the outermost interaction.
|
|
193
199
|
|
|
194
200
|
# [3.8.1][] (2020-04-04)
|
|
195
201
|
|
|
@@ -958,6 +964,7 @@ Example.run
|
|
|
958
964
|
|
|
959
965
|
- Initial release.
|
|
960
966
|
|
|
967
|
+
[4.0.5]: https://github.com/AaronLasseigne/active_interaction/compare/v4.0.4...v4.0.5
|
|
961
968
|
[4.0.4]: https://github.com/AaronLasseigne/active_interaction/compare/v4.0.3...v4.0.4
|
|
962
969
|
[4.0.3]: https://github.com/AaronLasseigne/active_interaction/compare/v4.0.2...v4.0.3
|
|
963
970
|
[4.0.2]: https://github.com/AaronLasseigne/active_interaction/compare/v4.0.1...v4.0.2
|
|
@@ -1172,3 +1179,6 @@ Example.run
|
|
|
1172
1179
|
[#499]: https://github.com/AaronLasseigne/active_interaction/issues/499
|
|
1173
1180
|
[#493]: https://github.com/AaronLasseigne/active_interaction/issues/493
|
|
1174
1181
|
[#510]: https://github.com/AaronLasseigne/active_interaction/issues/510
|
|
1182
|
+
[#511]: https://github.com/AaronLasseigne/active_interaction/issues/511
|
|
1183
|
+
[#412]: https://github.com/AaronLasseigne/active_interaction/issues/412
|
|
1184
|
+
[#480]: https://github.com/AaronLasseigne/active_interaction/issues/480
|
|
@@ -48,6 +48,7 @@ module ActiveInteraction
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
def matches?(object)
|
|
51
|
+
return false if object.nil?
|
|
51
52
|
return matches_methods?(object) if options.key?(:methods)
|
|
52
53
|
|
|
53
54
|
const = from
|
|
@@ -61,7 +62,7 @@ module ActiveInteraction
|
|
|
61
62
|
end
|
|
62
63
|
|
|
63
64
|
def matches_methods?(object)
|
|
64
|
-
options
|
|
65
|
+
options[:methods].all? { |method| object.respond_to?(method) }
|
|
65
66
|
end
|
|
66
67
|
|
|
67
68
|
def checking_class_inheritance?(object, from)
|
|
@@ -73,48 +73,8 @@ module ActiveInteraction
|
|
|
73
73
|
end
|
|
74
74
|
end
|
|
75
75
|
|
|
76
|
-
def initialize
|
|
77
|
-
|
|
78
|
-
@groups.default_proc = ->(hash, key) { hash[key] = [] }
|
|
79
|
-
|
|
80
|
-
super(@inputs = {})
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
# Associates the `value` with the `key`. Allows the `key`/`value` pair to
|
|
84
|
-
# be associated with one or more groups.
|
|
85
|
-
#
|
|
86
|
-
# @example
|
|
87
|
-
# inputs.store(:key, :value)
|
|
88
|
-
# # => :value
|
|
89
|
-
# inputs.store(:key, :value, %i[a b])
|
|
90
|
-
# # => :value
|
|
91
|
-
#
|
|
92
|
-
# @param key [Object] The key to store the value under.
|
|
93
|
-
# @param value [Object] The value to store.
|
|
94
|
-
# @param groups [Array<Object>] The groups to store the pair under.
|
|
95
|
-
#
|
|
96
|
-
# @return [Object] value
|
|
97
|
-
# @private
|
|
98
|
-
def store(key, value, groups = [])
|
|
99
|
-
groups.each do |group|
|
|
100
|
-
@groups[group] << key
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
super(key, value)
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
# Returns inputs from the group name given.
|
|
107
|
-
#
|
|
108
|
-
# @example
|
|
109
|
-
# inputs.group(:a)
|
|
110
|
-
# # => {key: :value}
|
|
111
|
-
#
|
|
112
|
-
# @param name [Object] Name of the group to return.
|
|
113
|
-
#
|
|
114
|
-
# @return [Hash] Inputs from the group name given.
|
|
115
|
-
# @private
|
|
116
|
-
def group(name)
|
|
117
|
-
@inputs.select { |k, _| @groups[name].include?(k) }
|
|
76
|
+
def initialize(inputs = {})
|
|
77
|
+
super(inputs)
|
|
118
78
|
end
|
|
119
79
|
end
|
|
120
80
|
end
|
|
@@ -61,6 +61,17 @@ describe ActiveInteraction::InterfaceFilter, :filter do
|
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
|
|
64
|
+
context 'that is nil' do
|
|
65
|
+
let(:name) { :interface_module }
|
|
66
|
+
let(:value) { nil }
|
|
67
|
+
|
|
68
|
+
it 'raises an error' do
|
|
69
|
+
expect do
|
|
70
|
+
result
|
|
71
|
+
end.to raise_error ActiveInteraction::MissingValueError
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
64
75
|
context 'with the class itself' do
|
|
65
76
|
let(:name) { :interface_class }
|
|
66
77
|
let(:value) do
|
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: 4.0.
|
|
4
|
+
version: 4.0.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aaron Lasseigne
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2021-07-
|
|
12
|
+
date: 2021-07-11 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activemodel
|