scoped_from 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,82 +1,101 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- scoped_from (0.1)
5
- activerecord (~> 3.0.0)
4
+ scoped_from (0.2)
5
+ activerecord (~> 3.1.0)
6
+ activesupport (~> 3.1.0)
6
7
 
7
8
  GEM
8
9
  remote: http://rubygems.org/
9
10
  specs:
10
- abstract (1.0.0)
11
- actionpack (3.0.5)
12
- activemodel (= 3.0.5)
13
- activesupport (= 3.0.5)
14
- builder (~> 2.1.2)
15
- erubis (~> 2.6.6)
16
- i18n (~> 0.4)
17
- rack (~> 1.2.1)
18
- rack-mount (~> 0.6.13)
19
- rack-test (~> 0.5.7)
20
- tzinfo (~> 0.3.23)
21
- activemodel (3.0.5)
22
- activesupport (= 3.0.5)
23
- builder (~> 2.1.2)
24
- i18n (~> 0.4)
25
- activerecord (3.0.5)
26
- activemodel (= 3.0.5)
27
- activesupport (= 3.0.5)
28
- arel (~> 2.0.2)
29
- tzinfo (~> 0.3.23)
30
- activesupport (3.0.5)
31
- arel (2.0.9)
32
- builder (2.1.2)
33
- columnize (0.3.2)
34
- diff-lcs (1.1.2)
35
- erubis (2.6.6)
36
- abstract (>= 1.0.0)
37
- i18n (0.5.0)
38
- linecache (0.43)
39
- rack (1.2.2)
40
- rack-mount (0.6.13)
11
+ actionpack (3.1.1)
12
+ activemodel (= 3.1.1)
13
+ activesupport (= 3.1.1)
14
+ builder (~> 3.0.0)
15
+ erubis (~> 2.7.0)
16
+ i18n (~> 0.6)
17
+ rack (~> 1.3.2)
18
+ rack-cache (~> 1.1)
19
+ rack-mount (~> 0.8.2)
20
+ rack-test (~> 0.6.1)
21
+ sprockets (~> 2.0.2)
22
+ activemodel (3.1.1)
23
+ activesupport (= 3.1.1)
24
+ builder (~> 3.0.0)
25
+ i18n (~> 0.6)
26
+ activerecord (3.1.1)
27
+ activemodel (= 3.1.1)
28
+ activesupport (= 3.1.1)
29
+ arel (~> 2.2.1)
30
+ tzinfo (~> 0.3.29)
31
+ activesupport (3.1.1)
32
+ multi_json (~> 1.0)
33
+ arel (2.2.1)
34
+ builder (3.0.0)
35
+ columnize (0.3.4)
36
+ diff-lcs (1.1.3)
37
+ erubis (2.7.0)
38
+ hike (1.2.1)
39
+ i18n (0.6.0)
40
+ json (1.6.1)
41
+ linecache (0.46)
42
+ rbx-require-relative (> 0.0.4)
43
+ multi_json (1.0.3)
44
+ rack (1.3.5)
45
+ rack-cache (1.1)
46
+ rack (>= 0.4)
47
+ rack-mount (0.8.3)
41
48
  rack (>= 1.0.0)
42
- rack-test (0.5.7)
49
+ rack-ssl (1.3.2)
50
+ rack
51
+ rack-test (0.6.1)
43
52
  rack (>= 1.0)
44
- railties (3.0.5)
45
- actionpack (= 3.0.5)
46
- activesupport (= 3.0.5)
53
+ railties (3.1.1)
54
+ actionpack (= 3.1.1)
55
+ activesupport (= 3.1.1)
56
+ rack-ssl (~> 1.3.2)
47
57
  rake (>= 0.8.7)
48
- thor (~> 0.14.4)
49
- rake (0.8.7)
50
- rspec (2.5.0)
51
- rspec-core (~> 2.5.0)
52
- rspec-expectations (~> 2.5.0)
53
- rspec-mocks (~> 2.5.0)
54
- rspec-core (2.5.1)
55
- rspec-expectations (2.5.0)
58
+ rdoc (~> 3.4)
59
+ thor (~> 0.14.6)
60
+ rake (0.9.2.2)
61
+ rbx-require-relative (0.0.5)
62
+ rdoc (3.11)
63
+ json (~> 1.4)
64
+ rspec (2.7.0)
65
+ rspec-core (~> 2.7.0)
66
+ rspec-expectations (~> 2.7.0)
67
+ rspec-mocks (~> 2.7.0)
68
+ rspec-core (2.7.1)
69
+ rspec-expectations (2.7.0)
56
70
  diff-lcs (~> 1.1.2)
57
- rspec-mocks (2.5.0)
58
- rspec-rails (2.5.0)
71
+ rspec-mocks (2.7.0)
72
+ rspec-rails (2.7.0)
59
73
  actionpack (~> 3.0)
60
74
  activesupport (~> 3.0)
61
75
  railties (~> 3.0)
62
- rspec (~> 2.5.0)
76
+ rspec (~> 2.7.0)
63
77
  ruby-debug (0.10.4)
64
78
  columnize (>= 0.1)
65
79
  ruby-debug-base (~> 0.10.4.0)
66
80
  ruby-debug-base (0.10.4)
67
81
  linecache (>= 0.3)
68
- sqlite3 (1.3.3)
82
+ sprockets (2.0.3)
83
+ hike (~> 1.2)
84
+ rack (~> 1.0)
85
+ tilt (~> 1.1, != 1.3.0)
86
+ sqlite3 (1.3.4)
69
87
  sqlite3-ruby (1.3.3)
70
88
  sqlite3 (>= 1.3.3)
71
89
  thor (0.14.6)
72
- tzinfo (0.3.25)
90
+ tilt (1.3.3)
91
+ tzinfo (0.3.30)
73
92
 
74
93
  PLATFORMS
75
94
  ruby
76
95
 
77
96
  DEPENDENCIES
78
- rspec (~> 2.5.0)
79
- rspec-rails (~> 2.5.0)
97
+ rspec (~> 2.7.0)
98
+ rspec-rails (~> 2.7.0)
80
99
  ruby-debug
81
100
  scoped_from!
82
101
  sqlite3-ruby
data/README.mdown CHANGED
@@ -3,7 +3,23 @@
3
3
  Provides a simple mapping between scopes and controller parameters for
4
4
  [Ruby On Rails 3](http://rubyonrails.org/).
5
5
 
6
- Let see a simple example:
6
+ ## Installation
7
+
8
+ ### As a gem
9
+
10
+ Just add this into your `Gemfile`:
11
+
12
+ gem 'scoped_from'
13
+
14
+ Then, just run `bundle install`.
15
+
16
+ ### As a plugin
17
+
18
+ From your application path, execute:
19
+
20
+ rails plugin install git://github.com/alexistoulotte/scoped_from.git
21
+
22
+ ## Example
7
23
 
8
24
  First, a model with some scopes:
9
25
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1
1
+ 0.2
@@ -1,11 +1,14 @@
1
1
  module ScopedFrom
2
2
 
3
3
  module ActiveRecord
4
-
5
- def self.included(base)
6
- base.extend(ClassMethods)
4
+
5
+ extend ActiveSupport::Concern
6
+
7
+ included do |base|
8
+ base.class_attribute(:scope_arities)
9
+ base.scope_arities = ActiveSupport::HashWithIndifferentAccess.new
7
10
  end
8
-
11
+
9
12
  module ClassMethods
10
13
 
11
14
  def scope(name, scope_options, &block)
@@ -27,12 +30,6 @@ module ScopedFrom
27
30
  query_class.new(self, params, options).scope
28
31
  end
29
32
 
30
- private
31
-
32
- def scope_arities
33
- read_inheritable_attribute(:scope_arities) || write_inheritable_attribute(:scope_arities, ActiveSupport::HashWithIndifferentAccess.new)
34
- end
35
-
36
33
  end
37
34
 
38
35
  end
data/lib/scoped_from.rb CHANGED
@@ -2,6 +2,7 @@ require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'cgi'
4
4
  require 'active_record'
5
+ require 'active_support/concern'
5
6
  require 'active_support/core_ext/object/to_query'
6
7
 
7
8
  module ScopedFrom
data/scoped_from.gemspec CHANGED
@@ -15,10 +15,11 @@ Gem::Specification.new do |s|
15
15
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
16
  s.require_paths = ['lib']
17
17
 
18
- s.add_dependency 'activerecord', '~> 3.0.0'
18
+ s.add_dependency 'activerecord', '~> 3.1.0'
19
+ s.add_dependency 'activesupport', '~> 3.1.0'
19
20
 
20
- s.add_development_dependency 'rspec', '~> 2.5.0'
21
- s.add_development_dependency 'rspec-rails', '~> 2.5.0'
21
+ s.add_development_dependency 'rspec', '~> 2.7.0'
22
+ s.add_development_dependency 'rspec-rails', '~> 2.7.0'
22
23
  s.add_development_dependency 'ruby-debug'
23
24
  s.add_development_dependency 'sqlite3-ruby'
24
25
  end
data/spec/mocks/user.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  class User < ActiveRecord::Base
2
2
 
3
- scope :enabled, :conditions => { :enabled => true }
3
+ scope :enabled, where(:enabled => true)
4
4
  scope :search, lambda { |pattern|
5
5
  where('firstname LIKE ? OR lastname LIKE ?', "%#{pattern}%", "%#{pattern}%")
6
6
  }
@@ -75,7 +75,7 @@ describe ScopedFrom::Query do
75
75
  end
76
76
 
77
77
  it 'can be converted to query string' do
78
- query(User, :search => ['foo', 'bar'], 'enabled' => '1').params.to_query.should == 'enabled=true&search[]=foo&search[]=bar'
78
+ query(User, :search => ['foo', 'bar'], 'enabled' => '1').params.to_query.should == 'enabled=true&search%5B%5D=foo&search%5B%5D=bar'
79
79
  end
80
80
 
81
81
  end
metadata CHANGED
@@ -1,12 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scoped_from
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
9
- version: "0.1"
8
+ - 2
9
+ version: "0.2"
10
10
  platform: ruby
11
11
  authors:
12
12
  - Alexis Toulotte
@@ -14,8 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-03-18 00:00:00 +11:00
18
- default_executable:
17
+ date: 2011-10-27 00:00:00 Z
19
18
  dependencies:
20
19
  - !ruby/object:Gem::Dependency
21
20
  name: activerecord
@@ -25,50 +24,66 @@ dependencies:
25
24
  requirements:
26
25
  - - ~>
27
26
  - !ruby/object:Gem::Version
28
- hash: 7
27
+ hash: 3
29
28
  segments:
30
29
  - 3
30
+ - 1
31
31
  - 0
32
- - 0
33
- version: 3.0.0
32
+ version: 3.1.0
34
33
  type: :runtime
35
34
  version_requirements: *id001
36
35
  - !ruby/object:Gem::Dependency
37
- name: rspec
36
+ name: activesupport
38
37
  prerelease: false
39
38
  requirement: &id002 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ~>
43
42
  - !ruby/object:Gem::Version
44
- hash: 27
43
+ hash: 3
45
44
  segments:
46
- - 2
47
- - 5
45
+ - 3
46
+ - 1
48
47
  - 0
49
- version: 2.5.0
50
- type: :development
48
+ version: 3.1.0
49
+ type: :runtime
51
50
  version_requirements: *id002
52
51
  - !ruby/object:Gem::Dependency
53
- name: rspec-rails
52
+ name: rspec
54
53
  prerelease: false
55
54
  requirement: &id003 !ruby/object:Gem::Requirement
56
55
  none: false
57
56
  requirements:
58
57
  - - ~>
59
58
  - !ruby/object:Gem::Version
60
- hash: 27
59
+ hash: 19
61
60
  segments:
62
61
  - 2
63
- - 5
62
+ - 7
64
63
  - 0
65
- version: 2.5.0
64
+ version: 2.7.0
66
65
  type: :development
67
66
  version_requirements: *id003
68
67
  - !ruby/object:Gem::Dependency
69
- name: ruby-debug
68
+ name: rspec-rails
70
69
  prerelease: false
71
70
  requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ hash: 19
76
+ segments:
77
+ - 2
78
+ - 7
79
+ - 0
80
+ version: 2.7.0
81
+ type: :development
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: ruby-debug
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
72
87
  none: false
73
88
  requirements:
74
89
  - - ">="
@@ -78,11 +93,11 @@ dependencies:
78
93
  - 0
79
94
  version: "0"
80
95
  type: :development
81
- version_requirements: *id004
96
+ version_requirements: *id005
82
97
  - !ruby/object:Gem::Dependency
83
98
  name: sqlite3-ruby
84
99
  prerelease: false
85
- requirement: &id005 !ruby/object:Gem::Requirement
100
+ requirement: &id006 !ruby/object:Gem::Requirement
86
101
  none: false
87
102
  requirements:
88
103
  - - ">="
@@ -92,7 +107,7 @@ dependencies:
92
107
  - 0
93
108
  version: "0"
94
109
  type: :development
95
- version_requirements: *id005
110
+ version_requirements: *id006
96
111
  description: Provides a simple mapping between Active Record scopes and controller parameters for Ruby On Rails 3
97
112
  email: al@alweb.org
98
113
  executables: []
@@ -128,7 +143,6 @@ files:
128
143
  - spec/spec_helper.rb
129
144
  - spec/support/bootsrap/database.rb
130
145
  - spec/support/macros/user_macro.rb
131
- has_rdoc: true
132
146
  homepage: https://github.com/alexistoulotte/scoped_from
133
147
  licenses: []
134
148
 
@@ -158,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
172
  requirements: []
159
173
 
160
174
  rubyforge_project: scoped_from
161
- rubygems_version: 1.5.1
175
+ rubygems_version: 1.8.6
162
176
  signing_key:
163
177
  specification_version: 3
164
178
  summary: Mapping between scopes and parameters for Rails