active_interaction 5.1.0 → 5.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/active_interaction/filter.rb +9 -12
- data/lib/active_interaction/version.rb +1 -1
- data/spec/active_interaction/filter_spec.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1205bfc3c95589bd74fdb6395e09573c01210a95bf5d6644b70fef11cacea914
|
4
|
+
data.tar.gz: 2494a61529d645f6dcfaef940e4d54e404bda94eb78eabbac605dcc14221e422
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6037171bd7f2ddc2af0204e2af5fdf0140725678698e7c4fa27875f16446c7c8be0b69aa83da30626bf9fe96ae00a5f76ffc92274cfd9654abad355e611df7ed
|
7
|
+
data.tar.gz: fac17df5266c5a72809fbc32ab3e84d840b35fe59cb2d483511b27c46beaec197b5a5e669d740ef023bf064df82a8ac8d5cbcd94bba60b3c5e0ba72969b385c2
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# [5.1.1][] (2022-09-01)
|
2
|
+
|
3
|
+
## Fixed
|
4
|
+
|
5
|
+
- [#539][] - Fixed a caching error in default values.
|
6
|
+
|
1
7
|
# [5.1.0][] (2022-07-28)
|
2
8
|
|
3
9
|
## Added
|
@@ -1112,6 +1118,7 @@ Example.run
|
|
1112
1118
|
|
1113
1119
|
- Initial release.
|
1114
1120
|
|
1121
|
+
[5.1.1]: https://github.com/AaronLasseigne/active_interaction/compare/v5.1.0...v5.1.1
|
1115
1122
|
[5.1.0]: https://github.com/AaronLasseigne/active_interaction/compare/v5.0.0...v5.1.0
|
1116
1123
|
[5.0.0]: https://github.com/AaronLasseigne/active_interaction/compare/v4.1.0...v5.0.0
|
1117
1124
|
[4.1.0]: https://github.com/AaronLasseigne/active_interaction/compare/v4.0.6...v4.1.0
|
@@ -1339,3 +1346,4 @@ Example.run
|
|
1339
1346
|
[#503]: https://github.com/AaronLasseigne/active_interaction/issues/503
|
1340
1347
|
[#536]: https://github.com/AaronLasseigne/active_interaction/issues/536
|
1341
1348
|
[#537]: https://github.com/AaronLasseigne/active_interaction/issues/537
|
1349
|
+
[#539]: https://github.com/AaronLasseigne/active_interaction/issues/539
|
@@ -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.
|
@@ -36,4 +36,25 @@ describe ActiveInteraction::Filter, :filter do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
describe '#default' do
|
41
|
+
subject(:filter) { ActiveInteraction::IntegerFilter.new(:test, default: default) }
|
42
|
+
|
43
|
+
context 'when it is a value' do
|
44
|
+
let(:default) { 1 }
|
45
|
+
|
46
|
+
it 'returns the default' do
|
47
|
+
expect(filter.default).to be 1
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context 'when it is a proc' do
|
52
|
+
let(:default) { -> { i + 1 } }
|
53
|
+
|
54
|
+
it 'returns the default' do
|
55
|
+
expect(filter.default(double(i: 0))).to be 1 # rubocop:disable RSpec/VerifiedDoubles
|
56
|
+
expect(filter.default(double(i: 1))).to be 2 # rubocop:disable RSpec/VerifiedDoubles
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
39
60
|
end
|
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: 5.1.
|
4
|
+
version: 5.1.1
|
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: 2022-
|
12
|
+
date: 2022-09-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|