opro 0.4.3 → 0.5.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.
@@ -11,8 +11,7 @@ module Opro::Controllers::Concerns::RateLimits
11
11
  end
12
12
 
13
13
  def oauth_client_rate_limited?(client_id, params)
14
-
15
-
14
+ # implement your rate limiting algorithm here
16
15
  end
17
16
 
18
17
 
@@ -7,9 +7,9 @@ module ActionDispatch::Routing
7
7
  controllers = options[:controllers] || {}
8
8
 
9
9
  oauth_new_controller = controllers[:oauth_new] || 'opro/oauth/auth'
10
- match 'oauth/new' => "#{oauth_new_controller}#new", :as => 'oauth_new'
11
- match 'oauth/authorize' => 'opro/oauth/auth#create', :as => 'oauth_authorize'
12
- match 'oauth/token' => 'opro/oauth/token#create', :as => 'oauth_token'
10
+ get 'oauth/new' => "#{oauth_new_controller}#new", :as => 'oauth_new'
11
+ post 'oauth/authorize' => 'opro/oauth/auth#create', :as => 'oauth_authorize'
12
+ post 'oauth/token' => 'opro/oauth/token#create', :as => 'oauth_token'
13
13
 
14
14
  unless skip_routes.include?(:client_apps)
15
15
  oauth_client_apps = controllers[:oauth_client_apps] ||'opro/oauth/client_app'
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "opro"
8
- s.version = "0.4.3"
8
+ s.version = "0.5.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["schneems"]
12
- s.date = "2012-11-17"
12
+ s.date = "2013-05-15"
13
13
  s.description = " Enable OAuth clients (iphone, android, web sites, etc.) to access and use your Rails application, what you do with it is up to you"
14
14
  s.email = "richard.schneeman@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -19,7 +19,6 @@ Gem::Specification.new do |s|
19
19
  ".travis.yml",
20
20
  "CHANGELOG.md",
21
21
  "Gemfile",
22
- "Gemfile.lock",
23
22
  "MIT-LICENSE",
24
23
  "README.md",
25
24
  "Rakefile",
@@ -53,6 +52,7 @@ Gem::Specification.new do |s|
53
52
  "lib/generators/opro/install_generator.rb",
54
53
  "lib/generators/templates/opro.rb",
55
54
  "lib/opro.rb",
55
+ "lib/opro/auth_provider/devise.rb",
56
56
  "lib/opro/controllers/application_controller_helper.rb",
57
57
  "lib/opro/controllers/concerns/error_messages.rb",
58
58
  "lib/opro/controllers/concerns/permissions.rb",
@@ -124,55 +124,49 @@ Gem::Specification.new do |s|
124
124
  s.homepage = "http://github.com/schneems/opro"
125
125
  s.licenses = ["MIT"]
126
126
  s.require_paths = ["lib"]
127
- s.rubygems_version = "1.8.10"
127
+ s.rubygems_version = "1.8.25"
128
128
  s.summary = "oPRO turns your Rails application into an OAuth Provider"
129
129
 
130
130
  if s.respond_to? :specification_version then
131
131
  s.specification_version = 3
132
132
 
133
133
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
134
- s.add_runtime_dependency(%q<activesupport>, [">= 3.1.0"])
135
134
  s.add_runtime_dependency(%q<rails>, [">= 3.1.0"])
136
135
  s.add_runtime_dependency(%q<kramdown>, [">= 0"])
137
136
  s.add_development_dependency(%q<mocha>, [">= 0"])
138
137
  s.add_development_dependency(%q<timecop>, [">= 0"])
139
138
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
140
- s.add_development_dependency(%q<bundler>, [">= 1.1.3"])
141
139
  s.add_development_dependency(%q<capybara>, [">= 0.4.0"])
142
140
  s.add_development_dependency(%q<launchy>, [">= 0"])
143
141
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
144
- s.add_development_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
142
+ s.add_development_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 1.3.0.beta"])
145
143
  s.add_development_dependency(%q<jdbc-sqlite3>, [">= 0"])
146
- s.add_development_dependency(%q<devise>, [">= 0"])
144
+ s.add_development_dependency(%q<devise>, ["~> 2.2"])
147
145
  else
148
- s.add_dependency(%q<activesupport>, [">= 3.1.0"])
149
146
  s.add_dependency(%q<rails>, [">= 3.1.0"])
