active_hash_relation 1.1.0 → 1.2.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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +2 -0
  3. data/.travis.yml +15 -0
  4. data/README.md +68 -11
  5. data/active_hash_relation.gemspec +13 -0
  6. data/lib/active_hash_relation.rb +18 -12
  7. data/lib/active_hash_relation/aggregation.rb +3 -0
  8. data/lib/active_hash_relation/association_filters.rb +3 -0
  9. data/lib/active_hash_relation/column_filters.rb +45 -11
  10. data/lib/active_hash_relation/filter_applier.rb +37 -23
  11. data/lib/active_hash_relation/helpers.rb +22 -2
  12. data/lib/active_hash_relation/scope_filters.rb +8 -1
  13. data/lib/active_hash_relation/sort_filters.rb +12 -0
  14. data/lib/active_hash_relation/version.rb +1 -1
  15. data/lib/active_record/scope_names.rb +4 -19
  16. data/lib/generators/active_hash_relation/initialize_generator.rb +13 -0
  17. data/lib/generators/active_hash_relation/templates/active_hash_relation.rb +12 -0
  18. data/spec/config/initializers/active_hash_relation.rb +16 -0
  19. data/spec/db/migrate/001_basic_schema.rb +53 -0
  20. data/spec/dummy-rails4/.gitignore +13 -0
  21. data/spec/dummy-rails4/.ruby-version +1 -0
  22. data/spec/dummy-rails4/Gemfile +18 -0
  23. data/spec/dummy-rails4/README.md +3 -0
  24. data/spec/dummy-rails4/Rakefile +6 -0
  25. data/spec/dummy-rails4/app/controllers/application_controller.rb +5 -0
  26. data/spec/dummy-rails4/app/models/.keep +0 -0
  27. data/spec/dummy-rails4/app/models/address.rb +1 -0
  28. data/spec/dummy-rails4/app/models/micropost.rb +1 -0
  29. data/spec/dummy-rails4/app/models/relationship.rb +1 -0
  30. data/spec/dummy-rails4/app/models/user.rb +1 -0
  31. data/spec/dummy-rails4/bin/bundle +3 -0
  32. data/spec/dummy-rails4/bin/rails +4 -0
  33. data/spec/dummy-rails4/bin/rake +4 -0
  34. data/spec/dummy-rails4/bin/setup +29 -0
  35. data/spec/dummy-rails4/config.ru +4 -0
  36. data/spec/dummy-rails4/config/application.rb +35 -0
  37. data/spec/dummy-rails4/config/boot.rb +3 -0
  38. data/spec/dummy-rails4/config/database.yml +18 -0
  39. data/spec/dummy-rails4/config/environment.rb +5 -0
  40. data/spec/dummy-rails4/config/environments/development.rb +41 -0
  41. data/spec/dummy-rails4/config/environments/production.rb +79 -0
  42. data/spec/dummy-rails4/config/environments/test.rb +42 -0
  43. data/spec/dummy-rails4/config/initializers/active_hash_relation.rb +3 -0
  44. data/spec/dummy-rails4/config/initializers/assets.rb +11 -0
  45. data/spec/dummy-rails4/config/initializers/backtrace_silencers.rb +7 -0
  46. data/spec/dummy-rails4/config/initializers/cookies_serializer.rb +3 -0
  47. data/spec/dummy-rails4/config/initializers/filter_parameter_logging.rb +4 -0
  48. data/spec/dummy-rails4/config/initializers/inflections.rb +16 -0
  49. data/spec/dummy-rails4/config/initializers/mime_types.rb +4 -0
  50. data/spec/dummy-rails4/config/initializers/session_store.rb +3 -0
  51. data/spec/dummy-rails4/config/initializers/wrap_parameters.rb +14 -0
  52. data/spec/dummy-rails4/config/locales/en.yml +23 -0
  53. data/spec/dummy-rails4/config/routes.rb +56 -0
  54. data/spec/dummy-rails4/config/secrets.yml +22 -0
  55. data/spec/dummy-rails4/db/migrate/001_basic_schema.rb +1 -0
  56. data/spec/dummy-rails4/db/schema.rb +69 -0
  57. data/spec/dummy-rails4/spec/factories/factories.rb +1 -0
  58. data/spec/dummy-rails4/spec/rails_helper.rb +19 -0
  59. data/spec/dummy-rails4/spec/spec_helper.rb +99 -0
  60. data/spec/dummy-rails4/spec/support/support.rb +1 -0
  61. data/spec/dummy-rails4/spec/tests/tests_spec.rb +3 -0
  62. data/spec/dummy-rails5/.gitignore +17 -0
  63. data/spec/dummy-rails5/.rspec +2 -0
  64. data/spec/dummy-rails5/.ruby-version +1 -0
  65. data/spec/dummy-rails5/Gemfile +19 -0
  66. data/spec/dummy-rails5/README.md +3 -0
  67. data/spec/dummy-rails5/Rakefile +6 -0
  68. data/spec/dummy-rails5/app/controllers/application_controller.rb +3 -0
  69. data/spec/dummy-rails5/app/models/address.rb +1 -0
  70. data/spec/dummy-rails5/app/models/micropost.rb +1 -0
  71. data/spec/dummy-rails5/app/models/relationship.rb +1 -0
  72. data/spec/dummy-rails5/app/models/user.rb +1 -0
  73. data/spec/dummy-rails5/bin/bundle +3 -0
  74. data/spec/dummy-rails5/bin/rails +4 -0
  75. data/spec/dummy-rails5/bin/rake +4 -0
  76. data/spec/dummy-rails5/bin/setup +34 -0
  77. data/spec/dummy-rails5/bin/update +29 -0
  78. data/spec/dummy-rails5/config.ru +5 -0
  79. data/spec/dummy-rails5/config/application.rb +25 -0
  80. data/spec/dummy-rails5/config/boot.rb +3 -0
  81. data/spec/dummy-rails5/config/cable.yml +9 -0
  82. data/spec/dummy-rails5/config/database.yml +18 -0
  83. data/spec/dummy-rails5/config/environment.rb +5 -0
  84. data/spec/dummy-rails5/config/environments/development.rb +54 -0
  85. data/spec/dummy-rails5/config/environments/production.rb +86 -0
  86. data/spec/dummy-rails5/config/environments/test.rb +42 -0
  87. data/spec/dummy-rails5/config/initializers/active_hash_relation.rb +3 -0
  88. data/spec/dummy-rails5/config/initializers/application_controller_renderer.rb +6 -0
  89. data/spec/dummy-rails5/config/initializers/assets.rb +11 -0
  90. data/spec/dummy-rails5/config/initializers/backtrace_silencers.rb +7 -0
  91. data/spec/dummy-rails5/config/initializers/cookies_serializer.rb +5 -0
  92. data/spec/dummy-rails5/config/initializers/filter_parameter_logging.rb +4 -0
  93. data/spec/dummy-rails5/config/initializers/inflections.rb +16 -0
  94. data/spec/dummy-rails5/config/initializers/mime_types.rb +4 -0
  95. data/spec/dummy-rails5/config/initializers/new_framework_defaults.rb +24 -0
  96. data/spec/dummy-rails5/config/initializers/session_store.rb +3 -0
  97. data/spec/dummy-rails5/config/initializers/wrap_parameters.rb +14 -0
  98. data/spec/dummy-rails5/config/locales/en.yml +23 -0
  99. data/spec/dummy-rails5/config/puma.rb +47 -0
  100. data/spec/dummy-rails5/config/routes.rb +3 -0
  101. data/spec/dummy-rails5/config/secrets.yml +22 -0
  102. data/spec/dummy-rails5/config/spring.rb +6 -0
  103. data/spec/dummy-rails5/db/migrate/001_basic_schema.rb +2 -0
  104. data/spec/dummy-rails5/db/schema.rb +64 -0
  105. data/spec/dummy-rails5/spec/factories/factories.rb +1 -0
  106. data/spec/dummy-rails5/spec/rails_helper.rb +19 -0
  107. data/spec/dummy-rails5/spec/spec_helper.rb +99 -0
  108. data/spec/dummy-rails5/spec/support/support.rb +1 -0
  109. data/spec/dummy-rails5/spec/tests/tests_spec.rb +3 -0
  110. data/spec/factories/factories.rb +39 -0
  111. data/spec/models/address.rb +7 -0
  112. data/spec/models/application_record.rb +3 -0
  113. data/spec/models/micropost.rb +9 -0
  114. data/spec/models/relationship.rb +9 -0
  115. data/spec/models/user.rb +32 -0
  116. data/spec/support/support.rb +62 -0
  117. data/spec/tests/aggregations/avg_spec.rb +45 -0
  118. data/spec/tests/aggregations/max_spec.rb +45 -0
  119. data/spec/tests/aggregations/min_spec.rb +46 -0
  120. data/spec/tests/aggregations/sum_spec.rb +43 -0
  121. data/spec/tests/associations/belongs_to_spec.rb +96 -0
  122. data/spec/tests/associations/has_many_spec.rb +91 -0
  123. data/spec/tests/associations/has_one_spec.rb +89 -0
  124. data/spec/tests/booleans_spec.rb +29 -0
  125. data/spec/tests/limit_spec.rb +30 -0
  126. data/spec/tests/null_spec.rb +44 -0
  127. data/spec/tests/numbers_spec.rb +142 -0
  128. data/spec/tests/or_filter_spec.rb +98 -0
  129. data/spec/tests/primary_key_spec.rb +29 -0
  130. data/spec/tests/scopes_spec.rb +48 -0
  131. data/spec/tests/sorting_spec.rb +100 -0
  132. data/spec/tests/strings_spec.rb +86 -0
  133. metadata +392 -4
