active_interaction 2.1.2 → 2.1.3
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 +14 -0
- data/lib/active_interaction.rb +1 -1
- data/lib/active_interaction/filters/abstract_date_time_filter.rb +2 -2
- data/lib/active_interaction/filters/array_filter.rb +9 -3
- data/lib/active_interaction/filters/object_filter.rb +1 -1
- data/lib/active_interaction/version.rb +1 -1
- data/spec/active_interaction/integration/array_interaction_spec.rb +13 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12ca7dc31a385a251040b047f2ebbd4021b66e42
|
4
|
+
data.tar.gz: e7b0bccef0972305632647ea92a7900befce5b8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b59c1e221db8a9ac461ed422c35d1b0df70991cb7202c7c29f4e3d6da258db91e520d839cb2fdc442e43a21d4f56c575e677ed192adbe7e1c98c78b64da197f
|
7
|
+
data.tar.gz: 2a418966e8f5d576a610d96aec2b79242398fcab79c55c624317eab94509099d8d0fe3eaba92a4804320fff299bf7786ce15d571755918c005d61b937989dac3
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
# [2.1.3][] (2015-10-02)
|
2
|
+
|
3
|
+
## Fixed
|
4
|
+
|
5
|
+
- [#303][]: Allowed ActiveRecord associations as inputs to array filters.
|
6
|
+
|
7
|
+
## Changed
|
8
|
+
|
9
|
+
- [#304][]: Improved the error message for object filters when the class does
|
10
|
+
not exist.
|
11
|
+
|
1
12
|
# [2.1.2][] (2015-09-03)
|
2
13
|
|
3
14
|
## Fixed
|
@@ -444,6 +455,7 @@ For help upgrading to version 2, please read [the announcement post][].
|
|
444
455
|
|
445
456
|
- Initial release.
|
446
457
|
|
458
|
+
[2.1.3]: https://github.com/orgsync/active_interaction/compare/v2.1.2...v2.1.3
|
447
459
|
[2.1.2]: https://github.com/orgsync/active_interaction/compare/v2.1.1...v2.1.2
|
448
460
|
[2.1.1]: https://github.com/orgsync/active_interaction/compare/v2.1.0...v2.1.1
|
449
461
|
[2.1.0]: https://github.com/orgsync/active_interaction/compare/v2.0.1...v2.1.0
|
@@ -583,5 +595,7 @@ For help upgrading to version 2, please read [the announcement post][].
|
|
583
595
|
[#295]: https://github.com/orgsync/active_interaction/issues/295
|
584
596
|
[#296]: https://github.com/orgsync/active_interaction/issues/296
|
585
597
|
[#298]: https://github.com/orgsync/active_interaction/issues/298
|
598
|
+
[#303]: https://github.com/orgsync/active_interaction/issues/303
|
599
|
+
[#304]: https://github.com/orgsync/active_interaction/issues/304
|
586
600
|
|
587
601
|
[the announcement post]: http://devblog.orgsync.com/2015/05/06/announcing-active-interaction-2/
|
data/lib/active_interaction.rb
CHANGED
@@ -59,10 +59,16 @@ module ActiveInteraction
|
|
59
59
|
# @return [Array<Class>]
|
60
60
|
def classes
|
61
61
|
result = [Array]
|
62
|
-
return result unless Object.const_defined?(:ActiveRecord)
|
63
|
-
return result unless ActiveRecord.const_defined?(:Relation)
|
64
62
|
|
65
|
-
|
63
|
+
%w[
|
64
|
+
ActiveRecord::Relation
|
65
|
+
ActiveRecord::Associations::CollectionProxy
|
66
|
+
].each do |name|
|
67
|
+
next unless (klass = name.safe_constantize)
|
68
|
+
result.push(klass)
|
69
|
+
end
|
70
|
+
|
71
|
+
result
|
66
72
|
end
|
67
73
|
|
68
74
|
# @param filter [Filter]
|
@@ -42,7 +42,7 @@ module ActiveInteraction
|
|
42
42
|
klass_name = options.fetch(:class, name).to_s.camelize
|
43
43
|
Object.const_get(klass_name)
|
44
44
|
rescue NameError
|
45
|
-
raise InvalidClassError, klass_name.inspect
|
45
|
+
raise InvalidClassError, "class #{klass_name.inspect} does not exist"
|
46
46
|
end
|
47
47
|
|
48
48
|
# @param value [Object]
|
@@ -2,6 +2,16 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
+
module ActiveRecord
|
6
|
+
class Relation
|
7
|
+
end
|
8
|
+
|
9
|
+
module Associations
|
10
|
+
class CollectionProxy
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
5
15
|
ArrayInteraction = Class.new(TestInteraction) do
|
6
16
|
array :a do
|
7
17
|
array
|
@@ -14,6 +24,9 @@ end
|
|
14
24
|
describe ArrayInteraction do
|
15
25
|
include_context 'interactions'
|
16
26
|
it_behaves_like 'an interaction', :array, -> { [] }
|
27
|
+
it_behaves_like 'an interaction', :array, -> { ActiveRecord::Relation.new }
|
28
|
+
it_behaves_like 'an interaction', :array,
|
29
|
+
-> { ActiveRecord::Associations::CollectionProxy.new }
|
17
30
|
|
18
31
|
context 'with inputs[:a]' do
|
19
32
|
let(:a) { [[]] }
|
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: 2.1.
|
4
|
+
version: 2.1.3
|
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: 2015-
|
12
|
+
date: 2015-10-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|