pluck_all 2.3.2 → 2.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41bf75ef95bf276b2f1ab4777b6ca4d3c15c108fe82aab4283ff4010e3e96ceb
4
- data.tar.gz: de80e931f83c30605eeb69d1936acb97571987bde4f3cd716aa4ee6ce1ac628f
3
+ metadata.gz: 9b1dc14b7a03d6ac387de2518fdb5cbdb0108514ee3315a601d54041d1a79dce
4
+ data.tar.gz: 276538553a9630c8454c91182cf66e0f96db77d8e76071100b7f04402c11db43
5
5
  SHA512:
6
- metadata.gz: 7f00d0bed7a562f0fb36f539fbf0b79b8263d01cb92a79b3eedce02761649f1ca74a7e717ca1a48d36e9a161dd1ea956ed2a10d44790c1cc35a4d07c06c8850a
7
- data.tar.gz: 96156e825c47d0e3901f43123390c5ee6d979508658725490f70af3493aa272bf5f8b4ff79260fd5a46234f3d8f1588e91fd8d00fc6a022ab6782b9895886bfd
6
+ metadata.gz: a5417093197240c6c6768c8533ae5efac8a043301d4cb02504ab9bb3a06c1d1ee4a77ab9cde02af0c7da12256375f1c4426d99fb6f4c2e4c7c30c55fad412f0b
7
+ data.tar.gz: 741af484cc334b9e6cec7f9e07f9b399ef5d343bf3fcee51adc1f719479c7aa873d425bfcc816b5481769d77f182c5357386a05c9b888610f30c934530b61736
@@ -23,9 +23,11 @@ jobs:
23
23
  - ACTIVE_RECORD
24
24
  - MONGOID
25
25
  ruby:
26
- - 2.2
26
+ - 2.3
27
27
  - 2.6
28
28
  - 2.7
29
+ - 3.0
30
+ - 3.1
29
31
  gemfile:
30
32
  - active_record_32.gemfile
31
33
  - active_record_42.gemfile
@@ -34,41 +36,72 @@ jobs:
34
36
  - active_record_52.gemfile
35
37
  - active_record_60.gemfile
36
38
  - active_record_61.gemfile
39
+ - active_record_70.gemfile
37
40
  - mongoid_54.gemfile
38
41
  - mongoid_64.gemfile
39
- - mongoid_70.gemfile
42
+ - mongoid_73.gemfile
40
43
  exclude:
41
44
  - gemfile: active_record_32.gemfile
42
45
  ruby: 2.6
43
46
  - gemfile: active_record_32.gemfile
44
47
  ruby: 2.7
48
+ - gemfile: active_record_32.gemfile
49
+ ruby: 3.0
50
+ - gemfile: active_record_32.gemfile
51
+ ruby: 3.1
45
52
  - gemfile: active_record_32.gemfile
46
53
  orm: MONGOID
47
54
  - gemfile: active_record_42.gemfile
48
55
  ruby: 2.7
56
+ - gemfile: active_record_42.gemfile
57
+ ruby: 3.0
58
+ - gemfile: active_record_42.gemfile
59
+ ruby: 3.1
49
60
  - gemfile: active_record_42.gemfile
50
61
  orm: MONGOID
62
+ - gemfile: active_record_50.gemfile
63
+ ruby: 3.0
64
+ - gemfile: active_record_50.gemfile
65
+ ruby: 3.1
51
66
  - gemfile: active_record_50.gemfile
52
67
  orm: MONGOID
68
+ - gemfile: active_record_51.gemfile
69
+ ruby: 3.0
70
+ - gemfile: active_record_51.gemfile
71
+ ruby: 3.1
53
72
  - gemfile: active_record_51.gemfile
54
73
  orm: MONGOID
74
+ - gemfile: active_record_52.gemfile
75
+ ruby: 3.0
76
+ - gemfile: active_record_52.gemfile
77
+ ruby: 3.1
55
78
  - gemfile: active_record_52.gemfile
56
79
  orm: MONGOID
57
80
  - gemfile: active_record_60.gemfile
58
- ruby: 2.2
81
+ ruby: 2.3
59
82
  - gemfile: active_record_60.gemfile
60
83
  orm: MONGOID