@@ -0,0 +1,48 @@
1
+ describe ActiveHashRelation do
2
+ include Helpers
3
+
4
+ context 'scopes' do
5
+ context 'without parameters' do
6
+ it "one scope clause" do
7
+ hash = {scopes: {unsocial: true}}
8
+
9
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
10
+ expected_query = q(
11
+ "SELECT users.* FROM users",
12
+ "WHERE users.followings_count = 0",
13
+ "AND users.followers_count = 0"
14
+ )
15
+
16
+ expect(strip(query)).to eq expected_query.to_s
17
+ end
18
+
19
+ it "multiple scope clauses" do
20
+ hash = {scopes: {unsocial: true, unverified: true}}
21
+
22
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
23
+ expected_query = q(
24
+ "SELECT users.* FROM users",
25
+ "WHERE users.verified = 'f'",
26
+ "AND users.followings_count = 0",
27
+ "AND users.followers_count = 0"
28
+ )
29
+
30
+ expect(strip(query)).to eq expected_query.to_s
31
+ end
32
+ end
33
+
34
+ context 'with parameters' do
35
+ it "one scope clause" do
36
+ hash = {scopes: {created_on: [Date.parse("12-12-1988")]}}
37
+
38
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
39
+ expected_query = q(
40
+ "SELECT users.* FROM users",
41
+ "WHERE (date(created_at) = '1988-12-12')",
42
+ )
43
+
44
+ expect(strip(query)).to eq expected_query.to_s
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,100 @@
1
+ describe ActiveHashRelation do
2
+ include Helpers
3
+
4
+ context 'sorting' do
5
+ context "one where clause" do
6
+ it "asc" do
7
+ hash = {
8
+ microposts_count: 10,
9
+ sort: {property: :microposts_count, order: :asc}
10
+ }
11
+
12
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
13
+ expected_query = q(
14
+ "SELECT users.* FROM users",
15
+ "WHERE (users.microposts_count = 10)",
16
+ "ORDER BY users.microposts_count ASC"
17
+ )
18
+
19
+ expect(strip(query)).to eq expected_query.to_s
20
+ end
21
+
22
+ it "multiple where clause" do
23
+ hash = {
24
+ microposts_count: 10,
25
+ sort: {property: :microposts_count, order: :desc}
26
+ }
27
+
28
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
29
+ expected_query = q(
30
+ "SELECT users.* FROM users",
31
+ "WHERE (users.microposts_count = 10)",
32
+ "ORDER BY users.microposts_count DESC"
33
+ )
34
+
35
+ expect(strip(query)).to eq expected_query.to_s
36
+ end
37
+ end
38
+
39
+ context "multiple where clauses" do
40
+ it "asc" do
41
+ hash = {
42
+ followers_count: {leq: 20},
43
+ microposts_count: 10,
44
+ sort: {property: :microposts_count, order: :asc}
45
+ }
46
+
47
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
48
+ expected_query = q(
49
+ "SELECT users.* FROM users",
50
+ "WHERE (users.microposts_count = 10)",
51
+ "AND (users.followers_count <= 20)",
52
+ "ORDER BY users.microposts_count ASC"
53
+ )
54
+
55
+ expect(strip(query)).to eq expected_query.to_s
56
+ end
57
+
58
+ it "multiple where clause" do
59
+ hash = {
60
+ followers_count: {leq: 20},
61
+ microposts_count: 10,
62
+ sort: {property: :microposts_count, order: :desc}
63
+ }
64
+
65
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
66
+ expected_query = q(
67
+ "SELECT users.* FROM users",
68
+ "WHERE (users.microposts_count = 10)",
69
+ "AND (users.followers_count <= 20)",
70
+ "ORDER BY users.microposts_count DESC"
71
+ )
72
+
73
+ expect(strip(query)).to eq expected_query.to_s
74
+ end
75
+ end
76
+
77
+ context "multiple sorting properties" do
78
+ it "with single where clause" do
79
+ hash = {
80
+ microposts_count: 10,
81
+ sort: [{
82
+ property: :microposts_count, order: :asc,
83
+ }, {
84
+ property: :followings_count, order: :desc
85
+ }]
86
+ }
87
+
88
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
89
+ expected_query = q(
90
+ "SELECT users.* FROM users",
91
+ "WHERE (users.microposts_count = 10)",
92
+ "ORDER BY users.microposts_count ASC, users.followings_count DESC"
93
+ )
94
+
95
+ expect(strip(query)).to eq expected_query.to_s
96
+ end
97
+ end
98
+ end
99
+
100
+ end
@@ -0,0 +1,86 @@
1
+ describe ActiveHashRelation do
2
+ include Helpers
3
+
4
+ context 'strings' do
5
+ it "one where clause" do
6
+ hash = {name: 'Filippos'}
7
+
8
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
9
+ expected_query = q(
10
+ "SELECT users.* FROM users WHERE (users.name = 'Filippos')"
11
+ )
12
+
13
+ expect(strip(query)).to eq expected_query.to_s
14
+ end
15
+
16
+ it "multiple where clause" do
17
+ hash = {name: 'Filippos', token: '123'}
18
+
19
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
20
+ expected_query = q(
21
+ "SELECT users.* FROM users WHERE (users.name = 'Filippos')",
22
+ "AND (users.token = '123')"
23
+ )
24
+
25
+ expect(strip(query)).to eq expected_query.to_s
26
+ end
27
+
28
+ it "multiple values" do
29
+ hash = {name: ['Filippos', 'Vasilakis']}
30
+
31
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
32
+ expected_query = q(
33
+ "SELECT users.* FROM users",
34
+ "WHERE (users.name IN ('Filippos', 'Vasilakis'))"
35
+ )
36
+
37
+ expect(strip(query)).to eq expected_query.to_s
38
+ end
39
+
40
+ context "queries" do
41
+ it 'eq' do
42
+ hash = {name: {eq: 'Filippos'}}
43
+
44
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
45
+ expected_query = q(
46
+ "SELECT users.* FROM users WHERE (users.name = 'Filippos')"
47
+ )
48
+
49
+ expect(strip(query)).to eq expected_query.to_s
50
+ end
51
+
52
+ it 'starts_with' do
53
+ hash = {name: {starts_with: 'Filippos'}}
54
+
55
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
56
+ expected_query = q(
57
+ "SELECT users.* FROM users WHERE (users.name LIKE 'Filippos%')"
58
+ )
59
+
60
+ expect(strip(query)).to eq expected_query.to_s
61
+ end
62
+
63
+ it 'ends_with' do
64
+ hash = {name: {ends_with: 'Filippos'}}
65
+
66
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
67
+ expected_query = q(
68
+ "SELECT users.* FROM users WHERE (users.name LIKE '%Filippos')"
69
+ )
70
+
71
+ expect(strip(query)).to eq expected_query.to_s
72
+ end
73
+
74
+ it 'like' do
75
+ hash = {name: {like: 'Filippos'}}
76
+
77
+ query = HelperClass.new.apply_filters(User.all, hash).to_sql
78
+ expected_query = q(
79
+ "SELECT users.* FROM users WHERE (users.name LIKE '%Filippos%')"
80
+ )
81
+
82
+ expect(strip(query)).to eq expected_query.to_s
83
+ end
84
+ end
85
+ end
86
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_hash_relation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Filippos Vasilakis
@@ -9,8 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-27 00:00:00.000000000 Z
12
+ date: 2017-02-12 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activerecord
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: activerecord
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
14
42
  - !ruby/object:Gem::Dependency