150
147
  s.add_dependency(%q<kramdown>, [">= 0"])
151
148
  s.add_dependency(%q<mocha>, [">= 0"])
152
149
  s.add_dependency(%q<timecop>, [">= 0"])
153
150
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
154
- s.add_dependency(%q<bundler>, [">= 1.1.3"])
155
151
  s.add_dependency(%q<capybara>, [">= 0.4.0"])
156
152
  s.add_dependency(%q<launchy>, [">= 0"])
157
153
  s.add_dependency(%q<sqlite3>, [">= 0"])
158
- s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
154
+ s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 1.3.0.beta"])
159
155
  s.add_dependency(%q<jdbc-sqlite3>, [">= 0"])
160
- s.add_dependency(%q<devise>, [">= 0"])
156
+ s.add_dependency(%q<devise>, ["~> 2.2"])
161
157
  end
162
158
  else
163
- s.add_dependency(%q<activesupport>, [">= 3.1.0"])
164
159
  s.add_dependency(%q<rails>, [">= 3.1.0"])
165
160
  s.add_dependency(%q<kramdown>, [">= 0"])
166
161
  s.add_dependency(%q<mocha>, [">= 0"])
167
162
  s.add_dependency(%q<timecop>, [">= 0"])
168
163
  s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
169
- s.add_dependency(%q<bundler>, [">= 1.1.3"])
170
164
  s.add_dependency(%q<capybara>, [">= 0.4.0"])
171
165
  s.add_dependency(%q<launchy>, [">= 0"])
172
166
  s.add_dependency(%q<sqlite3>, [">= 0"])
173
- s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 0"])
167
+ s.add_dependency(%q<activerecord-jdbcsqlite3-adapter>, [">= 1.3.0.beta"])
174
168
  s.add_dependency(%q<jdbc-sqlite3>, [">= 0"])
175
- s.add_dependency(%q<devise>, [">= 0"])
169
+ s.add_dependency(%q<devise>, ["~> 2.2"])
176
170
  end
177
171
  end
178
172
 
@@ -11,7 +11,7 @@ class Opro::Oauth::TestsControllerTest < ActionController::TestCase
11
11
 
12
12
  test "access_token with write ability can :POST" do
13
13
  permissions = {'write' => true}
14
- @auth_grant.update_attributes(:permissions => permissions)
14
+ @auth_grant.update_permissions(permissions)
15
15
 
16
16
  post :create, :access_token => @auth_grant.access_token, :format => :json
17
17
  assert_response :success
@@ -20,7 +20,7 @@ class Opro::Oauth::TestsControllerTest < ActionController::TestCase
20
20
 
21
21
  test "access_token with NO write ability can NOT POST" do
22
22
  permissions = {:write => false}
23
- @auth_grant.update_attributes(:permissions => permissions)
23
+ @auth_grant.update_permissions(permissions)
24
24
  post :create, :access_token => @auth_grant.access_token, :format => :json
25
25
  assert_response 401
26
26
  end
@@ -5,6 +5,8 @@ class User < ActiveRecord::Base
5
5
  :rememberable, :trackable, :validatable
6
6
 
7
7
  # Setup accessible (or protected) attributes for your model
8
- attr_accessible :email, :password, :password_confirmation, :remember_me
8
+ # attr_accessible :email, :password, :password_confirmation, :remember_me
9
+ attr_accessor :password_confirmation
10
+
9
11
  # attr_accessible :title, :body
10
12
  end
@@ -113,7 +113,7 @@ Devise.setup do |config|
113
113
 
114
114
  # If true, uses the password salt as remember token. This should be turned
115
115
  # to false if you are not using database authenticatable.
116
- config.use_salt_as_remember_token = true
116
+ # config.use_salt_as_remember_token = true
117
117
 
118
118
  # Options to be passed to the created cookie. For instance, you can set
119
119
  # :secure => true in order to force SSL only cookies.
@@ -32,7 +32,7 @@ class OauthTokenTest < ActionDispatch::IntegrationTest
32
32
 
33
33
  test 'header authorization token' do
34
34
  auth_grant = create_auth_grant_for_user(@user)
35
- auth_grant.update_attributes(:permissions => {:write => true})
35
+ auth_grant.update_permissions(:write => true)
36
36
 