61
84
  - gemfile: active_record_61.gemfile
62
- ruby: 2.2
85
+ ruby: 2.3
63
86
  - gemfile: active_record_61.gemfile
64
87
  orm: MONGOID
88
+ - gemfile: active_record_70.gemfile
89
+ ruby: 2.3
90
+ - gemfile: active_record_70.gemfile
91
+ ruby: 2.6
92
+ - gemfile: active_record_70.gemfile
93
+ orm: MONGOID
65
94
  - gemfile: mongoid_54.gemfile
66
95
  ruby: 2.7
96
+ - gemfile: mongoid_54.gemfile
97
+ ruby: 3.0
98
+ - gemfile: mongoid_54.gemfile
99
+ ruby: 3.1
67
100
  - gemfile: mongoid_54.gemfile
68
101
  orm: ACTIVE_RECORD
69
102
  - gemfile: mongoid_64.gemfile
70
103
  orm: ACTIVE_RECORD
71
- - gemfile: mongoid_70.gemfile
104
+ - gemfile: mongoid_73.gemfile
72
105
  orm: ACTIVE_RECORD
73
106
  env:
74
107
  BUNDLE_GEMFILE: "gemfiles/${{ matrix.gemfile }}"
@@ -76,7 +109,7 @@ jobs:
76
109
 
77
110
  services:
78
111
  mongodb:
79
- image: mongo:3.4.23
112
+ image: mongo:3.6.23
80
113
  ports:
81
114
  - 27017:27017
82
115
 