15
43
  name: bundler
16
44
  requirement: !ruby/object:Gem::Requirement
@@ -39,6 +67,132 @@ dependencies:
39
67
  - - "~>"
40
68
  - !ruby/object:Gem::Version
41
69
  version: '10.0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: factory_girl_rails
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '4.0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '4.0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: faker
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: database_cleaner
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: pry
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: sqlite3
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: pg
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: rails
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ - !ruby/object:Gem::Dependency
183
+ name: rspec-rails
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
42
196
  description: Simple gem that allows you to run multiple ActiveRecord::Relation using
43
197
  hash. Perfect for APIs.
44
198
  email:
@@ -49,6 +203,8 @@ extensions: []
49
203
  extra_rdoc_files: []
50
204
  files:
51
205
  - ".gitignore"
206
+ - ".rspec"
207
+ - ".travis.yml"
52
208
  - Gemfile
53
209
  - LICENSE.txt
54
210
  - README.md
@@ -65,6 +221,123 @@ files:
65
221
  - lib/active_hash_relation/sort_filters.rb
66
222
  - lib/active_hash_relation/version.rb
67
223
  - lib/active_record/scope_names.rb
224
+ - lib/generators/active_hash_relation/initialize_generator.rb
225
+ - lib/generators/active_hash_relation/templates/active_hash_relation.rb
226
+ - spec/config/initializers/active_hash_relation.rb
227
+ - spec/db/migrate/001_basic_schema.rb
228
+ - spec/dummy-rails4/.gitignore
229
+ - spec/dummy-rails4/.ruby-version
230
+ - spec/dummy-rails4/Gemfile
231
+ - spec/dummy-rails4/README.md
232
+ - spec/dummy-rails4/Rakefile
233
+ - spec/dummy-rails4/app/controllers/application_controller.rb
234
+ - spec/dummy-rails4/app/models/.keep
235
+ - spec/dummy-rails4/app/models/address.rb
236
+ - spec/dummy-rails4/app/models/micropost.rb
237
+ - spec/dummy-rails4/app/models/relationship.rb
238
+ - spec/dummy-rails4/app/models/user.rb
239
+ - spec/dummy-rails4/bin/bundle
240
+ - spec/dummy-rails4/bin/rails
241
+ - spec/dummy-rails4/bin/rake
242
+ - spec/dummy-rails4/bin/setup
243
+ - spec/dummy-rails4/config.ru
244
+ - spec/dummy-rails4/config/application.rb
245
+ - spec/dummy-rails4/config/boot.rb
246
+ - spec/dummy-rails4/config/database.yml
247
+ - spec/dummy-rails4/config/environment.rb
248
+ - spec/dummy-rails4/config/environments/development.rb
249
+ - spec/dummy-rails4/config/environments/production.rb
250
+ - spec/dummy-rails4/config/environments/test.rb
251
+ - spec/dummy-rails4/config/initializers/active_hash_relation.rb
252
+ - spec/dummy-rails4/config/initializers/assets.rb
253
+ - spec/dummy-rails4/config/initializers/backtrace_silencers.rb
254
+ - spec/dummy-rails4/config/initializers/cookies_serializer.rb
255
+ - spec/dummy-rails4/config/initializers/filter_parameter_logging.rb
256
+ - spec/dummy-rails4/config/initializers/inflections.rb
257
+ - spec/dummy-rails4/config/initializers/mime_types.rb
258
+ - spec/dummy-rails4/config/initializers/session_store.rb
259
+ - spec/dummy-rails4/config/initializers/wrap_parameters.rb
260
+ - spec/dummy-rails4/config/locales/en.yml
261
+ - spec/dummy-rails4/config/routes.rb
262
+ - spec/dummy-rails4/config/secrets.yml
263
+ - spec/dummy-rails4/db/migrate/001_basic_schema.rb
264
+ - spec/dummy-rails4/db/schema.rb
265
+ - spec/dummy-rails4/spec/factories/factories.rb
266
+ - spec/dummy-rails4/spec/rails_helper.rb
267
+ - spec/dummy-rails4/spec/spec_helper.rb
268
+ - spec/dummy-rails4/spec/support/support.rb
269
+ - spec/dummy-rails4/spec/tests/tests_spec.rb
270
+ - spec/dummy-rails5/.gitignore
271
+ - spec/dummy-rails5/.rspec
272
+ - spec/dummy-rails5/.ruby-version
273
+ - spec/dummy-rails5/Gemfile
274
+ - spec/dummy-rails5/README.md
275
+ - spec/dummy-rails5/Rakefile
276
+ - spec/dummy-rails5/app/controllers/application_controller.rb
277
+ - spec/dummy-rails5/app/models/address.rb
278
+ - spec/dummy-rails5/app/models/micropost.rb
279
+ - spec/dummy-rails5/app/models/relationship.rb
280
+ - spec/dummy-rails5/app/models/user.rb
281
+ - spec/dummy-rails5/bin/bundle
282
+ - spec/dummy-rails5/bin/rails
283
+ - spec/dummy-rails5/bin/rake
284
+ - spec/dummy-rails5/bin/setup
285
+ - spec/dummy-rails5/bin/update
286
+ - spec/dummy-rails5/config.ru
287
+ - spec/dummy-rails5/config/application.rb
288
+ - spec/dummy-rails5/config/boot.rb
289
+ - spec/dummy-rails5/config/cable.yml
290
+ - spec/dummy-rails5/config/database.yml
291
+ - spec/dummy-rails5/config/environment.rb
292
+ - spec/dummy-rails5/config/environments/development.rb
293
+ - spec/dummy-rails5/config/environments/production.rb
294
+ - spec/dummy-rails5/config/environments/test.rb
295
+ - spec/dummy-rails5/config/initializers/active_hash_relation.rb
296
+ - spec/dummy-rails5/config/initializers/application_controller_renderer.rb
297
+ - spec/dummy-rails5/config/initializers/assets.rb
298
+ - spec/dummy-rails5/config/initializers/backtrace_silencers.rb
299
+ - spec/dummy-rails5/config/initializers/cookies_serializer.rb
300
+ - spec/dummy-rails5/config/initializers/filter_parameter_logging.rb
301
+ - spec/dummy-rails5/config/initializers/inflections.rb
302
+ - spec/dummy-rails5/config/initializers/mime_types.rb
303
+ - spec/dummy-rails5/config/initializers/new_framework_defaults.rb
304
+ - spec/dummy-rails5/config/initializers/session_store.rb
305
+ - spec/dummy-rails5/config/initializers/wrap_parameters.rb
306
+ - spec/dummy-rails5/config/locales/en.yml
307
+ - spec/dummy-rails5/config/puma.rb
308
+ - spec/dummy-rails5/config/routes.rb
309
+ - spec/dummy-rails5/config/secrets.yml
310
+ - spec/dummy-rails5/config/spring.rb
311
+ - spec/dummy-rails5/db/migrate/001_basic_schema.rb
312
+ - spec/dummy-rails5/db/schema.rb
313
+ - spec/dummy-rails5/spec/factories/factories.rb
314
+ - spec/dummy-rails5/spec/rails_helper.rb
315
+ - spec/dummy-rails5/spec/spec_helper.rb
316
+ - spec/dummy-rails5/spec/support/support.rb
317
+ - spec/dummy-rails5/spec/tests/tests_spec.rb
318
+ - spec/factories/factories.rb
319
+ - spec/models/address.rb
320
+ - spec/models/application_record.rb
321
+ - spec/models/micropost.rb
322
+ - spec/models/relationship.rb
323
+ - spec/models/user.rb
324
+ - spec/support/support.rb
325
+ - spec/tests/aggregations/avg_spec.rb
326
+ - spec/tests/aggregations/max_spec.rb
327
+ - spec/tests/aggregations/min_spec.rb
328
+ - spec/tests/aggregations/sum_spec.rb
329
+ - spec/tests/associations/belongs_to_spec.rb
330
+ - spec/tests/associations/has_many_spec.rb
331
+ - spec/tests/associations/has_one_spec.rb
332
+ - spec/tests/booleans_spec.rb
333
+ - spec/tests/limit_spec.rb
334
+ - spec/tests/null_spec.rb
335
+ - spec/tests/numbers_spec.rb
336
+ - spec/tests/or_filter_spec.rb
337
+ - spec/tests/primary_key_spec.rb
338
+ - spec/tests/scopes_spec.rb
339
+ - spec/tests/sorting_spec.rb
340
+ - spec/tests/strings_spec.rb
68
341
  homepage: https://github.com/kollegorna/active_hash_relation
69
342
  licenses:
70
343
  - MIT
@@ -85,9 +358,124 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
358
  version: '0'
86
359
  requirements: []
87
360
  rubyforge_project:
88
- rubygems_version: 2.4.5
361
+ rubygems_version: 2.6.8
89
362
  signing_key:
90
363
  specification_version: 4
91
364
  summary: Simple gem that allows you to run multiple ActiveRecord::Relation using hash.
92
365
  Perfect for APIs.
93
- test_files: []
366
+ test_files:
367
+ - spec/config/initializers/active_hash_relation.rb
368
+ - spec/db/migrate/001_basic_schema.rb
369
+ - spec/dummy-rails4/.gitignore
370
+ - spec/dummy-rails4/.ruby-version
371
+ - spec/dummy-rails4/Gemfile
372
+ - spec/dummy-rails4/README.md
373
+ - spec/dummy-rails4/Rakefile
374
+ - spec/dummy-rails4/app/controllers/application_controller.rb
375
+ - spec/dummy-rails4/app/models/.keep
376
+ - spec/dummy-rails4/app/models/address.rb
377
+ - spec/dummy-rails4/app/models/micropost.rb
378
+ - spec/dummy-rails4/app/models/relationship.rb
379
+ - spec/dummy-rails4/app/models/user.rb
380
+ - spec/dummy-rails4/bin/bundle
381
+ - spec/dummy-rails4/bin/rails
382
+ - spec/dummy-rails4/bin/rake
383
+ - spec/dummy-rails4/bin/setup
384
+ - spec/dummy-rails4/config.ru
385
+ - spec/dummy-rails4/config/application.rb
386
+ - spec/dummy-rails4/config/boot.rb
387
+ - spec/dummy-rails4/config/database.yml
388
+ - spec/dummy-rails4/config/environment.rb
389
+ - spec/dummy-rails4/config/environments/development.rb
390
+ - spec/dummy-rails4/config/environments/production.rb
391
+ - spec/dummy-rails4/config/environments/test.rb
392
+ - spec/dummy-rails4/config/initializers/active_hash_relation.rb
393
+ - spec/dummy-rails4/config/initializers/assets.rb
394
+ - spec/dummy-rails4/config/initializers/backtrace_silencers.rb
395
+ - spec/dummy-rails4/config/initializers/cookies_serializer.rb
396
+ - spec/dummy-rails4/config/initializers/filter_parameter_logging.rb
397
+ - spec/dummy-rails4/config/initializers/inflections.rb
398
+ - spec/dummy-rails4/config/initializers/mime_types.rb
399
+ - spec/dummy-rails4/config/initializers/session_store.rb
400
+ - spec/dummy-rails4/config/initializers/wrap_parameters.rb
401
+ - spec/dummy-rails4/config/locales/en.yml
402
+ - spec/dummy-rails4/config/routes.rb
403
+ - spec/dummy-rails4/config/secrets.yml
404
+ - spec/dummy-rails4/db/migrate/001_basic_schema.rb
405
+ - spec/dummy-rails4/db/schema.rb
406
+ - spec/dummy-rails4/spec/factories/factories.rb
407
+ - spec/dummy-rails4/spec/rails_helper.rb
408
+ - spec/dummy-rails4/spec/spec_helper.rb
409
+ - spec/dummy-rails4/spec/support/support.rb
410
+ - spec/dummy-rails4/spec/tests/tests_spec.rb
411
+ - spec/dummy-rails5/.gitignore
412
+ - spec/dummy-rails5/.rspec
413
+ - spec/dummy-rails5/.ruby-version
414
+ - spec/dummy-rails5/Gemfile
415
+ - spec/dummy-rails5/README.md
416
+ - spec/dummy-rails5/Rakefile
417
+ - spec/dummy-rails5/app/controllers/application_controller.rb
418
+ - spec/dummy-rails5/app/models/address.rb
419
+ - spec/dummy-rails5/app/models/micropost.rb
420
+ - spec/dummy-rails5/app/models/relationship.rb
421
+ - spec/dummy-rails5/app/models/user.rb
422
+ - spec/dummy-rails5/bin/bundle
423
+ - spec/dummy-rails5/bin/rails
424
+ - spec/dummy-rails5/bin/rake
425
+ - spec/dummy-rails5/bin/setup
426
+ - spec/dummy-rails5/bin/update
427
+ - spec/dummy-rails5/config.ru
428
+ - spec/dummy-rails5/config/application.rb
429
+ - spec/dummy-rails5/config/boot.rb
430
+ - spec/dummy-rails5/config/cable.yml
431
+ - spec/dummy-rails5/config/database.yml
432
+ - spec/dummy-rails5/config/environment.rb
433
+ - spec/dummy-rails5/config/environments/development.rb
434
+ - spec/dummy-rails5/config/environments/production.rb
435
+ - spec/dummy-rails5/config/environments/test.rb
436
+ - spec/dummy-rails5/config/initializers/active_hash_relation.rb
437
+ - spec/dummy-rails5/config/initializers/application_controller_renderer.rb
438
+ - spec/dummy-rails5/config/initializers/assets.rb
439
+ - spec/dummy-rails5/config/initializers/backtrace_silencers.rb
440
+ - spec/dummy-rails5/config/initializers/cookies_serializer.rb
441
+ - spec/dummy-rails5/config/initializers/filter_parameter_logging.rb
442
+ - spec/dummy-rails5/config/initializers/inflections.rb
443
+ - spec/dummy-rails5/config/initializers/mime_types.rb
444
+ - spec/dummy-rails5/config/initializers/new_framework_defaults.rb
445
+ - spec/dummy-rails5/config/initializers/session_store.rb
446
+ - spec/dummy-rails5/config/initializers/wrap_parameters.rb
447
+ - spec/dummy-rails5/config/locales/en.yml
448
+ - spec/dummy-rails5/config/puma.rb
449
+ - spec/dummy-rails5/config/routes.rb
450
+ - spec/dummy-rails5/config/secrets.yml
451
+ - spec/dummy-rails5/config/spring.rb
452
+ - spec/dummy-rails5/db/migrate/001_basic_schema.rb
453
+ - spec/dummy-rails5/db/schema.rb
454
+ - spec/dummy-rails5/spec/factories/factories.rb
455
+ - spec/dummy-rails5/spec/rails_helper.rb
456
+ - spec/dummy-rails5/spec/spec_helper.rb
457
+ - spec/dummy-rails5/spec/support/support.rb
458
+ - spec/dummy-rails5/spec/tests/tests_spec.rb
459
+ - spec/factories/factories.rb
460
+ - spec/models/address.rb
461
+ - spec/models/application_record.rb
462
+ - spec/models/micropost.rb
463
+ - spec/models/relationship.rb
464
+ - spec/models/user.rb
465
+ - spec/support/support.rb
466
+ - spec/tests/aggregations/avg_spec.rb
467
+ - spec/tests/aggregations/max_spec.rb
468
+ - spec/tests/aggregations/min_spec.rb
469
+ - spec/tests/aggregations/sum_spec.rb
470
+ - spec/tests/associations/belongs_to_spec.rb
471
+ - spec/tests/associations/has_many_spec.rb
472
+ - spec/tests/associations/has_one_spec.rb
473
+ - spec/tests/booleans_spec.rb
474
+ - spec/tests/limit_spec.rb
475
+ - spec/tests/null_spec.rb
476
+ - spec/tests/numbers_spec.rb
477
+ - spec/tests/or_filter_spec.rb
478
+ - spec/tests/primary_key_spec.rb
479
+ - spec/tests/scopes_spec.rb
480
+ - spec/tests/sorting_spec.rb
481
+ - spec/tests/strings_spec.rb