37
37
  # curl -H "Authorization: token OAUTH-TOKEN" http://localhost:3000
38
38
  # sets request.env["HTTP_AUTHORIZATION"] to "token OAUTH-TOKEN"
@@ -14,7 +14,7 @@ class RateLimitTest < ActionDispatch::IntegrationTest
14
14
  @params = {:client_id => @client_app.client_id ,
15
15
  :client_secret => @client_app.client_secret,
16
16
  :access_token => @auth_grant.access_token}
17
- @auth_grant.update_attributes(:permissions => {:write => true})
17
+ @auth_grant.update_permissions(:write => true)
18
18
  end
19
19
 
20
20
  test "A rate limited app does not get a valid user" do
@@ -13,7 +13,7 @@ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
13
13
  require File.expand_path("../dummy/config/environment.rb", __FILE__)
14
14
  require "rails/test_help"
15
15
 
16
- require 'mocha'
16
+ require 'mocha/setup'
17
17
  require 'timecop'
18
18
  require 'database_cleaner'
19
19
  DatabaseCleaner.strategy = :truncation
@@ -60,7 +60,12 @@ end
60
60
 
61
61
 
62
62
  def create_user(options = {})
63
- User.create(:email => rand_name + '@bar.com', :password => 'password', :password_confirm => 'password')
63
+ user = User.new
64
+ user.email = rand_name + '@bar.com'
65
+ user.password = 'password'
66
+ user.password_confirmation = 'password'
67
+ user.save
68
+ user
64
69
  end
65
70
 
66
71
  def create_client_app(options= {})
@@ -78,7 +83,11 @@ end
78
83
  def create_auth_grant_for_user(user = nil, app = nil)
79
84
  app ||= create_client_app
80
85
  user ||= create_user
81
- Opro::Oauth::AuthGrant.create(:user => user, :application => app)
86
+ auth_grant = Opro::Oauth::AuthGrant.new
87
+ auth_grant.user = user
88
+ auth_grant.application = app
89
+ auth_grant.save
90
+ auth_grant
82
91
  end
83
92
 
84
93
  alias :create_auth_grant :create_auth_grant_for_user
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-17 00:00:00.000000000Z
12
+ date: 2013-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: activesupport
16
- requirement: &70297244933200 !ruby/object:Gem::Requirement
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,21 +21,15 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70297244933200
25
- - !ruby/object:Gem::Dependency
26
- name: rails
27
- requirement: &70297244932520 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
28
25
  none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
29
  version: 3.1.0
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70297244932520
36
30
  - !ruby/object:Gem::Dependency
37
31
  name: kramdown
38
- requirement: &70297244931780 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
34
  requirements:
41
35
  - - ! '>='
@@ -43,10 +37,15 @@ dependencies:
43
37
  version: '0'
44
38
  type: :runtime
45
39
  prerelease: false
46
- version_requirements: *70297244931780
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
47
46
  - !ruby/object:Gem::Dependency
48
47
  name: mocha
49
- requirement: &70297244931120 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
50
49
  none: false
51
50
  requirements:
52
51
  - - ! '>='
@@ -54,10 +53,15 @@ dependencies:
54
53
  version: '0'
55
54
  type: :development
56
55
  prerelease: false
57
- version_requirements: *70297244931120
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
58
62
  - !ruby/object:Gem::Dependency
59
63
  name: timecop
60
- requirement: &70297244930600 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
61
65
  none: false
62
66
  requirements:
63
67
  - - ! '>='
@@ -65,10 +69,15 @@ dependencies:
65
69
  version: '0'
66
70
  type: :development
67
71
  prerelease: false
68
- version_requirements: *70297244930600
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: jeweler
71
- requirement: &70297244930000 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
72
81
  none: false
73
82
  requirements:
74
83
  - - ~>
@@ -76,21 +85,15 @@ dependencies:
76
85
  version: 1.6.4
77
86
  type: :development
78
87
  prerelease: false
79
- version_requirements: *70297244930000
80
- - !ruby/object:Gem::Dependency
81
- name: bundler
82
- requirement: &70297244929400 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
83
89
  none: false
84
90
  requirements:
85
- - - ! '>='
91
+ - - ~>
86
92
  - !ruby/object:Gem::Version
