doorkeeper 0.6.7 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of doorkeeper might be problematic. Click here for more details.

checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7fcb07abcda6e9eed4a8cfec8203ef88dc243f50
4
+ data.tar.gz: fe23329643e7a1e88dfe432aa2c04314de90ac35
5
+ SHA512:
6
+ metadata.gz: b169d9dbe8e64af11e65c2e505ca00ddc472ef8e33eb63bb1f9ea2651387f49dc14424e0e9e22148b6f5927519c995d26fde39ff45b18660de7ed211c1ac8cbf
7
+ data.tar.gz: 082d67eaa6f7b296ac9de89b9deb58612e7451bd95901ff4c989377ccea8f207cae006551e4f57346d3da3b251f2a7362aee3b3d70e8010ceb2ab247382c2d29
data/.travis.yml CHANGED
@@ -1,11 +1,12 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.8.7
4
- - 1.9.2
5
3
  - 1.9.3
4
+ - 2.0.0
6
5
  env:
7
- - rails=3.2.8
8
6
  - rails=3.1.8
7
+ - rails=3.2.8
8
+ - rails=3.2.13
9
+ - rails=4.0.0
9
10
  - orm=mongoid2
10
11
  - orm=mongoid3
11
12
  - orm=mongo_mapper
@@ -15,7 +16,7 @@ matrix:
15
16
  allow_failures:
16
17
  - env: orm=mongoid2
17
18
  exclude:
18
- - rvm: 1.8.7
19
- env: orm=mongoid3
20
19
  - rvm: 1.9.2
21
20
  env: orm=mongoid3