data/CHANGELOG.md CHANGED
@@ -1,82 +1,93 @@
1
- ## Change Log
2
-
3
- ### [v2.3.1](https://github.com/khiav223577/pluck_all/compare/v2.3.0...v2.3.1) 2021/06/10
4
- - [#53](https://github.com/khiav223577/pluck_all/pull/53) Fix: ActiveRecord::ImmutableRelation (@khiav223577)
5
-
6
- ### [v2.3.0](https://github.com/khiav223577/pluck_all/compare/v2.2.1...v2.3.0) 2021/06/10
7
- - [#52](https://github.com/khiav223577/pluck_all/pull/52) Support `globalize` gem (@khiav223577)
8
- - [#51](https://github.com/khiav223577/pluck_all/pull/51) Fix: broken test cases caused by `mimemagic` (@khiav223577)
9
- - [#50](https://github.com/khiav223577/pluck_all/pull/50) Migrating from Travis CI to GitHub Actions (@khiav223577)
10
- - [#49](https://github.com/khiav223577/pluck_all/pull/49) Fix: test files should not be included in coverage (@khiav223577)
11
-
12
- ### [v2.2.1](https://github.com/khiav223577/pluck_all/compare/v2.1.0...v2.2.1) 2020/12/29
13
- - [#48](https://github.com/khiav223577/pluck_all/pull/48) fix Rails 6.1 `map!` deprecation warning (@klausbadelt)
14
-
15
- ### [v2.1.0](https://github.com/khiav223577/pluck_all/compare/v2.0.4...v2.1.0) 2020/10/19
16
- - [#47](https://github.com/khiav223577/pluck_all/pull/47) Use instantiate method to initialize model without calling callbacks (@khiav223577)
17
- - [#45](https://github.com/khiav223577/pluck_all/pull/45) Support Ruby 2.7 (@khiav223577)
18
- - [#44](https://github.com/khiav223577/pluck_all/pull/44) Move `require` from begin..rescue block for better debug message (@khiav223577)
19
- - [#43](https://github.com/khiav223577/pluck_all/pull/43) Use rails_compatibility to get attribute_types for better compatibility (@khiav223577)
20
- - [#41](https://github.com/khiav223577/pluck_all/pull/41) Support Rails 6.0 (@khiav223577)
21
-
22
- ### [v2.0.4](https://github.com/khiav223577/pluck_all/compare/v2.0.3...v2.0.4) 2019/04/04
23
- - [#40](https://github.com/khiav223577/pluck_all/pull/40) Fix: inconsistent with pluck when having `select` on relation (@khiav223577)
24
- - [#39](https://github.com/khiav223577/pluck_all/pull/39) Fix: undefined local variable or method `construct_relation_for_association_calculations` in Rails 5.2.2.1 (@MasashiYokota)
25
- - [#36](https://github.com/khiav223577/pluck_all/pull/36) Fix: broken test cases after bundler 2.0 was released (@khiav223577)
26
- - [#35](https://github.com/khiav223577/pluck_all/pull/35) refactor #test_pluck_with_includes (@khiav223577)
27
- - [#34](https://github.com/khiav223577/pluck_all/pull/34) Provide Arel support as well (@snkashis)
28
- - [#33](https://github.com/khiav223577/pluck_all/pull/33) Fix gemfile path in bin/setup (@snkashis)
29
- - [#32](https://github.com/khiav223577/pluck_all/pull/32) Move patches into separate files (@khiav223577)
30
-
31
- ### [v2.0.3](https://github.com/khiav223577/pluck_all/compare/v2.0.2...v2.0.3) 2018/07/19
32
- - [#30](https://github.com/khiav223577/pluck_all/pull/30) Fix: includes + pluck_all results in strange output (@khiav223577)
33
-
34
- ### [v2.0.2](https://github.com/khiav223577/pluck_all/compare/v2.0.1...v2.0.2) 2018/06/29
35
- - [#28](https://github.com/khiav223577/pluck_all/pull/28) Fix test cases and the result format may be wrong when plucking multiple columns with nil value may (@khiav223577)
36
- - [#27](https://github.com/khiav223577/pluck_all/pull/27) [Feature] Mongoid Hooks And Tests Separation (@berniechiu)
37
- - [#26](https://github.com/khiav223577/pluck_all/pull/26) [FIX] Wrong Module Skipped (@berniechiu)
38
-
39
- ### [v2.0.1](https://github.com/khiav223577/pluck_all/compare/v2.0.0...v2.0.1) 2018/05/27
40
- - [#25](https://github.com/khiav223577/pluck_all/pull/25) Fix that project without mongoid will raise LoadError (@khiav223577)
41
-
42
- ### [v2.0.0](https://github.com/khiav223577/pluck_all/compare/v1.2.4...v2.0.0) 2018/05/27
43
- - [#24](https://github.com/khiav223577/pluck_all/pull/24) Support Mongoid! (@khiav223577)
44
- - [#23](https://github.com/khiav223577/pluck_all/pull/23) Refactoring Coding Style (@khiav223577)
45
- - [#22](https://github.com/khiav223577/pluck_all/pull/22) test Rails 5.2 (@khiav223577)
46
- - [#21](https://github.com/khiav223577/pluck_all/pull/21) should test both 5.0.x and 5.1.x (@khiav223577)
47
- - [#20](https://github.com/khiav223577/pluck_all/pull/20) test pluck_all in rails 5.1.x (@khiav223577)
48
- - [#19](https://github.com/khiav223577/pluck_all/pull/19) add test cases to test `join` with table name and `alias` (@khiav223577)
49
-
50
- ### [v1.2.4](https://github.com/khiav223577/pluck_all/compare/v1.2.3...v1.2.4) 2017/04/11
51
- - [#17](https://github.com/khiav223577/pluck_all/pull/17) supports carrierwave 1.0.0 (@khiav223577)
52
-
53
- ### [v1.2.3](https://github.com/khiav223577/pluck_all/compare/v1.2.2...v1.2.3) 2017/04/03
54
- - [#14](https://github.com/khiav223577/pluck_all/pull/14) use mass assign to assign values (@khiav223577)
55
- - [#16](https://github.com/khiav223577/pluck_all/pull/16) Checking if Class has CarrierWave loaded (@basex)
56
- - [#15](https://github.com/khiav223577/pluck_all/pull/15) Restrict dependency to activerecord (@basex)
57
-
58
- ### [v1.2.2](https://github.com/khiav223577/pluck_all/compare/v1.2.1...v1.2.2) 2017/03/14
59
- - [#13](https://github.com/khiav223577/pluck_all/pull/13) Model.none.pluck_all(..) should return empty array instead of raising exception (@khiav223577)
60
- - [#12](https://github.com/khiav223577/pluck_all/pull/12) test other ruby version (@khiav223577)
61
-
62
- ### [v1.2.1](https://github.com/khiav223577/pluck_all/compare/v1.2.0...v1.2.1) 2017/01/24
63
- - [#11](https://github.com/khiav223577/pluck_all/pull/11) always return carrierwave uploader if possible (@khiav223577)
64
- - [#10](https://github.com/khiav223577/pluck_all/pull/10) change pluck_all return value of carrierwave column (@khiav223577)
65
-
66
- ### [v1.2.0](https://github.com/khiav223577/pluck_all/compare/v1.1.2...v1.2.0) 2017/01/24
67
- - [#5](https://github.com/khiav223577/pluck_all/pull/5) Support casting CarrierWave url (@khiav223577)
68
- - [#9](https://github.com/khiav223577/pluck_all/pull/9) need ActiveRecord version not Rails version (@khiav223577)
69
- - [#8](https://github.com/khiav223577/pluck_all/pull/8) Upgrade rake version in development (@khiav223577)
70
-
71
- ### [v1.1.2](https://github.com/khiav223577/pluck_all/compare/v1.1.1...v1.1.2) 2017/01/06
72
- - [#7](https://github.com/khiav223577/pluck_all/pull/7) fix pluck_all with join (@khiav223577)
73
-
74
- ### [v1.1.1](https://github.com/khiav223577/pluck_all/compare/v1.1.0...v1.1.1) 2017/01/01
75
- - [#4](https://github.com/khiav223577/pluck_all/pull/4) add code climate (@khiav223577)
76
-
77
- ### [v1.1.0](https://github.com/khiav223577/pluck_all/compare/v1.0.1...v1.1.0) 2016/12/21
78
- - [#3](https://github.com/khiav223577/pluck_all/pull/3) Feature/pluck array (@khiav223577)
79
-
80
- ### [v1.0.1](https://github.com/khiav223577/pluck_all/compare/v1.0.0...v1.0.1) 2016/12/20
81
- - [#2](https://github.com/khiav223577/pluck_all/pull/2) test with multiple rails version (@khiav223577)
82
- - [#1](https://github.com/khiav223577/pluck_all/pull/1) add basic test cases (@khiav223577)
1
+ ## Change Log
2
+
3
+ ### [upcoming](https://github.com/khiav223577/pluck_all/compare/v2.3.3...HEAD) 2022/07/27
4
+ - [#59](https://github.com/khiav223577/pluck_all/pull/59) Refactor: use gem to setup autoload paths in tests (@khiav223577)
5
+ - [#58](https://github.com/khiav223577/pluck_all/pull/58) Support Ruby 3.1 and Rails 7.0 (@khiav223577)
6
+
7
+ ### [v2.3.3](https://github.com/khiav223577/pluck_all/compare/v2.3.2...v2.3.3) 2022/01/12
8
+ - [#57](https://github.com/khiav223577/pluck_all/pull/57) Fix: delegate method error with mongoid 7.3.3 (@khiav223577)
9
+ - [#55](https://github.com/khiav223577/pluck_all/pull/55) Support Ruby 3.0 (@khiav223577)
10
+
11
+ ### [v2.3.2](https://github.com/khiav223577/pluck_all/compare/v2.3.1...v2.3.2) 2021/06/10
12
+ - [#54](https://github.com/khiav223577/pluck_all/pull/54) Fix: ActiveRecord::ImmutableRelation II (@khiav223577)
13
+
14
+ ### [v2.3.1](https://github.com/khiav223577/pluck_all/compare/v2.3.0...v2.3.1) 2021/06/10
15
+ - [#53](https://github.com/khiav223577/pluck_all/pull/53) Fix: ActiveRecord::ImmutableRelation (@khiav223577)
16
+
17
+ ### [v2.3.0](https://github.com/khiav223577/pluck_all/compare/v2.2.1...v2.3.0) 2021/06/10
18
+ - [#52](https://github.com/khiav223577/pluck_all/pull/52) Support `globalize` gem (@khiav223577)
19
+ - [#51](https://github.com/khiav223577/pluck_all/pull/51) Fix: broken test cases caused by `mimemagic` (@khiav223577)
20
+ - [#50](https://github.com/khiav223577/pluck_all/pull/50) Migrating from Travis CI to GitHub Actions (@khiav223577)
21
+ - [#49](https://github.com/khiav223577/pluck_all/pull/49) Fix: test files should not be included in coverage (@khiav223577)
22
+
23
+ ### [v2.2.1](https://github.com/khiav223577/pluck_all/compare/v2.1.0...v2.2.1) 2020/12/29
24
+ - [#48](https://github.com/khiav223577/pluck_all/pull/48) fix Rails 6.1 `map!` deprecation warning (@klausbadelt)
25
+
26
+ ### [v2.1.0](https://github.com/khiav223577/pluck_all/compare/v2.0.4...v2.1.0) 2020/10/19
27
+ - [#47](https://github.com/khiav223577/pluck_all/pull/47) Use instantiate method to initialize model without calling callbacks (@khiav223577)
28
+ - [#45](https://github.com/khiav223577/pluck_all/pull/45) Support Ruby 2.7 (@khiav223577)
29
+ - [#44](https://github.com/khiav223577/pluck_all/pull/44) Move `require` from begin..rescue block for better debug message (@khiav223577)
30
+ - [#43](https://github.com/khiav223577/pluck_all/pull/43) Use rails_compatibility to get attribute_types for better compatibility (@khiav223577)
31
+ - [#41](https://github.com/khiav223577/pluck_all/pull/41) Support Rails 6.0 (@khiav223577)
32
+
33
+ ### [v2.0.4](https://github.com/khiav223577/pluck_all/compare/v2.0.3...v2.0.4) 2019/04/04
34
+ - [#40](https://github.com/khiav223577/pluck_all/pull/40) Fix: inconsistent with pluck when having `select` on relation (@khiav223577)
35
+ - [#39](https://github.com/khiav223577/pluck_all/pull/39) Fix: undefined local variable or method `construct_relation_for_association_calculations` in Rails 5.2.2.1 (@MasashiYokota)
36
+ - [#36](https://github.com/khiav223577/pluck_all/pull/36) Fix: broken test cases after bundler 2.0 was released (@khiav223577)
37
+ - [#35](https://github.com/khiav223577/pluck_all/pull/35) refactor #test_pluck_with_includes (@khiav223577)
38
+ - [#34](https://github.com/khiav223577/pluck_all/pull/34) Provide Arel support as well (@snkashis)
39
+ - [#33](https://github.com/khiav223577/pluck_all/pull/33) Fix gemfile path in bin/setup (@snkashis)
40
+ - [#32](https://github.com/khiav223577/pluck_all/pull/32) Move patches into separate files (@khiav223577)
41
+
42
+ ### [v2.0.3](https://github.com/khiav223577/pluck_all/compare/v2.0.2...v2.0.3) 2018/07/19
43
+ - [#30](https://github.com/khiav223577/pluck_all/pull/30) Fix: includes + pluck_all results in strange output (@khiav223577)
44
+
45
+ ### [v2.0.2](https://github.com/khiav223577/pluck_all/compare/v2.0.1...v2.0.2) 2018/06/29
46
+ - [#28](https://github.com/khiav223577/pluck_all/pull/28) Fix test cases and the result format may be wrong when plucking multiple columns with nil value may (@khiav223577)
47
+ - [#27](https://github.com/khiav223577/pluck_all/pull/27) [Feature] Mongoid Hooks And Tests Separation (@berniechiu)
48
+ - [#26](https://github.com/khiav223577/pluck_all/pull/26) [FIX] Wrong Module Skipped (@berniechiu)
49
+
50
+ ### [v2.0.1](https://github.com/khiav223577/pluck_all/compare/v2.0.0...v2.0.1) 2018/05/27
51
+ - [#25](https://github.com/khiav223577/pluck_all/pull/25) Fix that project without mongoid will raise LoadError (@khiav223577)
52
+
53
+ ### [v2.0.0](https://github.com/khiav223577/pluck_all/compare/v1.2.4...v2.0.0) 2018/05/27
54
+ - [#24](https://github.com/khiav223577/pluck_all/pull/24) Support Mongoid! (@khiav223577)
55
+ - [#23](https://github.com/khiav223577/pluck_all/pull/23) Refactoring Coding Style (@khiav223577)
56
+ - [#22](https://github.com/khiav223577/pluck_all/pull/22) test Rails 5.2 (@khiav223577)
57
+ - [#21](https://github.com/khiav223577/pluck_all/pull/21) should test both 5.0.x and 5.1.x (@khiav223577)
58
+ - [#20](https://github.com/khiav223577/pluck_all/pull/20) test pluck_all in rails 5.1.x (@khiav223577)
59
+ - [#19](https://github.com/khiav223577/pluck_all/pull/19) add test cases to test `join` with table name and `alias` (@khiav223577)
60
+
61
+ ### [v1.2.4](https://github.com/khiav223577/pluck_all/compare/v1.2.3...v1.2.4) 2017/04/11
62
+ - [#17](https://github.com/khiav223577/pluck_all/pull/17) supports carrierwave 1.0.0 (@khiav223577)
63
+
64
+ ### [v1.2.3](https://github.com/khiav223577/pluck_all/compare/v1.2.2...v1.2.3) 2017/04/03
65
+ - [#14](https://github.com/khiav223577/pluck_all/pull/14) use mass assign to assign values (@khiav223577)
66
+ - [#16](https://github.com/khiav223577/pluck_all/pull/16) Checking if Class has CarrierWave loaded (@basex)
67
+ - [#15](https://github.com/khiav223577/pluck_all/pull/15) Restrict dependency to activerecord (@basex)
68
+
69
+ ### [v1.2.2](https://github.com/khiav223577/pluck_all/compare/v1.2.1...v1.2.2) 2017/03/14
70
+ - [#13](https://github.com/khiav223577/pluck_all/pull/13) Model.none.pluck_all(..) should return empty array instead of raising exception (@khiav223577)
71
+ - [#12](https://github.com/khiav223577/pluck_all/pull/12) test other ruby version (@khiav223577)
72
+
73
+ ### [v1.2.1](https://github.com/khiav223577/pluck_all/compare/v1.2.0...v1.2.1) 2017/01/24
74
+ - [#11](https://github.com/khiav223577/pluck_all/pull/11) always return carrierwave uploader if possible (@khiav223577)
75
+ - [#10](https://github.com/khiav223577/pluck_all/pull/10) change pluck_all return value of carrierwave column (@khiav223577)
76
+
77
+ ### [v1.2.0](https://github.com/khiav223577/pluck_all/compare/v1.1.2...v1.2.0) 2017/01/24
78
+ - [#5](https://github.com/khiav223577/pluck_all/pull/5) Support casting CarrierWave url (@khiav223577)
79
+ - [#9](https://github.com/khiav223577/pluck_all/pull/9) need ActiveRecord version not Rails version (@khiav223577)
80
+ - [#8](https://github.com/khiav223577/pluck_all/pull/8) Upgrade rake version in development (@khiav223577)
81
+
82
+ ### [v1.1.2](https://github.com/khiav223577/pluck_all/compare/v1.1.1...v1.1.2) 2017/01/06
83
+ - [#7](https://github.com/khiav223577/pluck_all/pull/7) fix pluck_all with join (@khiav223577)
84
+
85
+ ### [v1.1.1](https://github.com/khiav223577/pluck_all/compare/v1.1.0...v1.1.1) 2017/01/01
86
+ - [#4](https://github.com/khiav223577/pluck_all/pull/4) add code climate (@khiav223577)
87
+
88
+ ### [v1.1.0](https://github.com/khiav223577/pluck_all/compare/v1.0.1...v1.1.0) 2016/12/21
89
+ - [#3](https://github.com/khiav223577/pluck_all/pull/3) Feature/pluck array (@khiav223577)
90
+
91
+ ### [v1.0.1](https://github.com/khiav223577/pluck_all/compare/v1.0.0...v1.0.1) 2016/12/20
92
+ - [#2](https://github.com/khiav223577/pluck_all/pull/2) test with multiple rails version (@khiav223577)
93
+ - [#1](https://github.com/khiav223577/pluck_all/pull/1) add basic test cases (@khiav223577)
data/README.md CHANGED
@@ -15,8 +15,8 @@ If you have a Rails 3 project, and want to pluck not only one column,
15
15
  feel free to use this gem and no need to worry about upgrading to Rails 4, 5, 6 in the future will break this.
16
16
 
17
17
  ## Supports
18
- - Ruby 2.2 ~ 2.7
19
- - Rails 3.2, 4.2, 5.0, 5.1, 5.2, 6.0, 6.1
18
+ - Ruby 2.3 ~ 2.7, 3.0 ~ 3.1
19
+ - Rails 3.2, 4.2, 5.0, 5.1, 5.2, 6.0, 6.1, 7.0
20
20
 
21
21
  ## Installation
22
22
 
@@ -0,0 +1,19 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in pluck_all.gemspec
4
+
5
+ gem 'sqlite3', '~> 1.4.1'
6
+ gem 'zeitwerk'
7
+ gem 'activerecord', '~> 7.0.6'
8
+ gem 'rails_compatibility', '~> 0.0.7'
9
+
10
+ gem 'carrierwave', '~> 0.11.0'
11
+ gem 'mimemagic', '< 0.4.3' # Used by carrierwave gem
12
+
13
+ # gem 'globalize', '~> 6.0.1' # TODO: wait for globalize to support Rails 7.
14
+
15
+ group :test do
16
+ gem 'simplecov', '< 0.18'
17
+ end
18
+
19
+ gemspec path: '../'
@@ -0,0 +1,16 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in pluck_all.gemspec
4
+
5
+ gem 'mongoid', '~> 7.3.3'
6
+
7
+ # We need zeitwerk for autoloading in Rails 7
8
+ # But zeitwerk required ruby >= 2.4.4, we cannot test it in ruby 2.3
9
+ # So we lock the version below 7
10
+ gem 'activesupport', '< 7'
11
+
12
+ group :test do
13
+ gem 'simplecov', '< 0.18'
14
+ end
15
+
16
+ gemspec path: '../'
@@ -1,7 +1,6 @@
1
- require 'rails_compatibility/attribute_types'
2
1
  require 'rails_compatibility/has_include'
3
2
  require 'rails_compatibility/apply_join_dependency'
4
- require_relative 'patches/deserialize'
3
+ require 'rails_compatibility/cast_values'
5
4
 
6
5
  class ActiveRecord::Relation
7
6
  def cast_need_columns(column_names, _klass = nil)
@@ -28,14 +27,10 @@ class ActiveRecord::Relation
28
27
  if Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new('4.0.0')
29
28
  def pluck_all(*column_names, cast_uploader_url: true)
30
29
  result = select_all(column_names)
31
- result.map! do |attributes| # This map! behaves different to array#map!
32
- initialized_attributes = klass.initialize_attributes(attributes)
33
- attributes.each do |key, _attribute|
34
- attributes[key] = klass.type_cast_attribute(key, initialized_attributes) # TODO: 現在AS過後的type cast會有一點問題
35
- end
36
- cast_carrier_wave_uploader_url(attributes) if cast_uploader_url
37
- next attributes
38
- end
30
+ casted_result = RailsCompatibility.cast_values(klass, result)
31
+
32
+ casted_result.each{|attributes| cast_carrier_wave_uploader_url(attributes) } if cast_uploader_url
33
+ return casted_result
39
34
  end
40
35
 
41
36
  private
@@ -57,14 +52,10 @@ class ActiveRecord::Relation
57
52
  return RailsCompatibility.apply_join_dependency(self).pluck_all(*column_names) if has_include
58
53
 
59
54
  result = select_all(column_names)
60
- attribute_types = RailsCompatibility.attribute_types(klass)
61
- result.map do |attributes| # This map behaves different to array#map
62
- attributes.each do |key, attribute|
63
- attributes[key] = result.send(:column_type, key, attribute_types).deserialize(attribute) # TODO: 現在AS過後的type cast會有一點問題,但似乎原生的pluck也有此問題
64
- end
65
- cast_carrier_wave_uploader_url(attributes) if cast_uploader_url
66
- next attributes
67
- end
55
+ casted_result = RailsCompatibility.cast_values(klass, result)
56
+
57
+ casted_result.each{|attributes| cast_carrier_wave_uploader_url(attributes) } if cast_uploader_url
58
+ return casted_result
68
59
  end
69
60
 
70
61
  private
@@ -1,21 +1,39 @@
1
1
  # frozen_string_literal: true
2
2
  module Mongoid
3
3
  module Document::ClassMethods
4
- def pluck_array(*fields)
5
- where(nil).pluck_array(*fields)
6
- end
4
+ if defined?(Mongoid::Errors::CriteriaArgumentRequired)
5
+ def pluck_array(*fields)
6
+ where.pluck_array(*fields)
7
+ end
8
+
9
+ def pluck_all(*fields)
10
+ where.pluck_all(*fields)
11
+ end
12
+ else
13
+ def pluck_array(*fields)
14
+ where(nil).pluck_array(*fields)
15
+ end
7
16
 
8
- def pluck_all(*fields)
9
- where(nil).pluck_all(*fields)
17
+ def pluck_all(*fields)
18
+ where(nil).pluck_all(*fields)
19
+ end
10
20
  end
11
21
  end
12
22
 
13
23
  module Findable
14
- delegate :pluck_all, :pluck_array, to: :with_default_scope
24
+ if singleton_class < Forwardable
25
+ def_delegators :with_default_scope, :pluck_all, :pluck_array
26
+ else
27
+ delegate :pluck_all, :pluck_array, to: :with_default_scope
28
+ end
15
29
  end
16
30
 
17
31
  module Contextual
18
- delegate :pluck_all, :pluck_array, to: :context
32
+ if singleton_class < Forwardable
33
+ def_delegators :context, :pluck_all, :pluck_array
34
+ else
35
+ delegate :pluck_all, :pluck_array, to: :context
36
+ end
19
37
 
20
38
  class None
21
39
  def pluck_array(*)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module PluckAll
3
- VERSION = '2.3.2'
3
+ VERSION = '2.3.4'
4
4
  end
data/pluck_all.gemspec CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
  }
36
36
 
37
37
  spec.add_dependency 'activesupport', '>= 3.0.0'
38
- spec.add_dependency 'rails_compatibility', '>= 0.0.7'
38
+ spec.add_dependency 'rails_compatibility', '>= 0.0.10'
39
39
 
40
40
  spec.add_development_dependency 'bundler', '>= 1.17', '< 3.x'
41
41
  spec.add_development_dependency 'rake', '~> 12.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pluck_all
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - khiav reoy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-10 00:00:00.000000000 Z
11
+ date: 2023-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.7
33
+ version: 0.0.10
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.7
40
+ version: 0.0.10
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -113,14 +113,14 @@ files:
113
113
  - gemfiles/active_record_52.gemfile
114
114
  - gemfiles/active_record_60.gemfile
115
115
  - gemfiles/active_record_61.gemfile
116
+ - gemfiles/active_record_70.gemfile
116
117
  - gemfiles/mongoid_54.gemfile
117
118
  - gemfiles/mongoid_64.gemfile
118
- - gemfiles/mongoid_70.gemfile
119
+ - gemfiles/mongoid_73.gemfile
119
120
  - lib/pluck_all.rb
120
121
  - lib/pluck_all/hooks.rb
121
122
  - lib/pluck_all/models/active_record_extension.rb
122
123
  - lib/pluck_all/models/mongoid_extension.rb
123
- - lib/pluck_all/models/patches/deserialize.rb
124
124
  - lib/pluck_all/version.rb
125
125
  - pluck_all.gemspec
126
126
  homepage: https://github.com/khiav223577/pluck_all
@@ -1,11 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in pluck_all.gemspec
4
-
5
- gem 'mongoid', '~> 7.0.0'
6
-
7
- group :test do
8
- gem 'simplecov', '< 0.18'
9
- end
10
-
11
- gemspec path: '../'
@@ -1,13 +0,0 @@
1
- module ActiveRecord
2
- [
3
- *([Type::Value, Type::Integer, Type::Serialized] if defined?(Type::Value)),
4
- *([Enum::EnumType] if defined?(Enum::EnumType)),
5
- ].each do |s|
6
- s.class_eval do
7
- if !method_defined?(:deserialize) && method_defined?(:type_cast_from_database)
8
- # deserialize was changed to type_cast_from_database in Rails 5
9
- alias_method :deserialize, :type_cast_from_database
10
- end
11
- end
12
- end
13
- end