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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b4ba5afb10682defd3fec434ce090683350920a7924355f03fc9ba6a354a359
4
- data.tar.gz: a5c1300b56153db7d6d948aae6890d4ff564cdbe6f09da15598ee5266f2cdffa
3
+ metadata.gz: c174dce6961320bbde11d567cc8182fddef4ece108a0e606100dc089884490ae
4
+ data.tar.gz: 040e97a0b3d983fd099d1f3cd306a2d61cd43b2e00b45ab183359b16a86d2bbb
5
5
  SHA512:
6
- metadata.gz: 32ee028031d164330f111b04ef2a87c2ec1ff040b563e3f250849a5ad26769ee159d4db6813d8cbfbde48a48905e16fc1ebd444ff304aab556961aac8c63558a
7
- data.tar.gz: 348fe9db93d4c928c85f922a11c0079051267cb2bc7bd1839935875bd7a9d37a4f3fed34066422a3ceaa1cf005e5ca7a8fd3e3dad81ed0340a3338492b76839a
6
+ metadata.gz: f66fb8926e1e5d443df1b896540f207951c416b4ef47bb969d7e090ccfc73cae75d36996019f7dd48edaa70f1472b427a35d96268a8d3882a07ecd2cb127e2e1
7
+ data.tar.gz: 9e718bc1814ca6259f8bf62290199a36f026d94afdc5dc49ed615cfec8a5b0f7a12ff41b55514e2f90873e58b501ea412389c8da7a64bd9e521a446c66e84ad1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 2.0.0
@@ -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 |value|
31
- relation = invoke_param(relation, name, value)
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? { |value| true?(value) }
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? { |value| true?(value) }
93
- @params[name] = false if values.all? { |value| false?(value) }
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(/[\.:\s]+/, 2)
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: column, direction: direction } : {}
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? && !orders.any? { |o| o[:column] == order[:column] }
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
- @@version ||= File.read(File.expand_path("#{__dir__}/../VERSION")).strip.freeze
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.send(:include, ScopedFrom::ActiveRecord)
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 = `git ls-files | grep -vE '^(spec/|test/|\\.|Gemfile|Rakefile)'`.split("\n")
13
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
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 = '>= 2.0.0'
16
+ s.required_ruby_version = '>= 3.1.0'
17
17
 
18
- s.add_dependency 'activerecord', '>= 5.0.0', '< 6.0.0'
19
- s.add_dependency 'activesupport', '>= 5.0.0', '< 6.0.0'
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', '>= 5.0.0', '< 6.0.0'
22
- s.add_development_dependency 'byebug', '>= 3.2.0', '< 10.0.0'
23
- s.add_development_dependency 'rake', '>= 10.3.0', '< 13.0.0'
24
- s.add_development_dependency 'rspec', '>= 3.1.0', '< 3.7.0'
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: 1.1.1
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: 2018-07-11 00:00:00.000000000 Z
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: 5.0.0
19
+ version: 7.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 6.0.0
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: 5.0.0
29
+ version: 7.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 6.0.0
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: 5.0.0
39
+ version: 7.0.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: 6.0.0
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: 5.0.0
49
+ version: 7.0.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: 6.0.0
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: 5.0.0
59
+ version: 7.0.0
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: 6.0.0
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: 5.0.0
69
+ version: 7.0.0
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: 6.0.0
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: 10.0.0
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: 10.0.0
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: 13.0.0
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: 13.0.0
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.7.0
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.7.0
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: 2.0.0
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
- rubyforge_project:
187
- rubygems_version: 2.7.6
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: []