87
- version: 1.1.3
88
- type: :development
89
- prerelease: false
90
- version_requirements: *70297244929400
93
+ version: 1.6.4
91
94
  - !ruby/object:Gem::Dependency
92
95
  name: capybara
93
- requirement: &70297244928580 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
94
97
  none: false
95
98
  requirements:
96
99
  - - ! '>='
@@ -98,10 +101,15 @@ dependencies:
98
101
  version: 0.4.0
99
102
  type: :development
100
103
  prerelease: false
101
- version_requirements: *70297244928580
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 0.4.0
102
110
  - !ruby/object:Gem::Dependency
103
111
  name: launchy
104
- requirement: &70297244927960 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
105
113
  none: false
106
114
  requirements:
107
115
  - - ! '>='
@@ -109,10 +117,15 @@ dependencies:
109
117
  version: '0'
110
118
  type: :development
111
119
  prerelease: false
112
- version_requirements: *70297244927960
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
113
126
  - !ruby/object:Gem::Dependency
114
127
  name: sqlite3
115
- requirement: &70297244927220 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
116
129
  none: false
117
130
  requirements:
118
131
  - - ! '>='
@@ -120,21 +133,31 @@ dependencies:
120
133
  version: '0'
121
134
  type: :development
122
135
  prerelease: false
123
- version_requirements: *70297244927220
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
124
142
  - !ruby/object:Gem::Dependency
125
143
  name: activerecord-jdbcsqlite3-adapter
126
- requirement: &70297244926520 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
127
145
  none: false
128
146
  requirements:
129
147
  - - ! '>='
130
148
  - !ruby/object:Gem::Version
131
- version: '0'
149
+ version: 1.3.0.beta
132
150
  type: :development
133
151
  prerelease: false
134
- version_requirements: *70297244926520
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: 1.3.0.beta
135
158
  - !ruby/object:Gem::Dependency
136
159
  name: jdbc-sqlite3
137
- requirement: &70297244925900 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
138
161
  none: false
139
162
  requirements:
140
163
  - - ! '>='
@@ -142,18 +165,28 @@ dependencies:
142
165
  version: '0'
143
166
  type: :development
144
167
  prerelease: false
145
- version_requirements: *70297244925900
146
- - !ruby/object:Gem::Dependency
147
- name: devise
148
- requirement: &70297244925300 !ruby/object:Gem::Requirement
168
+ version_requirements: !ruby/object:Gem::Requirement
149
169
  none: false
150
170
  requirements:
151
171
  - - ! '>='
152
172
  - !ruby/object:Gem::Version
153
173
  version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: devise
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ~>
180
+ - !ruby/object:Gem::Version
181
+ version: '2.2'
154
182
  type: :development
155
183
  prerelease: false
156
- version_requirements: *70297244925300
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: '2.2'
157
190
  description: ! ' Enable OAuth clients (iphone, android, web sites, etc.) to access
158
191
  and use your Rails application, what you do with it is up to you'
159
192
  email: richard.schneeman@gmail.com
@@ -165,7 +198,6 @@ files:
165
198
  - .travis.yml
166
199
  - CHANGELOG.md
167
200
  - Gemfile
168
- - Gemfile.lock
169
201
  - MIT-LICENSE
170
202
  - README.md
171
203
  - Rakefile
@@ -199,6 +231,7 @@ files:
199
231
  - lib/generators/opro/install_generator.rb
200
232
  - lib/generators/templates/opro.rb
201
233
  - lib/opro.rb
234
+ - lib/opro/auth_provider/devise.rb
202
235
  - lib/opro/controllers/application_controller_helper.rb
203
236
  - lib/opro/controllers/concerns/error_messages.rb
204
237
  - lib/opro/controllers/concerns/permissions.rb
@@ -281,7 +314,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
281
314
  version: '0'
282
315
  segments:
283
316
  - 0
284
- hash: -2443235425097345828
317
+ hash: -1215204679170587691
285
318
  required_rubygems_version: !ruby/object:Gem::Requirement
286
319
  none: false
287
320
  requirements:
@@ -290,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
323
  version: '0'
291
324
  requirements: []
292
325
  rubyforge_project:
293
- rubygems_version: 1.8.10
326
+ rubygems_version: 1.8.25
294
327
  signing_key:
295
328
  specification_version: 3
296
329
  summary: oPRO turns your Rails application into an OAuth Provider