21
+ - rvm: 1.9.2
22
+ env: rails=4.0.0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.0
4
+
5
+ - enhancements
6
+ - [#229] Rails 4!
7
+ - internals
8
+ - [#203] Changing table name to be specific in column_names_with_table
9
+ - [#215] README update
10
+ - [#227] Use Rails.config.paths["config/routes"] instead of assuming "config/routes.rb" exists
11
+ - [#262] Add jquery as gem dependency
12
+ - [#263] Add a configuration for ActiveRecord.establish_connection
13
+ - Deprecation and Ruby warnings (PRs merged outside of GitHub).
14
+
3
15
  ## 0.6.7
4
16
 
5
17
  - internals
data/Gemfile CHANGED
@@ -1,18 +1,19 @@
1
1
  # Defaults. For supported versions check .travis.yml
2
- ENV['rails'] ||= '3.2.8'
2
+ ENV['rails'] ||= '3.2.13'
3
3
  ENV['orm'] ||= 'active_record'
4
4
 
5
- source :rubygems
5
+ source 'https://rubygems.org'
6
6
 
7
7
  gem 'jquery-rails'
8
8
 
9
9
  # Define Rails version
10
- rails_version = ENV['rails']
11
- gem 'rails', rails_version
10
+ gem 'rails', ENV['rails']
11
+
12
+ gem 'database_cleaner', '~> 1.0.0.RC1' if ENV['rails'][0] == '4'
12
13
 
13
14
  case ENV['orm']
14
15
  when 'active_record'
15
- gem 'activerecord', rails_version
16
+ gem 'activerecord'
16
17
 
17
18
  when 'mongoid2'
18
19
  gem 'mongoid', '2.5.1'
data/README.md CHANGED
@@ -1,39 +1,31 @@
1
1
  # Doorkeeper - awesome oauth provider for your Rails app.
2
2
 
3
3
  [![Build Status](https://travis-ci.org/applicake/doorkeeper.png?branch=master)](https://travis-ci.org/applicake/doorkeeper)
4
- [![Dependency Status](https://gemnasium.com/applicake/doorkeeper.png)](https://gemnasium.com/applicake/doorkeeper)
5
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/applicake/doorkeeper)
6
- [![Gem Version](https://fury-badge.herokuapp.com/rb/doorkeeper.png)](http://badge.fury.io/rb/doorkeeper)
4
+ [![Dependency Status](https://gemnasium.com/applicake/doorkeeper.png?travis)](https://gemnasium.com/applicake/doorkeeper)
5
+ [![Code Climate](https://codeclimate.com/github/applicake/doorkeeper.png)](https://codeclimate.com/github/applicake/doorkeeper)
6
+ [![Gem Version](https://badge.fury.io/rb/doorkeeper.png)](https://rubygems.org/gems/doorkeeper)
7
7
 
8
8
  Doorkeeper is a gem that makes it easy to introduce OAuth 2 provider functionality to your application.
9
9
 
10
10
  The gem is under constant development. It is based in the [version 22 of the OAuth specification](http://tools.ietf.org/html/draft-ietf-oauth-v2-22) and it still does not support all OAuth features.
11
11
 
12
- For more information about the supported features, check out the related [page in the wiki](https://github.com/applicake/doorkeeper/wiki/Supported-Features). For more information about OAuth 2 go to [OAuth 2 Specs (Draft)](http://tools.ietf.org/html/draft-ietf-oauth-v2-22).
12
+ ## Useful links
13
13
 
14
- ## Requirements
15
-
16
- ### Ruby
17
-
18
- - 1.8.7, 1.9.2 or 1.9.3
14
+ - For documentation, please check out our [wiki](https://github.com/applicake/doorkeeper/wiki)
15
+ - For general questions, please post it in our [google groups](https://groups.google.com/forum/?fromgroups#!forum/doorkeeper-gem) or [stack overflow](http://stackoverflow.com/questions/tagged/doorkeeper)
19
16
 
20
- ### Rails
21
-
22
- - 3.1.x or 3.2.x
23
-
24
- ### ORM
17
+ ## Requirements
25
18
 
26
- - ActiveRecord
27
- - Mongoid 2
28
- - Mongoid 3
29
- - MongoMapper
19
+ - Ruby 1.9.3 or 2.0.0
20
+ - Rails 3.1, 3.2, 4.0
21
+ - ORM ActiveRecord, Mongoid 2, Mongoid 3, MongoMapper
30
22
 
31
23
  ## Installation
32
24
 
33
25
  Put this in your Gemfile:
34
26
 
35
27
  ``` ruby
36
- gem 'doorkeeper', '~> 0.6.7'
28
+ gem 'doorkeeper', '~> 0.7.0'
37
29
  ```
38
30
 
39
31
  Run the installation generator with:
@@ -122,7 +114,7 @@ end
122
114
 
123
115
  Side note: when using devise you have access to current_user as devise extends entire ActionController::Base with the current_#{mapping}.
124
116
 
125
- If you are not using devise, you may want to check other ways of authentication [here](https://github.com/applicake/doorkeeper/wiki/Authenticating-using-Clearance-DIY).
117
+ If you are not using devise, you may want to check other ways of authentication [here](https://github.com/applicake/doorkeeper/wiki/Authenticating-using-Clearance-or-DIY).
126
118
 
127
119
  ## Protecting resources with OAuth (a.k.a your API endpoint)
128
120
 
@@ -3,7 +3,8 @@ module Doorkeeper
3
3
  respond_to :html
4
4
 
5
5
  before_filter :authenticate_admin!
6
-
6
+ before_filter :set_application, :only => [:show, :edit, :update, :destroy]
7
+
7
8
  def index
8
9
  @applications = Application.all
9
10
  end
@@ -13,7 +14,7 @@ module Doorkeeper
13
14
  end
14
15
 
15
16
  def create
16
- @application = Application.new(params[:application])
17
+ @application = Application.new(application_params)
17
18
  if @application.save
18
19
  flash[:notice] = I18n.t(:notice, :scope => [:doorkeeper, :flash, :applications, :create])
19
20
  respond_with [:oauth, @application]
@@ -23,16 +24,13 @@ module Doorkeeper
23
24
  end
24
25
 
25
26
  def show
26
- @application = Application.find(params[:id])
27
27
  end
28
28
 
29
29
  def edit
30
- @application = Application.find(params[:id])
31
30
  end
32
31
 
33
32
  def update
34
- @application = Application.find(params[:id])
35
- if @application.update_attributes(params[:application])
33
+ if @application.update_attributes(application_params)
36
34
  flash[:notice] = I18n.t(:notice, :scope => [:doorkeeper, :flash, :applications, :update])
37
35
  respond_with [:oauth, @application]
38
36
  else
@@ -41,9 +39,22 @@ module Doorkeeper
41
39
  end
42
40
 
43
41
  def destroy
44
- @application = Application.find(params[:id])
45
42
  flash[:notice] = I18n.t(:notice, :scope => [:doorkeeper, :flash, :applications, :destroy]) if @application.destroy
46
43
  redirect_to oauth_applications_url
47
44
  end
45
+
46
+ private
47
+
48
+ def set_application
49
+ @application = Application.find(params[:id])
50
+ end
51
+
52
+ def application_params
53
+ if params.respond_to?(:permit)
54
+ params.require(:application).permit(:name, :redirect_uri)
55
+ else
56
+ params[:application].slice(:name, :redirect_uri) rescue nil
57
+ end
58
+ end
48
59
  end
49
60
  end
@@ -11,7 +11,7 @@ class RedirectUriValidator < ActiveModel::EachValidator
11
11
  record.errors.add(attribute, :fragment_present) unless uri.fragment.nil?
12
12
  record.errors.add(attribute, :relative_uri) if uri.scheme.nil? || uri.host.nil?
13
13
  record.errors.add(attribute, :has_query_parameter) unless uri.query.nil?
14
- rescue URI::InvalidURIError => e
14
+ rescue URI::InvalidURIError
15
15
  record.errors.add(attribute, :invalid_uri)
16
16
  end
17
17
 
data/doorkeeper.gemspec CHANGED
@@ -15,12 +15,13 @@ Gem::Specification.new do |s|
15
15
  s.test_files = `git ls-files -- test/*`.split("\n")
16
16
  s.require_paths = ["lib"]
17
17
 
18
- s.add_dependency "railties", "~> 3.1"
18
+ s.add_dependency "railties", ">= 3.1"
19
+ s.add_dependency "jquery-rails", "~> 3.0.4"
19
20
 
20
21
  s.add_development_dependency "sqlite3", "~> 1.3.5"
21
- s.add_development_dependency "rspec-rails", "~> 2.11.4"
22
+ s.add_development_dependency "rspec-rails", ">= 2.11.4"
22
23
  s.add_development_dependency "capybara", "~> 1.1.2"
23
- s.add_development_dependency "generator_spec", "~> 0.8.5"
24
+ s.add_development_dependency "generator_spec", "~> 0.9.0"
24
25
  s.add_development_dependency "factory_girl", "~> 2.6.4"
25
26
  s.add_development_dependency "timecop", "~> 0.5.2"
26
27
  s.add_development_dependency "database_cleaner", "~> 0.9.1"
@@ -153,7 +153,7 @@ module Doorkeeper
153
153
  option :authorization_code_expires_in,:default => 600
154
154
  option :orm, :default => :active_record
155
155
  option :test_redirect_uri, :default => 'urn:ietf:wg:oauth:2.0:oob'
156
-
156
+ option :active_record_options, :default => {}
157
157
 
158
158
  def refresh_token_enabled?
159
159
  !!@refresh_token_enabled
@@ -15,15 +15,15 @@ module Doorkeeper
15
15
  end
16
16
 
17
17
  def current_resource_owner
18
- instance_eval &Doorkeeper.configuration.authenticate_resource_owner
18
+ instance_eval(&Doorkeeper.configuration.authenticate_resource_owner)
19
19
  end
20
20
 
21
21
  def resource_owner_from_credentials
22
- instance_eval &Doorkeeper.configuration.resource_owner_from_credentials
22
+ instance_eval(&Doorkeeper.configuration.resource_owner_from_credentials)
23
23
  end
24
24
 
25
25
  def authenticate_admin!
26
- instance_eval &Doorkeeper.configuration.authenticate_admin
26
+ instance_eval(&Doorkeeper.configuration.authenticate_admin)
27
27
  end
28
28
 
29
29
  def server
@@ -8,8 +8,6 @@ module Doorkeeper
8
8
 
9
9
  belongs_to :application, :class_name => "Doorkeeper::Application", :inverse_of => :access_grants
10
10
 
11
- attr_accessible :resource_owner_id, :application_id, :expires_in, :redirect_uri, :scopes
12
-
13
11
  validates :resource_owner_id, :application_id, :token, :expires_in, :redirect_uri, :presence => true
14
12
  validates :token, :uniqueness => true
15
13
 
@@ -13,7 +13,6 @@ module Doorkeeper
13
13
  validates :refresh_token, :uniqueness => true, :if => :use_refresh_token?
14
14
 
15
15
  attr_accessor :use_refresh_token
16
- attr_accessible :application_id, :resource_owner_id, :expires_in, :scopes, :use_refresh_token
17
16
 
18
17
  before_validation :generate_token, :on => :create
19
18
  before_validation :generate_refresh_token, :on => :create, :if => :use_refresh_token?
@@ -1,5 +1,9 @@
1
1
  module Doorkeeper
2
2
  class AccessGrant < ActiveRecord::Base
3
+ if Doorkeeper.configuration.active_record_options[:establish_connection]
4
+ establish_connection Doorkeeper.configuration.active_record_options[:establish_connection]
5
+ end
6
+
3
7
  self.table_name = :oauth_access_grants
4
8
  end
5
9
  end
@@ -1,5 +1,9 @@
1
1
  module Doorkeeper
2
2
  class AccessToken < ActiveRecord::Base
3
+ if Doorkeeper.configuration.active_record_options[:establish_connection]
4
+ establish_connection Doorkeeper.configuration.active_record_options[:establish_connection]
5
+ end
6
+
3
7
  self.table_name = :oauth_access_tokens
4
8
 
5
9
  def self.delete_all_for(application_id, resource_owner)
@@ -1,18 +1,26 @@
1
1
  module Doorkeeper
2
2
  class Application < ActiveRecord::Base
3
+ if Doorkeeper.configuration.active_record_options[:establish_connection]
4
+ establish_connection Doorkeeper.configuration.active_record_options[:establish_connection]
5
+ end
6
+
3
7
  self.table_name = :oauth_applications
4
8
 
5
- has_many :authorized_tokens, :class_name => "AccessToken", :conditions => { :revoked_at => nil }
6
- has_many :authorized_applications, :through => :authorized_tokens, :source => :application
9
+ if ActiveRecord::VERSION::MAJOR >= 4
10
+ has_many :authorized_tokens, -> { where(revoked_at: nil) }, class_name: "AccessToken"
11
+ else
12
+ has_many :authorized_tokens, class_name: "AccessToken", conditions: { revoked_at: nil }
13
+ end
14
+ has_many :authorized_applications, through: :authorized_tokens, source: :application
7
15
 
8
16
  def self.column_names_with_table
9
- self.column_names.map { |c| "oauth_applications.#{c}" }
17
+ self.column_names.map { |c| "#{self.table_name}.#{c}" }
10
18
  end
11
19
 
12
20
  def self.authorized_for(resource_owner)
13
- joins(:authorized_applications).
14
- where(:oauth_access_tokens => { :resource_owner_id => resource_owner.id, :revoked_at => nil }).
15
- group(column_names_with_table.join(','))
21
+ joins(:authorized_applications)
22
+ .where(oauth_access_tokens: { resource_owner_id: resource_owner.id, revoked_at: nil })
23
+ .group(column_names_with_table.join(','))
16
24
  end
17
25
  end
18
26
  end
@@ -11,8 +11,6 @@ module Doorkeeper
11
11
 
12
12
  before_validation :generate_uid, :generate_secret, :on => :create
13
13
 
14
- attr_accessible :name, :redirect_uri
15
-
16
14
  def self.model_name
17
15
  ActiveModel::Name.new(self, Doorkeeper, 'Application')
18
16
  end
@@ -7,13 +7,13 @@ module Doorkeeper
7
7
  def self.from_string(string)
8
8
  string ||= ""
9
9
  new.tap do |scope|
10
- scope.add *string.split
10
+ scope.add(*string.split)
11
11
  end
12
12
  end
13
13
 
14
14
  def self.from_array(array)
15
15
  new.tap do |scope|
16
- scope.add *array
16
+ scope.add(*array)
17
17
  end
18
18
  end
19
19
 
@@ -28,7 +28,7 @@ module Doorkeeper
28
28
  end
29
29
 
30
30
  def add(*scopes)
31
- @scopes.push *scopes.map(&:to_sym)
31
+ @scopes.push(*scopes.map(&:to_sym))
32
32
  @scopes.uniq!
33
33
  end
34
34
 
@@ -16,8 +16,13 @@ module Doorkeeper
16
16
  end
17
17
 
18
18
  def self.warn_if_using_mount_method!
19
- if File.read(::Rails.root + 'config/routes.rb') =~ %r[mount Doorkeeper::Engine]
20
- warn "\n[DOORKEEPER] `mount Doorkeeper::Engine` is not being used anymore. Please replace it with `use_doorkeeper` in your /config/routes.rb file\n"
19
+ paths = ::Rails.application.config.paths["config/routes"] ||
20
+ ::Rails.application.config.paths["config/routes.rb"]
21
+
22
+ paths.each do |path|
23
+ if File.read(::Rails.root.join(path)) =~ %r[mount Doorkeeper::Engine]
24
+ warn "\n[DOORKEEPER] `mount Doorkeeper::Engine` is not being used anymore. Please replace it with `use_doorkeeper` in your #{path} file\n"
25
+ end
21
26
  end
22
27
  end
23
28
 
@@ -46,24 +51,31 @@ module Doorkeeper
46
51
  end
47
52
 
48
53
  def authorization_routes(mapping)
49
- routes.scope :controller => mapping[:controllers] do
50
- routes.match 'authorize/:code', :via => :get, :action => :show, :as => "#{mapping[:as]}_code"
51
- routes.match 'authorize', :via => :get, :action => :new, :as => mapping[:as]
52
- routes.match 'authorize', :via => :post, :action => :create, :as => mapping[:as]
53
- routes.match 'authorize', :via => :delete, :action => :destroy, :as => mapping[:as]
54
- end
54
+ routes.resource(
55
+ :authorization, :path => 'authorize',
56
+ :only => [:create, :update, :destroy],
57
+ :as => mapping[:as],
58
+ :controller => mapping[:controllers]
59
+ ) do
60
+ routes.get '/:code', :action => :show, :on => :member
61
+ routes.get '/', :action => :new, :on => :member
62
+ end
55
63
  end
56
64
 
57
65
  def token_routes(mapping)
58
- routes.scope :controller => mapping[:controllers] do
59
- routes.match 'token', :via => :post, :action => :create, :as => mapping[:as]
60
- end
66
+ routes.resource(
67
+ :token, :path => 'token',
68
+ :only => [:create], :as => mapping[:as],
69
+ :controller => mapping[:controllers]
70
+ )
61
71
  end
62
72
 
63
73
  def token_info_routes(mapping)
64
- routes.scope :controller => mapping[:controllers] do
65
- routes.match 'token/info', :via => :get, :action => :show, :as => mapping[:as]
66
- end
74
+ routes.resource(
75
+ :token_info, :path => 'token/info',
76
+ :only => [:show], :as => mapping[:as],
77
+ :controller => mapping[:controllers]
78
+ )
67
79
  end
68
80
 
69
81
  def application_routes(mapping)
@@ -1,3 +1,3 @@
1
1
  module Doorkeeper
2
- VERSION = "0.6.7"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -21,8 +21,6 @@ when :mongo_mapper
21
21
  end
22
22
 
23
23
  class User
24
- attr_accessible :name, :password
25
-
26
24
  def self.authenticate!(name, password)
27
25
  User.where(:name => name, :password => password).first
28
26
  end
@@ -1,7 +1,6 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  require "action_controller/railtie"
4
- require "active_resource/railtie"
5
4
  require "sprockets/railtie"
6
5
 
7
6
  Bundler.require :default
@@ -31,8 +30,6 @@ module Dummy
31
30
  # Activate observers that should always be running.
32
31
  # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
33
32
 
34
- config.active_record.whitelist_attributes = true if defined?(ActiveRecord)
35
-
36
33
  # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
37
34
  # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
38
35
  # config.time_zone = 'Central Time (US & Canada)'
@@ -4,4 +4,6 @@
4
4
  # If you change this key, all old signed cookies will become invalid!
5
5
  # Make sure the secret is at least 30 characters and all random,
6
6
  # no regular words or you'll be exposed to dictionary attacks.
7
- Dummy::Application.config.secret_token = 'c00157b5a1bb6181792f0f4a8a080485de7bab9987e6cf159dc74c4f0573345c1bfa713b5d756e1491fc0b098567e8a619e2f8d268eda86a20a720d05d633780'
7
+ Dummy::Application.config.secret_key_base =
8
+ Dummy::Application.config.secret_token =
9
+ 'c00157b5a1bb6181792f0f4a8a080485de7bab9987e6cf159dc74c4f0573345c1bfa713b5d756e1491fc0b098567e8a619e2f8d268eda86a20a720d05d633780'
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doorkeeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
5
- prerelease:
4
+ version: 0.7.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Felipe Elias Philipp
@@ -10,148 +9,144 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-01-13 00:00:00.000000000 Z
12
+ date: 2013-08-22 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
15
+ name: railties
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '3.1'
16
21
  type: :runtime
22
+ prerelease: false
17
23
  version_requirements: !ruby/object:Gem::Requirement
18
- none: false
19
24
  requirements:
20
- - - ~>
25
+ - - '>='
21
26
  - !ruby/object:Gem::Version
22
27
  version: '3.1'
23
- name: railties
24
- prerelease: false
28
+ - !ruby/object:Gem::Dependency
29
+ name: jquery-rails
25
30
  requirement: !ruby/object:Gem::Requirement
26
- none: false
27
31
  requirements:
28
32
  - - ~>
29
33
  - !ruby/object:Gem::Version
30
- version: '3.1'
31
- - !ruby/object:Gem::Dependency
32
- type: :development
34
+ version: 3.0.4
35
+ type: :runtime
36
+ prerelease: false
33
37
  version_requirements: !ruby/object:Gem::Requirement
34
- none: false
35
38
  requirements:
36
39
  - - ~>
37
40
  - !ruby/object:Gem::Version
38
- version: 1.3.5
41
+ version: 3.0.4
42
+ - !ruby/object:Gem::Dependency
39
43
  name: sqlite3
40
- prerelease: false
41
44
  requirement: !ruby/object:Gem::Requirement
42
- none: false
43
45
  requirements:
44
46
  - - ~>
45
47
  - !ruby/object:Gem::Version
46
48
  version: 1.3.5
47
- - !ruby/object:Gem::Dependency
48
49
  type: :development
50
+ prerelease: false
49
51
  version_requirements: !ruby/object:Gem::Requirement
50
- none: false
51
52
  requirements:
52
53
  - - ~>
53
54
  - !ruby/object:Gem::Version
54
- version: 2.11.4
55
+ version: 1.3.5
56
+ - !ruby/object:Gem::Dependency
55
57
  name: rspec-rails
56
- prerelease: false
57
58
  requirement: !ruby/object:Gem::Requirement
58
- none: false
59
59
  requirements:
60
- - - ~>
60
+ - - '>='
61
61
  - !ruby/object:Gem::Version
62
62
  version: 2.11.4
63
- - !ruby/object:Gem::Dependency
64
63
  type: :development
64
+ prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
- none: false
67
66
  requirements:
68
- - - ~>
67
+ - - '>='
69
68
  - !ruby/object:Gem::Version
70
- version: 1.1.2
69
+ version: 2.11.4
70
+ - !ruby/object:Gem::Dependency
71
71
  name: capybara
72
- prerelease: false
73
72
  requirement: !ruby/object:Gem::Requirement
74
- none: false
75
73
  requirements:
76
74
  - - ~>
77
75
  - !ruby/object:Gem::Version
78
76
  version: 1.1.2
79
- - !ruby/object:Gem::Dependency
80
77
  type: :development
78
+ prerelease: false
81
79
  version_requirements: !ruby/object:Gem::Requirement
82
- none: false
83
80
  requirements:
84
81
  - - ~>
85
82
  - !ruby/object:Gem::Version
86
- version: 0.8.5
83
+ version: 1.1.2
84
+ - !ruby/object:Gem::Dependency
87
85
  name: generator_spec
88
- prerelease: false
89
86
  requirement: !ruby/object:Gem::Requirement
90
- none: false
91
87
  requirements:
92
88
  - - ~>
93
89
  - !ruby/object:Gem::Version
94
- version: 0.8.5
95
- - !ruby/object:Gem::Dependency
90
+ version: 0.9.0
96
91
  type: :development
92
+ prerelease: false
97
93
  version_requirements: !ruby/object:Gem::Requirement
98
- none: false
99
94
  requirements:
100
95
  - - ~>
101
96
  - !ruby/object:Gem::Version
102
- version: 2.6.4
97
+ version: 0.9.0
98
+ - !ruby/object:Gem::Dependency
103
99
  name: factory_girl
104
- prerelease: false
105
100
  requirement: !ruby/object:Gem::Requirement
106
- none: false
107
101
  requirements:
108
102
  - - ~>
109
103
  - !ruby/object:Gem::Version
110
104
  version: 2.6.4
111
- - !ruby/object:Gem::Dependency
112
105
  type: :development
106
+ prerelease: false
113
107
  version_requirements: !ruby/object:Gem::Requirement
114
- none: false
115
108
  requirements:
116
109
  - - ~>
117
110
  - !ruby/object:Gem::Version
118
- version: 0.5.2
111
+ version: 2.6.4
112
+ - !ruby/object:Gem::Dependency
119
113
  name: timecop
120
- prerelease: false
121
114
  requirement: !ruby/object:Gem::Requirement
122
- none: false
123
115
  requirements:
124
116
  - - ~>
125
117
  - !ruby/object:Gem::Version
126
118
  version: 0.5.2
127
- - !ruby/object:Gem::Dependency
128
119
  type: :development
120
+ prerelease: false
129
121
  version_requirements: !ruby/object:Gem::Requirement
130
- none: false
131
122
  requirements:
132
123
  - - ~>
133
124
  - !ruby/object:Gem::Version
134
- version: 0.9.1
125
+ version: 0.5.2
126
+ - !ruby/object:Gem::Dependency
135
127
  name: database_cleaner
136
- prerelease: false
137
128
  requirement: !ruby/object:Gem::Requirement
138
- none: false
139
129
  requirements:
140
130
  - - ~>
141
131
  - !ruby/object:Gem::Version
142
132
  version: 0.9.1
143
- - !ruby/object:Gem::Dependency
144
133
  type: :development
134
+ prerelease: false
145
135
  version_requirements: !ruby/object:Gem::Requirement
146
- none: false
147
136
  requirements:
148
137
  - - ~>
149
138
  - !ruby/object:Gem::Version
150
- version: 3.0.1
139
+ version: 0.9.1
140
+ - !ruby/object:Gem::Dependency
151
141
  name: bcrypt-ruby
152
- prerelease: false
153
142
  requirement: !ruby/object:Gem::Requirement
154
- none: false
143
+ requirements:
144
+ - - ~>
145
+ - !ruby/object:Gem::Version
146
+ version: 3.0.1
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
155
150
  requirements:
156
151
  - - ~>
157
152
  - !ruby/object:Gem::Version
@@ -394,32 +389,26 @@ files:
394
389
  - vendor/assets/stylesheets/doorkeeper/bootstrap.min.css
395
390
  homepage: https://github.com/applicake/doorkeeper
396
391
  licenses: []
392
+ metadata: {}
397
393
  post_install_message:
398
394
  rdoc_options: []
399
395
  require_paths:
400
396
  - lib
401
397
  required_ruby_version: !ruby/object:Gem::Requirement
402
- none: false
403
398
  requirements:
404
- - - ! '>='
399
+ - - '>='
405
400
  - !ruby/object:Gem::Version
406
- segments:
407
- - 0
408
401
  version: '0'
409
- hash: -1446926071548474952
410
402
  required_rubygems_version: !ruby/object:Gem::Requirement
411
- none: false
412
403
  requirements:
413
- - - ! '>='
404
+ - - '>='
414
405
  - !ruby/object:Gem::Version
415
- segments:
416
- - 0
417
406
  version: '0'
418
- hash: -1446926071548474952
419
407
  requirements: []
420
408
  rubyforge_project:
421
- rubygems_version: 1.8.24
409
+ rubygems_version: 2.0.3
422
410
  signing_key:
423
- specification_version: 3
411
+ specification_version: 4
424
412
  summary: Doorkeeper is an OAuth 2 provider for Rails.
425
413
  test_files: []
414
+ has_rdoc: