scoped_from 0.1 → 0.2

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.
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