scoped_from 1.1.1 → 2.0.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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/scoped_from/query.rb +8 -8
- data/lib/scoped_from.rb +2 -2
- data/scoped_from.gemspec +12 -9
- metadata +85 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c174dce6961320bbde11d567cc8182fddef4ece108a0e606100dc089884490ae
|
4
|
+
data.tar.gz: 040e97a0b3d983fd099d1f3cd306a2d61cd43b2e00b45ab183359b16a86d2bbb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f66fb8926e1e5d443df1b896540f207951c416b4ef47bb969d7e090ccfc73cae75d36996019f7dd48edaa70f1472b427a35d96268a8d3882a07ecd2cb127e2e1
|
7
|
+
data.tar.gz: 9e718bc1814ca6259f8bf62290199a36f026d94afdc5dc49ed615cfec8a5b0f7a12ff41b55514e2f90873e58b501ea412389c8da7a64bd9e521a446c66e84ad1
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0
|
data/lib/scoped_from/query.rb
CHANGED
@@ -27,8 +27,8 @@ module ScopedFrom
|
|
27
27
|
def relation
|
28
28
|
relation = @relation
|
29
29
|
params.each do |name, value|
|
30
|
-
[value].flatten.each do |
|
31
|
-
relation = invoke_param(relation, name,
|
30
|
+
[value].flatten.each do |val|
|
31
|
+
relation = invoke_param(relation, name, val)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
decorate_relation(relation)
|
@@ -83,14 +83,14 @@ module ScopedFrom
|
|
83
83
|
orders = parse_orders(values).map { |order| "#{order[:column]}.#{order[:direction]}" }
|
84
84
|
@params[name] = (orders.many? ? orders : orders.first) if orders.any?
|
85
85
|
elsif @relation.scope_without_argument?(name)
|
86
|
-
@params[name] = true if values.all? { |
|
86
|
+
@params[name] = true if values.all? { |val| true?(val) }
|
87
87
|
elsif @relation.scope_with_one_argument?(name)
|
88
88
|
value = values.many? ? values : values.first
|
89
89
|
@params[name] = @params[name] ? [@params[name], value].flatten : value
|
90
90
|
elsif @options[:exclude_columns].blank? && @relation.column_names.include?(name.to_s)
|
91
91
|
if @relation.columns_hash[name.to_s].type == :boolean
|
92
|
-
@params[name] = true if values.all? { |
|
93
|
-
@params[name] = false if values.all? { |
|
92
|
+
@params[name] = true if values.all? { |val| true?(val) }
|
93
|
+
@params[name] = false if values.all? { |val| false?(val) }
|
94
94
|
else
|
95
95
|
value = values.many? ? values : values.first
|
96
96
|
@params[name] = @params[name] ? [@params[name], value].flatten : value
|
@@ -102,17 +102,17 @@ module ScopedFrom
|
|
102
102
|
end
|
103
103
|
|
104
104
|
def parse_order(value)
|
105
|
-
column, direction = value.to_s.split(/[
|
105
|
+
column, direction = value.to_s.split(/[.:\s]+/, 2)
|
106
106
|
direction = direction.to_s.downcase
|
107
107
|
direction = ORDER_DIRECTIONS.first unless ORDER_DIRECTIONS.include?(direction)
|
108
|
-
@relation.column_names.include?(column) ? { column
|
108
|
+
@relation.column_names.include?(column) ? { column:, direction: } : {}
|
109
109
|
end
|
110
110
|
|
111
111
|
def parse_orders(values)
|
112
112
|
[].tap do |orders|
|
113
113
|
values.each do |value|
|
114
114
|
order = parse_order(value)
|
115
|
-
orders << order if order.present? &&
|
115
|
+
orders << order if order.present? && orders.none? { |o| o[:column] == order[:column] }
|
116
116
|
end
|
117
117
|
end
|
118
118
|
end
|
data/lib/scoped_from.rb
CHANGED
@@ -9,7 +9,7 @@ require 'active_support/core_ext/object/to_query'
|
|
9
9
|
module ScopedFrom
|
10
10
|
|
11
11
|
def self.version
|
12
|
-
|
12
|
+
@version ||= File.read(File.expand_path("#{__dir__}/../VERSION")).strip.freeze
|
13
13
|
end
|
14
14
|
|
15
15
|
end
|
@@ -19,4 +19,4 @@ lib_path = "#{__dir__}/scoped_from"
|
|
19
19
|
require "#{lib_path}/active_record"
|
20
20
|
require "#{lib_path}/query"
|
21
21
|
|
22
|
-
ActiveRecord::Base.
|
22
|
+
ActiveRecord::Base.include(ScopedFrom::ActiveRecord)
|
data/scoped_from.gemspec
CHANGED
@@ -9,18 +9,21 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.description = 'Provides a simple mapping between Active Record scopes and controller parameters for Ruby On Rails 4'
|
10
10
|
s.license = 'MIT'
|
11
11
|
|
12
|
-
s.files =
|
13
|
-
s.executables =
|
12
|
+
s.files = %x(git ls-files | grep -vE '^(spec/|test/|\\.|Gemfile|Rakefile)').split("\n")
|
13
|
+
s.executables = %x(git ls-files -- bin/*).split("\n").map { |f| File.basename(f) }
|
14
14
|
s.require_paths = ['lib']
|
15
15
|
|
16
|
-
s.required_ruby_version = '>=
|
16
|
+
s.required_ruby_version = '>= 3.1.0'
|
17
17
|
|
18
|
-
s.add_dependency 'activerecord', '>=
|
19
|
-
s.add_dependency 'activesupport', '>=
|
18
|
+
s.add_dependency 'activerecord', '>= 7.0.0', '< 8.0.0'
|
19
|
+
s.add_dependency 'activesupport', '>= 7.0.0', '< 8.0.0'
|
20
20
|
|
21
|
-
s.add_development_dependency 'actionpack', '>=
|
22
|
-
s.add_development_dependency 'byebug', '>= 3.2.0', '<
|
23
|
-
s.add_development_dependency 'rake', '>= 10.3.0', '<
|
24
|
-
s.add_development_dependency 'rspec', '>= 3.1.0', '< 3.
|
21
|
+
s.add_development_dependency 'actionpack', '>= 7.0.0', '< 8.0.0'
|
22
|
+
s.add_development_dependency 'byebug', '>= 3.2.0', '< 12.0.0'
|
23
|
+
s.add_development_dependency 'rake', '>= 10.3.0', '< 14.0.0'
|
24
|
+
s.add_development_dependency 'rspec', '>= 3.1.0', '< 3.11.0'
|
25
|
+
s.add_development_dependency 'rubocop', '>= 1.25.0', '< 2.0.0'
|
26
|
+
s.add_development_dependency 'rubocop-rake', '>= 0.6.0', '< 1.0.0'
|
27
|
+
s.add_development_dependency 'rubocop-rspec', '>= 2.8.0', '< 3.0.0'
|
25
28
|
s.add_development_dependency 'sqlite3-ruby', '>= 1.3.0', '< 1.4.0'
|
26
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scoped_from
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexis Toulotte
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -16,60 +16,60 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 7.0.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 8.0.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 7.0.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 8.0.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: activesupport
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 7.0.0
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 8.0.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
49
|
+
version: 7.0.0
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
52
|
+
version: 8.0.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: actionpack
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
59
|
+
version: 7.0.0
|
60
60
|
- - "<"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: 8.0.0
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: 7.0.0
|
70
70
|
- - "<"
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version:
|
72
|
+
version: 8.0.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: byebug
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -79,7 +79,7 @@ dependencies:
|
|
79
79
|
version: 3.2.0
|
80
80
|
- - "<"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 12.0.0
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -89,7 +89,7 @@ dependencies:
|
|
89
89
|
version: 3.2.0
|
90
90
|
- - "<"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
92
|
+
version: 12.0.0
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rake
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
version: 10.3.0
|
100
100
|
- - "<"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
102
|
+
version: 14.0.0
|
103
103
|
type: :development
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: 10.3.0
|
110
110
|
- - "<"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
112
|
+
version: 14.0.0
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rspec
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,7 +119,7 @@ dependencies:
|
|
119
119
|
version: 3.1.0
|
120
120
|
- - "<"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 3.
|
122
|
+
version: 3.11.0
|
123
123
|
type: :development
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -129,7 +129,67 @@ dependencies:
|
|
129
129
|
version: 3.1.0
|
130
130
|
- - "<"
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 3.
|
132
|
+
version: 3.11.0
|
133
|
+
- !ruby/object:Gem::Dependency
|
134
|
+
name: rubocop
|
135
|
+
requirement: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: 1.25.0
|
140
|
+
- - "<"
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 2.0.0
|
143
|
+
type: :development
|
144
|
+
prerelease: false
|
145
|
+
version_requirements: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - ">="
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 1.25.0
|
150
|
+
- - "<"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 2.0.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop-rake
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.6.0
|
160
|
+
- - "<"
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 1.0.0
|
163
|
+
type: :development
|
164
|
+
prerelease: false
|
165
|
+
version_requirements: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: 0.6.0
|
170
|
+
- - "<"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 1.0.0
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: rubocop-rspec
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: 2.8.0
|
180
|
+
- - "<"
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: 3.0.0
|
183
|
+
type: :development
|
184
|
+
prerelease: false
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - ">="
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: 2.8.0
|
190
|
+
- - "<"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: 3.0.0
|
133
193
|
- !ruby/object:Gem::Dependency
|
134
194
|
name: sqlite3-ruby
|
135
195
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,7 +228,7 @@ homepage: https://github.com/alexistoulotte/scoped_from
|
|
168
228
|
licenses:
|
169
229
|
- MIT
|
170
230
|
metadata: {}
|
171
|
-
post_install_message:
|
231
|
+
post_install_message:
|
172
232
|
rdoc_options: []
|
173
233
|
require_paths:
|
174
234
|
- lib
|
@@ -176,16 +236,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
176
236
|
requirements:
|
177
237
|
- - ">="
|
178
238
|
- !ruby/object:Gem::Version
|
179
|
-
version:
|
239
|
+
version: 3.1.0
|
180
240
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
241
|
requirements:
|
182
242
|
- - ">="
|
183
243
|
- !ruby/object:Gem::Version
|
184
244
|
version: '0'
|
185
245
|
requirements: []
|
186
|
-
|
187
|
-
|
188
|
-
signing_key:
|
246
|
+
rubygems_version: 3.3.3
|
247
|
+
signing_key:
|
189
248
|
specification_version: 4
|
190
249
|
summary: Mapping between scopes and parameters for Rails
|
191
250
|
test_files: []
|