scoped_from 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -1
- data/.rspec +1 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +33 -68
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/scoped_from/query.rb +5 -5
- data/lib/scoped_from.rb +3 -7
- data/scoped_from.gemspec +4 -3
- data/spec/mocks/user.rb +1 -1
- data/spec/scoped_from/active_record_spec.rb +10 -10
- data/spec/scoped_from/query_spec.rb +39 -41
- data/spec/spec_helper.rb +5 -5
- data/spec/support/bootsrap/database.rb +9 -9
- metadata +57 -36
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 60b1498cb3cb9245b530983e03de6747afc745ae
|
4
|
+
data.tar.gz: de5a35a889949ab68cab01190a2621e2eb1617b9
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 23769faa9d0b74681da6d8be60a0c9768519c3a08871a68f73725f4b18763b292471669022b2be4e6001d73e106c47d9a1ea88b7e69cb089413a14aa74c31e1a
|
7
|
+
data.tar.gz: 204779901e30475f4dfc0adc59f5ec4eb7719944d5aff87aeca19b92ec6a602c84643145d3b2d6b2ee470ab2bf15fa9f2ac72034bbc77da36117fdac203a4d3c
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
--colour
|
2
|
-
--
|
2
|
+
--order random
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,89 +1,54 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
scoped_from (0.
|
4
|
+
scoped_from (0.7.0)
|
5
5
|
activerecord (~> 3.2.0)
|
6
6
|
activesupport (~> 3.2.0)
|
7
7
|
|
8
8
|
GEM
|
9
|
-
remote:
|
9
|
+
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
|
12
|
-
|
13
|
-
activesupport (= 3.2.3)
|
11
|
+
activemodel (3.2.13)
|
12
|
+
activesupport (= 3.2.13)
|
14
13
|
builder (~> 3.0.0)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
rack-cache (~> 1.2)
|
19
|
-
rack-test (~> 0.6.1)
|
20
|
-
sprockets (~> 2.1.2)
|
21
|
-
activemodel (3.2.3)
|
22
|
-
activesupport (= 3.2.3)
|
23
|
-
builder (~> 3.0.0)
|
24
|
-
activerecord (3.2.3)
|
25
|
-
activemodel (= 3.2.3)
|
26
|
-
activesupport (= 3.2.3)
|
14
|
+
activerecord (3.2.13)
|
15
|
+
activemodel (= 3.2.13)
|
16
|
+
activesupport (= 3.2.13)
|
27
17
|
arel (~> 3.0.2)
|
28
18
|
tzinfo (~> 0.3.29)
|
29
|
-
activesupport (3.2.
|
30
|
-
i18n (
|
19
|
+
activesupport (3.2.13)
|
20
|
+
i18n (= 0.6.1)
|
31
21
|
multi_json (~> 1.0)
|
32
22
|
arel (3.0.2)
|
33
|
-
builder (3.0.
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
rake (>= 0.8.7)
|
53
|
-
rdoc (~> 3.4)
|
54
|
-
thor (~> 0.14.6)
|
55
|
-
rake (0.9.2.2)
|
56
|
-
rdoc (3.12)
|
57
|
-
json (~> 1.4)
|
58
|
-
rspec (2.10.0)
|
59
|
-
rspec-core (~> 2.10.0)
|
60
|
-
rspec-expectations (~> 2.10.0)
|
61
|
-
rspec-mocks (~> 2.10.0)
|
62
|
-
rspec-core (2.10.0)
|
63
|
-
rspec-expectations (2.10.0)
|
64
|
-
diff-lcs (~> 1.1.3)
|
65
|
-
rspec-mocks (2.10.1)
|
66
|
-
rspec-rails (2.10.1)
|
67
|
-
actionpack (>= 3.0)
|
68
|
-
activesupport (>= 3.0)
|
69
|
-
railties (>= 3.0)
|
70
|
-
rspec (~> 2.10.0)
|
71
|
-
sprockets (2.1.3)
|
72
|
-
hike (~> 1.2)
|
73
|
-
rack (~> 1.0)
|
74
|
-
tilt (~> 1.1, != 1.3.0)
|
75
|
-
sqlite3 (1.3.6)
|
23
|
+
builder (3.0.4)
|
24
|
+
byebug (1.6.1)
|
25
|
+
columnize (~> 0.3.6)
|
26
|
+
debugger-linecache (~> 1.2.0)
|
27
|
+
columnize (0.3.6)
|
28
|
+
debugger-linecache (1.2.0)
|
29
|
+
diff-lcs (1.2.4)
|
30
|
+
i18n (0.6.1)
|
31
|
+
multi_json (1.7.7)
|
32
|
+
rake (10.0.4)
|
33
|
+
rspec (2.14.1)
|
34
|
+
rspec-core (~> 2.14.0)
|
35
|
+
rspec-expectations (~> 2.14.0)
|
36
|
+
rspec-mocks (~> 2.14.0)
|
37
|
+
rspec-core (2.14.3)
|
38
|
+
rspec-expectations (2.14.0)
|
39
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
40
|
+
rspec-mocks (2.14.1)
|
41
|
+
sqlite3 (1.3.7)
|
76
42
|
sqlite3-ruby (1.3.3)
|
77
43
|
sqlite3 (>= 1.3.3)
|
78
|
-
|
79
|
-
tilt (1.3.3)
|
80
|
-
tzinfo (0.3.33)
|
44
|
+
tzinfo (0.3.37)
|
81
45
|
|
82
46
|
PLATFORMS
|
83
47
|
ruby
|
84
48
|
|
85
49
|
DEPENDENCIES
|
86
|
-
|
87
|
-
|
50
|
+
byebug (~> 1.6.0)
|
51
|
+
rake (~> 10.0.0)
|
52
|
+
rspec (~> 2.14.0)
|
88
53
|
scoped_from!
|
89
|
-
sqlite3-ruby
|
54
|
+
sqlite3-ruby (~> 1.3.0)
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
data/lib/scoped_from/query.rb
CHANGED
@@ -2,9 +2,9 @@ module ScopedFrom
|
|
2
2
|
|
3
3
|
class Query
|
4
4
|
|
5
|
-
FALSE_VALUES = %w(
|
6
|
-
ORDER_DIRECTIONS = %w(
|
7
|
-
TRUE_VALUES = %w(
|
5
|
+
FALSE_VALUES = %w(false no n off 0).freeze
|
6
|
+
ORDER_DIRECTIONS = %w(asc desc).freeze
|
7
|
+
TRUE_VALUES = %w(true yes y on 1).freeze
|
8
8
|
|
9
9
|
attr_reader :params
|
10
10
|
|
@@ -87,7 +87,7 @@ module ScopedFrom
|
|
87
87
|
column, direction = value.to_s.split(/[\.:\s]+/, 2)
|
88
88
|
direction = direction.to_s.downcase
|
89
89
|
direction = ORDER_DIRECTIONS.first unless ORDER_DIRECTIONS.include?(direction)
|
90
|
-
@scope.column_names.include?(column) ? { :
|
90
|
+
@scope.column_names.include?(column) ? { column: column, direction: direction } : {}
|
91
91
|
end
|
92
92
|
|
93
93
|
def parse_orders(values)
|
@@ -107,7 +107,7 @@ module ScopedFrom
|
|
107
107
|
elsif scope.scope_without_argument?(name)
|
108
108
|
scope.send(name)
|
109
109
|
elsif scope.column_names.include?(name.to_s)
|
110
|
-
scope.scoped(:
|
110
|
+
scope.scoped(conditions: { name => value })
|
111
111
|
else
|
112
112
|
scope
|
113
113
|
end
|
data/lib/scoped_from.rb
CHANGED
@@ -7,17 +7,13 @@ require 'active_support/core_ext/object/to_query'
|
|
7
7
|
|
8
8
|
module ScopedFrom
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
def version
|
13
|
-
@@version ||= File.read(File.expand_path(File.dirname(__FILE__) + '/../VERSION')).strip.freeze
|
14
|
-
end
|
15
|
-
|
10
|
+
def self.version
|
11
|
+
@@version ||= File.read(File.expand_path("#{__dir__}/../VERSION")).strip.freeze
|
16
12
|
end
|
17
13
|
|
18
14
|
end
|
19
15
|
|
20
|
-
lib_path =
|
16
|
+
lib_path = "#{__dir__}/scoped_from"
|
21
17
|
|
22
18
|
require "#{lib_path}/active_record"
|
23
19
|
require "#{lib_path}/query"
|
data/scoped_from.gemspec
CHANGED
@@ -18,7 +18,8 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.add_dependency 'activerecord', '~> 3.2.0'
|
19
19
|
s.add_dependency 'activesupport', '~> 3.2.0'
|
20
20
|
|
21
|
-
s.add_development_dependency '
|
22
|
-
s.add_development_dependency '
|
23
|
-
s.add_development_dependency '
|
21
|
+
s.add_development_dependency 'byebug', '~> 1.6.0'
|
22
|
+
s.add_development_dependency 'rake', '~> 10.0.0'
|
23
|
+
s.add_development_dependency 'rspec', '~> 2.14.0'
|
24
|
+
s.add_development_dependency 'sqlite3-ruby', '~> 1.3.0'
|
24
25
|
end
|
data/spec/mocks/user.rb
CHANGED
@@ -63,25 +63,25 @@ describe ScopedFrom::ActiveRecord do
|
|
63
63
|
describe '#scoped_from' do
|
64
64
|
|
65
65
|
it 'just build a new query and return its scope' do
|
66
|
-
query =
|
66
|
+
query = double(:query)
|
67
67
|
query.should_receive(:scope).and_return(42)
|
68
|
-
ScopedFrom::Query.should_receive(:new).with(User, 'foo', :
|
69
|
-
User.scoped_from('foo', :
|
68
|
+
ScopedFrom::Query.should_receive(:new).with(User, 'foo', except: 'bam').and_return(query)
|
69
|
+
User.scoped_from('foo', except: 'bam').should == 42
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'build scopes' do
|
73
|
-
User.scoped_from(:
|
74
|
-
User.scoped_from(:
|
73
|
+
User.scoped_from(search: 'jane').should == [users(:jane)]
|
74
|
+
User.scoped_from(search: 'john').should == [users(:john)]
|
75
75
|
end
|
76
76
|
|
77
77
|
it 'can be chained with other scopes' do
|
78
|
-
User.scoped_from(:
|
79
|
-
User.enabled.scoped_from(:
|
78
|
+
User.scoped_from(search: 'jane').should == [users(:jane)]
|
79
|
+
User.enabled.scoped_from(search: 'jane').should == []
|
80
80
|
end
|
81
81
|
|
82
82
|
it 'can be used with order as parameter' do
|
83
|
-
User.scoped_from(:
|
84
|
-
User.scoped_from(:
|
83
|
+
User.scoped_from(order: 'firstname').first.should == users(:jane)
|
84
|
+
User.scoped_from(order: 'firstname.desc').first.should == users(:john)
|
85
85
|
end
|
86
86
|
|
87
87
|
it 'builds a ScopedFrom::Query' do
|
@@ -98,7 +98,7 @@ describe ScopedFrom::ActiveRecord do
|
|
98
98
|
|
99
99
|
it 'builds a #{Class}Query if #{RecordClassName}Query is defined and is a ScopedFrom::Query' do
|
100
100
|
Comment.scoped_from({}).query.class.should be(CommentQuery)
|
101
|
-
Comment.where(:
|
101
|
+
Comment.where(foo: 'bar').scoped_from({}).query.class.should be(CommentQuery)
|
102
102
|
CommentQuery.should be_a(Class)
|
103
103
|
CommentQuery.ancestors.should include(ScopedFrom::Query)
|
104
104
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
require 'spec_helper'
|
4
2
|
|
5
3
|
describe ScopedFrom::Query do
|
@@ -75,16 +73,16 @@ describe ScopedFrom::Query do
|
|
75
73
|
describe '#order_column' do
|
76
74
|
|
77
75
|
it 'is column specified into "order" parameter' do
|
78
|
-
query(User, :
|
79
|
-
query(User, :
|
76
|
+
query(User, order: 'firstname').order_column.should == 'firstname'
|
77
|
+
query(User, order: 'lastname.desc').order_column.should == 'lastname'
|
80
78
|
end
|
81
79
|
|
82
80
|
it 'is nil if column does not exist' do
|
83
|
-
query(User, :
|
81
|
+
query(User, order: 'foo').order_column.should be_nil
|
84
82
|
end
|
85
83
|
|
86
84
|
it 'is nil if "order" param is not specified' do
|
87
|
-
query(User, :
|
85
|
+
query(User, search: 'foo').order_column.should be_nil
|
88
86
|
end
|
89
87
|
|
90
88
|
end
|
@@ -92,29 +90,29 @@ describe ScopedFrom::Query do
|
|
92
90
|
describe '#order_direction' do
|
93
91
|
|
94
92
|
it 'is direction specified into "order" parameter' do
|
95
|
-
query(User, :
|
96
|
-
query(User, :
|
93
|
+
query(User, order: 'firstname.asc').order_direction.should == 'asc'
|
94
|
+
query(User, order: 'firstname.desc').order_direction.should == 'desc'
|
97
95
|
end
|
98
96
|
|
99
97
|
it 'is "asc" if direction is not specified' do
|
100
|
-
query(User, :
|
98
|
+
query(User, order: 'firstname').order_direction.should == 'asc'
|
101
99
|
end
|
102
100
|
|
103
101
|
it 'is "asc" if direction is invalid' do
|
104
|
-
query(User, :
|
102
|
+
query(User, order: 'firstname.foo').order_direction.should == 'asc'
|
105
103
|
end
|
106
104
|
|
107
105
|
it 'is direction even specified in another case' do
|
108
|
-
query(User, :
|
109
|
-
query(User, :
|
106
|
+
query(User, order: 'firstname.ASc').order_direction.should == 'asc'
|
107
|
+
query(User, order: 'firstname.DeSC').order_direction.should == 'desc'
|
110
108
|
end
|
111
109
|
|
112
110
|
it 'is nil if column does not exist' do
|
113
|
-
query(User, :
|
111
|
+
query(User, order: 'foo.desc').order_direction.should be_nil
|
114
112
|
end
|
115
113
|
|
116
114
|
it 'is nil if "order" param is not specified' do
|
117
|
-
query(User, :
|
115
|
+
query(User, search: 'foo').order_direction.should be_nil
|
118
116
|
end
|
119
117
|
|
120
118
|
end
|
@@ -164,7 +162,7 @@ describe ScopedFrom::Query do
|
|
164
162
|
end
|
165
163
|
|
166
164
|
it 'can have multiple values (from hash)' do
|
167
|
-
query(User, :
|
165
|
+
query(User, search: ['bar', 'baz']).params.should == { 'search' => ['bar', 'baz'] }
|
168
166
|
end
|
169
167
|
|
170
168
|
it 'can have multiple values (from query string)' do
|
@@ -172,65 +170,65 @@ describe ScopedFrom::Query do
|
|
172
170
|
end
|
173
171
|
|
174
172
|
it 'converts value to true (or remove it) if scope takes no argument' do
|
175
|
-
query(User, :
|
176
|
-
query(User, :
|
173
|
+
query(User, latest: 'y').params.should == { 'latest' => true }
|
174
|
+
query(User, latest: 'no').params.should == {}
|
177
175
|
end
|
178
176
|
|
179
177
|
it 'converts value to true (or false) if column is a boolean one' do
|
180
|
-
query(User, :
|
181
|
-
query(User, :
|
182
|
-
query(User, :
|
183
|
-
query(User, :
|
178
|
+
query(User, admin: 'y').params.should == { 'admin' => true }
|
179
|
+
query(User, admin: 'False').params.should == { 'admin' => false }
|
180
|
+
query(User, admin: 'bar').params.should == {}
|
181
|
+
query(User, admin: ['y', false]).params.should == {}
|
184
182
|
end
|
185
183
|
|
186
184
|
it 'converts array value to true (or remove it) if scope takes no argument' do
|
187
|
-
query(User, :
|
188
|
-
query(User, :
|
189
|
-
query(User, :
|
190
|
-
query(User, :
|
191
|
-
query(User, :
|
185
|
+
query(User, latest: true).params.should == { 'latest' => true }
|
186
|
+
query(User, latest: ['Yes']).params.should == { 'latest' => true }
|
187
|
+
query(User, latest: ['no', 'yes']).params.should == {}
|
188
|
+
query(User, latest: ['no', nil]).params.should == {}
|
189
|
+
query(User, latest: ['fo']).params.should == {}
|
192
190
|
end
|
193
191
|
|
194
192
|
it 'flats array' do
|
195
|
-
query(User, :
|
193
|
+
query(User, search: [nil, ['bar', '', 'foo', ["\n ", 'baz']]]).params.should == { 'search' => [nil, 'bar', '', 'foo', "\n ", 'baz'] }
|
196
194
|
end
|
197
195
|
|
198
196
|
it 'change array with a single value in one value' do
|
199
|
-
query(User, :
|
197
|
+
query(User, search: ['bar']).params.should == { 'search' => 'bar' }
|
200
198
|
end
|
201
199
|
|
202
200
|
it 'does not modify given hash' do
|
203
|
-
hash = { :
|
201
|
+
hash = { search: 'foo', enabled: '1', bar: 'foo' }
|
204
202
|
query(User, hash)
|
205
|
-
hash.should == { :
|
203
|
+
hash.should == { search: 'foo', enabled: '1', bar: 'foo' }
|
206
204
|
end
|
207
205
|
|
208
206
|
it 'does not modify given array' do
|
209
207
|
items = ['bar', 'foo', nil]
|
210
|
-
query(User, :
|
208
|
+
query(User, search: items)
|
211
209
|
items.should == ['bar', 'foo', nil]
|
212
210
|
end
|
213
211
|
|
214
212
|
it 'accepts :only option' do
|
215
|
-
query(User, { :
|
216
|
-
query(User, { :
|
217
|
-
query(User, { :
|
218
|
-
query(User, { :
|
213
|
+
query(User, { search: 'bar', enabled: 'true' }, only: [:search]).params.should == { 'search' => 'bar' }
|
214
|
+
query(User, { search: 'bar', enabled: 'true' }, only: 'search').params.should == { 'search' => 'bar' }
|
215
|
+
query(User, { search: 'bar', firstname: 'Jane', enabled: 'true' }, only: 'search').params.should == { 'search' => 'bar' }
|
216
|
+
query(User, { search: 'bar', firstname: 'Jane', enabled: 'true' }, only: ['search', :firstname]).params.should == { 'search' => 'bar', 'firstname' => 'Jane' }
|
219
217
|
end
|
220
218
|
|
221
219
|
it 'accepts :except option' do
|
222
|
-
query(User, { :
|
223
|
-
query(User, { :
|
224
|
-
query(User, { :
|
225
|
-
query(User, { :
|
220
|
+
query(User, { search: 'bar', enabled: true }, except: [:search]).params.should == { 'enabled' => true }
|
221
|
+
query(User, { search: 'bar', enabled: true }, except: 'search').params.should == { 'enabled' => true }
|
222
|
+
query(User, { search: 'bar', firstname: 'Jane', enabled: true }, except: 'search').params.should == { 'enabled' => true, 'firstname' => 'Jane' }
|
223
|
+
query(User, { search: 'bar', firstname: 'Jane', enabled: true }, except: ['search', :firstname]).params.should == { 'enabled' => true }
|
226
224
|
end
|
227
225
|
|
228
226
|
it 'accepts a query instance' do
|
229
|
-
query(User, query(User, :
|
227
|
+
query(User, query(User, search: 'toto')).params.should == { 'search' => 'toto' }
|
230
228
|
end
|
231
229
|
|
232
230
|
it 'preserve blank values' do
|
233
|
-
query(User, { :
|
231
|
+
query(User, { search: "\n ", 'enabled' => true }).params.should == { 'search' => "\n ", 'enabled' => true }
|
234
232
|
end
|
235
233
|
|
236
234
|
it 'preserve blank values from array' do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
ENV["RAILS_ENV"] ||= 'test'
|
2
2
|
|
3
|
-
require File.
|
3
|
+
require File.expand_path("#{__dir__}/../lib/scoped_from")
|
4
4
|
|
5
5
|
# Support
|
6
|
-
Dir["#{
|
6
|
+
Dir["#{__dir__}/support/**/*.rb"].each { |f| require File.expand_path(f) }
|
7
7
|
|
8
8
|
# Mocks
|
9
|
-
ActiveSupport::Dependencies.autoload_paths << "#{
|
9
|
+
ActiveSupport::Dependencies.autoload_paths << "#{__dir__}/mocks"
|
10
10
|
|
11
11
|
RSpec.configure do |config|
|
12
12
|
config.include(UserMacro)
|
@@ -17,7 +17,7 @@ RSpec.configure do |config|
|
|
17
17
|
User.delete_all
|
18
18
|
Vote.delete_all
|
19
19
|
|
20
|
-
create_user(:john, :
|
21
|
-
create_user(:jane, :
|
20
|
+
create_user(:john, firstname: 'John', lastname: 'Doe', enabled: true, admin: true)
|
21
|
+
create_user(:jane, firstname: 'Jane', lastname: 'Doe', enabled: false, admin: false)
|
22
22
|
end
|
23
23
|
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
ActiveRecord::Base.establish_connection(:
|
1
|
+
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: File.expand_path("#{__dir__}/../../test.sqlite3"), timeout: 5000)
|
2
2
|
|
3
|
-
ActiveRecord::Base.connection.create_table(:comments, :
|
4
|
-
ActiveRecord::Base.connection.create_table(:posts, :
|
5
|
-
ActiveRecord::Base.connection.create_table(:users, :
|
6
|
-
t.string :firstname, :
|
7
|
-
t.string :lastname, :
|
8
|
-
t.boolean :enabled, :
|
9
|
-
t.boolean :admin, :
|
3
|
+
ActiveRecord::Base.connection.create_table(:comments, force: true)
|
4
|
+
ActiveRecord::Base.connection.create_table(:posts, force: true)
|
5
|
+
ActiveRecord::Base.connection.create_table(:users, force: true) do |t|
|
6
|
+
t.string :firstname, null: false
|
7
|
+
t.string :lastname, null: false
|
8
|
+
t.boolean :enabled, null: false, default: false
|
9
|
+
t.boolean :admin, null: false, default: false
|
10
10
|
t.timestamps
|
11
11
|
end
|
12
|
-
ActiveRecord::Base.connection.create_table(:votes, :
|
12
|
+
ActiveRecord::Base.connection.create_table(:votes, force: true)
|
metadata
CHANGED
@@ -1,71 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scoped_from
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.7.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Alexis Toulotte
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-07-15 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activerecord
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 3.2.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 3.2.0
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: activesupport
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
31
|
- - ~>
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: 3.2.0
|
33
34
|
type: :runtime
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.2.0
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement:
|
39
|
-
none: false
|
42
|
+
name: byebug
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
45
|
- - ~>
|
42
46
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
47
|
+
version: 1.6.0
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.6.0
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement:
|
50
|
-
none: false
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
61
|
+
version: 10.0.0
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 10.0.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.14.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.14.0
|
58
83
|
- !ruby/object:Gem::Dependency
|
59
84
|
name: sqlite3-ruby
|
60
|
-
requirement:
|
61
|
-
none: false
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
62
86
|
requirements:
|
63
|
-
- -
|
87
|
+
- - ~>
|
64
88
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
89
|
+
version: 1.3.0
|
66
90
|
type: :development
|
67
91
|
prerelease: false
|
68
|
-
version_requirements:
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.3.0
|
69
97
|
description: Provides a simple mapping between Active Record scopes and controller
|
70
98
|
parameters for Ruby On Rails 3
|
71
99
|
email: al@alweb.org
|
@@ -100,33 +128,26 @@ files:
|
|
100
128
|
- spec/support/macros/user_macro.rb
|
101
129
|
homepage: https://github.com/alexistoulotte/scoped_from
|
102
130
|
licenses: []
|
131
|
+
metadata: {}
|
103
132
|
post_install_message:
|
104
133
|
rdoc_options: []
|
105
134
|
require_paths:
|
106
135
|
- lib
|
107
136
|
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
137
|
requirements:
|
110
|
-
- -
|
138
|
+
- - '>='
|
111
139
|
- !ruby/object:Gem::Version
|
112
140
|
version: '0'
|
113
|
-
segments:
|
114
|
-
- 0
|
115
|
-
hash: 1157272612327936896
|
116
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
142
|
requirements:
|
119
|
-
- -
|
143
|
+
- - '>='
|
120
144
|
- !ruby/object:Gem::Version
|
121
145
|
version: '0'
|
122
|
-
segments:
|
123
|
-
- 0
|
124
|
-
hash: 1157272612327936896
|
125
146
|
requirements: []
|
126
147
|
rubyforge_project: scoped_from
|
127
|
-
rubygems_version:
|
148
|
+
rubygems_version: 2.0.3
|
128
149
|
signing_key:
|
129
|
-
specification_version:
|
150
|
+
specification_version: 4
|
130
151
|
summary: Mapping between scopes and parameters for Rails
|
131
152
|
test_files:
|
132
153
|
- spec/mocks/comment.rb
|