scoped_from 1.1.1 → 2.0.0

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: 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: []