wine_bouncer 0.5.0 → 0.5.1

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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -0
  3. data/.rubocop_todo.yml +182 -0
  4. data/.travis.yml +8 -7
  5. data/CHANGELOG.md +4 -1
  6. data/Gemfile +2 -2
  7. data/README.md +8 -7
  8. data/Rakefile +4 -5
  9. data/lib/wine_bouncer/auth_methods/auth_methods.rb +2 -2
  10. data/lib/wine_bouncer/auth_strategies/default.rb +1 -2
  11. data/lib/wine_bouncer/auth_strategies/protected.rb +1 -3
  12. data/lib/wine_bouncer/auth_strategies/swagger.rb +0 -1
  13. data/lib/wine_bouncer/configuration.rb +3 -7
  14. data/lib/wine_bouncer/extension.rb +5 -5
  15. data/lib/wine_bouncer/oauth2.rb +3 -7
  16. data/lib/wine_bouncer/version.rb +1 -1
  17. data/spec/dummy/app/api/default_api.rb +0 -2
  18. data/spec/dummy/app/api/swagger_api.rb +0 -2
  19. data/spec/dummy/config/application.rb +6 -8
  20. data/spec/dummy/config/initializers/cookies_serializer.rb +1 -1
  21. data/spec/dummy/config/initializers/doorkeeper.rb +1 -1
  22. data/spec/dummy/config/initializers/secret_token.rb +1 -1
  23. data/spec/dummy/db/migrate/20140915160601_create_doorkeeper_tables.rb +16 -16
  24. data/spec/dummy/db/schema.rb +36 -38
  25. data/spec/factories/access_token.rb +1 -1
  26. data/spec/factories/application.rb +1 -1
  27. data/spec/factories/user.rb +1 -1
  28. data/spec/intergration/oauth2_default_strategy_spec.rb +1 -5
  29. data/spec/intergration/oauth2_protected_strategy_spec.rb +1 -2
  30. data/spec/intergration/oauth2_swagger_strategy_spec.rb +1 -6
  31. data/spec/lib/generators/wine_bouncer/initializer_generator_spec.rb +0 -1
  32. data/spec/lib/wine_bouncer/auth_methods/auth_methods_spec.rb +6 -9
  33. data/spec/lib/wine_bouncer/auth_strategies/default_spec.rb +0 -2
  34. data/spec/lib/wine_bouncer/auth_strategies/swagger_spec.rb +0 -1
  35. data/spec/rails_helper.rb +1 -4
  36. data/spec/shared/orm/active_record.rb +1 -1
  37. data/spec/spec_helper.rb +1 -1
  38. data/wine_bouncer.gemspec +17 -15
  39. metadata +67 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e5dc6cf97cd8da451dc4702e223895ef8936bdf3
4
- data.tar.gz: fb785eaeb2dbaee4f862f83cad1480fc5a024c42
3
+ metadata.gz: e6961476143d7f8be5bc53b9268c7950a374d31f
4
+ data.tar.gz: 0d507a032e778c40bc314fbd77e92b20e654004f
5
5
  SHA512:
6
- metadata.gz: 3b9613742574c2c306212a77e39709c4d493f543e11358927d70aaf2d034a40e6cdb9a90677e98bbaf3d4f0c0d4ee75c3909869e195e32e3be2e685d6cfdcc02
7
- data.tar.gz: 46032cd2d3121fe7ecdb5f251da88a23f52e75c6d4ad8efa6307c3bd35a81fafd1d6b4b2ac6fe6e2084680ba04588b3975301d63be8040af0ccf201c4b80b0ac
6
+ metadata.gz: edce51422f46f91269b531449998f8bdaaf1489b3ad168fed239c7155623577a3ed02a457d0556c6f0c134baab2da84d74f9e8a318fc77bfc93917c2150ca236
7
+ data.tar.gz: ad1c4c0eb4b7cb6663bcd48425399ddbe74cb12b2001a7a9229b0b6c81fe9eb06f09d2ca6b8279293c4252193308ddab6aabeb39d4d48f0f3d99fc613dc6e501
data/.rubocop.yml ADDED
@@ -0,0 +1,9 @@
1
+ # This is the configuration used to check the rubocop source code.
2
+
3
+ inherit_from: .rubocop_todo.yml
4
+
5
+ AllCops:
6
+ Exclude:
7
+ - 'vendor/**/*'
8
+ - 'spec/fixtures/**/*'
9
+ - 'spec/dummy/**/*'
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,182 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2016-01-07 10:02:02 +0100 using RuboCop version 0.35.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ Metrics/AbcSize:
11
+ Max: 29
12
+
13
+ # Offense count: 164
14
+ # Configuration parameters: AllowURI, URISchemes.
15
+ Metrics/LineLength:
16
+ Max: 198
17
+
18
+ # Offense count: 1
19
+ # Configuration parameters: CountComments.
20
+ Metrics/MethodLength:
21
+ Max: 32
22
+
23
+ # Offense count: 1
24
+ Style/AccessorMethodName:
25
+ Exclude:
26
+ - 'lib/wine_bouncer/oauth2.rb'
27
+
28
+ # Offense count: 1
29
+ # Cop supports --auto-correct.
30
+ Style/BlockComments:
31
+ Exclude:
32
+ - 'spec/spec_helper.rb'
33
+
34
+ # Offense count: 1
35
+ # Cop supports --auto-correct.
36
+ Style/CommentIndentation:
37
+ Exclude:
38
+ - 'spec/rails_helper.rb'
39
+
40
+ # Offense count: 14
41
+ # Configuration parameters: Exclude.
42
+ Style/Documentation:
43
+ Exclude:
44
+ - 'spec/**/*'
45
+ - 'test/**/*'
46
+ - 'lib/generators/wine_bouncer/initializer_generator.rb'
47
+ - 'lib/wine_bouncer.rb'
48
+ - 'lib/wine_bouncer/auth_methods/auth_methods.rb'
49
+ - 'lib/wine_bouncer/auth_strategies/default.rb'
50
+ - 'lib/wine_bouncer/auth_strategies/protected.rb'
51
+ - 'lib/wine_bouncer/auth_strategies/swagger.rb'
52
+ - 'lib/wine_bouncer/base_strategy.rb'
53
+ - 'lib/wine_bouncer/configuration.rb'
54
+ - 'lib/wine_bouncer/errors.rb'
55
+ - 'lib/wine_bouncer/extension.rb'
56
+ - 'lib/wine_bouncer/oauth2.rb'
57
+ - 'lib/wine_bouncer/version.rb'
58
+
59
+ # Offense count: 6
60
+ Style/DoubleNegation:
61
+ Exclude:
62
+ - 'lib/wine_bouncer/auth_methods/auth_methods.rb'
63
+ - 'lib/wine_bouncer/auth_strategies/default.rb'
64
+ - 'lib/wine_bouncer/auth_strategies/protected.rb'
65
+ - 'lib/wine_bouncer/auth_strategies/swagger.rb'
66
+
67
+ # Offense count: 4
68
+ # Cop supports --auto-correct.
69
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
70
+ Style/EmptyLinesAroundModuleBody:
71
+ Exclude:
72
+ - 'lib/wine_bouncer/configuration.rb'
73
+ - 'spec/dummy/app/api/default_api.rb'
74
+ - 'spec/dummy/app/api/protected_api.rb'
75
+ - 'spec/dummy/app/api/swagger_api.rb'
76
+
77
+ # Offense count: 14
78
+ # Cop supports --auto-correct.
79
+ # Configuration parameters: AllowForAlignment.
80
+ Style/ExtraSpacing:
81
+ Exclude:
82
+ - 'spec/dummy/bin/rails'
83
+ - 'spec/dummy/config.ru'
84
+ - 'spec/dummy/db/migrate/20140915160601_create_doorkeeper_tables.rb'
85
+ - 'spec/dummy/db/schema.rb'
86
+
87
+ # Offense count: 1
88
+ # Configuration parameters: MinBodyLength.
89
+ Style/GuardClause:
90
+ Exclude:
91
+ - 'lib/wine_bouncer/oauth2.rb'
92
+
93
+ # Offense count: 3
94
+ # Cop supports --auto-correct.
95
+ # Configuration parameters: Width.
96
+ Style/IndentationWidth:
97
+ Exclude:
98
+ - 'lib/wine_bouncer/auth_methods/auth_methods.rb'
99
+ - 'lib/wine_bouncer/auth_strategies/default.rb'
100
+ - 'lib/wine_bouncer/auth_strategies/swagger.rb'
101
+
102
+ # Offense count: 7
103
+ # Cop supports --auto-correct.
104
+ Style/LeadingCommentSpace:
105
+ Exclude:
106
+ - 'lib/wine_bouncer/oauth2.rb'
107
+ - 'spec/dummy/config/environments/test.rb'
108
+ - 'spec/intergration/oauth2_default_strategy_spec.rb'
109
+ - 'spec/intergration/oauth2_protected_strategy_spec.rb'
110
+ - 'spec/intergration/oauth2_swagger_strategy_spec.rb'
111
+ - 'spec/rails_helper.rb'
112
+
113
+ # Offense count: 21
114
+ # Cop supports --auto-correct.
115
+ Style/MethodCallParentheses:
116
+ Exclude:
117
+ - 'spec/lib/wine_bouncer/auth_strategies/default_spec.rb'
118
+ - 'spec/lib/wine_bouncer/auth_strategies/swagger_spec.rb'
119
+
120
+ # Offense count: 1
121
+ # Cop supports --auto-correct.
122
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
123
+ Style/MethodDefParentheses:
124
+ Enabled: false
125
+
126
+ # Offense count: 2
127
+ # Cop supports --auto-correct.
128
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
129
+ Style/MultilineOperationIndentation:
130
+ Enabled: false
131
+
132
+ # Offense count: 1
133
+ # Cop supports --auto-correct.
134
+ Style/NumericLiterals:
135
+ MinDigits: 15
136
+
137
+ # Offense count: 1
138
+ # Cop supports --auto-correct.
139
+ # Configuration parameters: PreferredDelimiters.
140
+ Style/PercentLiteralDelimiters:
141
+ Exclude:
142
+ - 'wine_bouncer.gemspec'
143
+
144
+ # Offense count: 7
145
+ # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
146
+ Style/PredicateName:
147
+ Exclude:
148
+ - 'lib/wine_bouncer/auth_methods/auth_methods.rb'
149
+ - 'lib/wine_bouncer/auth_strategies/default.rb'
150
+ - 'lib/wine_bouncer/auth_strategies/protected.rb'
151
+ - 'lib/wine_bouncer/auth_strategies/swagger.rb'
152
+
153
+ # Offense count: 1
154
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
155
+ Style/RaiseArgs:
156
+ Enabled: false
157
+
158
+ # Offense count: 2
159
+ # Cop supports --auto-correct.
160
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
161
+ Style/SignalException:
162
+ Exclude:
163
+ - 'lib/wine_bouncer/oauth2.rb'
164
+
165
+ # Offense count: 1
166
+ # Cop supports --auto-correct.
167
+ Style/SpaceAfterComma:
168
+ Exclude:
169
+ - 'spec/lib/wine_bouncer/auth_strategies/swagger_spec.rb'
170
+
171
+ # Offense count: 1
172
+ # Cop supports --auto-correct.
173
+ # Configuration parameters: IgnoredMethods.
174
+ Style/SymbolProc:
175
+ Exclude:
176
+ - 'lib/wine_bouncer/extension.rb'
177
+
178
+ # Offense count: 1
179
+ # Cop supports --auto-correct.
180
+ Style/UnneededPercentQ:
181
+ Exclude:
182
+ - 'wine_bouncer.gemspec'
data/.travis.yml CHANGED
@@ -5,16 +5,17 @@ before_install:
5
5
  language: ruby
6
6
  cache: bundler
7
7
  rvm:
8
- - 2.0
9
- - 2.1
10
- - 2.2
8
+ - 2.0.0
9
+ - 2.1.0
10
+ - 2.2.0
11
+ - 2.3.0
11
12
  env:
12
13
  - rails=4.1.1 grape=0.12.0 doorkeeper=2.0.1
13
- - rails=4.1.1 grape=0.12.0 doorkeeper=2.1.4
14
+ - rails=4.1.1 grape=0.13.0 doorkeeper=2.1.4
14
15
  - rails=4.2.0 grape=0.10.0 doorkeeper=2.2.1
15
- - rails=4.2.0 grape=0.11.0 doorkeeper=3.0.0
16
- - rails=4.2.0 grape=0.12.0 doorkeeper=3.0.0
17
- - rails=4.2.0 grape=0.13.0 doorkeeper=3.0.0
16
+ - rails=4.2.0 grape=0.11.0 doorkeeper=3.1.0
17
+ - rails=4.2.0 grape=0.13.0 doorkeeper=3.1.0
18
+ - rails=4.2.0 grape=0.14.0 doorkeeper=3.1.0
18
19
  addons:
19
20
  code_climate:
20
21
  repo_token: ab1b6ce5f973da033f80ae2e99fadbb32b2f9c37892703956d8ef954c8e8134e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
1
  Changelog
2
2
  =========
3
- ## Next
3
+ ## 0.5.1
4
+ * [#56](https://github.com/antek-drzewiecki/wine_bouncer/pull/57): Removed locks for doorkeeper
5
+ * [#56](https://github.com/antek-drzewiecki/wine_bouncer/pull/56): Grape 0.14.x support, removed locks.
6
+ * Tested against ruby 2.3.0
4
7
 
5
8
  ## 0.5.0
6
9
  * [#50](https://github.com/antek-drzewiecki/wine_bouncer/pull/50): Grape 0.13.x support
data/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- ENV['grape'] ||= '0.13.0'
3
+ ENV['grape'] ||= '0.14.0'
4
4
  ENV['rails'] ||= '4.2.0'
5
- ENV['doorkeeper'] ||= '2.2.1'
5
+ ENV['doorkeeper'] ||= '3.1.0'
6
6
 
7
7
  gem 'rails', ENV['rails']
8
8
 
data/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![Build Status](https://travis-ci.org/antek-drzewiecki/wine_bouncer.svg?branch=master)](https://travis-ci.org/antek-drzewiecki/wine_bouncer)
4
4
  [![Code Climate](https://codeclimate.com/github/antek-drzewiecki/wine_bouncer/badges/gpa.svg)](https://codeclimate.com/github/antek-drzewiecki/wine_bouncer)
5
5
  [![Gem Version](https://badge.fury.io/rb/wine_bouncer.svg)](http://badge.fury.io/rb/wine_bouncer)
6
+ [![Documentation](https://inch-ci.org/github/antek-drzewiecki/wine_bouncer.svg)](https://inch-ci.org/github/antek-drzewiecki/wine_bouncer)
6
7
 
7
8
  Protect your precious Grape API with Doorkeeper.
8
9
  WineBouncer uses minimal modification, to make the magic happen.
@@ -28,15 +29,16 @@ Table of Contents
28
29
 
29
30
  ## Requirements
30
31
  - Ruby > 2.0
31
- - Doorkeeper > 1.4.0 and < 3.1
32
- - Grape > 0.10 and < 0.14
32
+ - Doorkeeper > 1.4.0 and < 4.0
33
+ - Grape > 0.10 and < 1.0
34
+ Please submit pull requests and Travis env bumps for newer dependency versions.
33
35
 
34
36
  ## Installation
35
37
 
36
38
  Add this line to your application's Gemfile:
37
39
 
38
40
  ```ruby
39
- gem 'wine_bouncer', '~> 0.5.0'
41
+ gem 'wine_bouncer', '~> 0.5.1'
40
42
  ```
41
43
 
42
44
  And then execute:
@@ -158,13 +160,12 @@ Then you can start protecting your API like the example below.
158
160
 
159
161
  ``` ruby
160
162
  desc 'This method needs the public or private scope.',
161
- :entity => Api::Entities::Response,
162
- http_codes: [
163
- [200, 'OK', Api::Entities::Response],
163
+ success: Api::Entities::Response,
164
+ failure: [
164
165
  [401, 'Unauthorized', Api::Entities::Error],
165
166
  [403, 'Forbidden', Api::Entities::Error]
166
167
  ],
167
- :notes => <<-NOTE
168
+ notes: <<-NOTE
168
169
  Marked down notes!
169
170
  NOTE
170
171
  oauth2 'public', 'write'
data/Rakefile CHANGED
@@ -1,10 +1,9 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
2
 
3
3
  require 'rspec/core/rake_task'
4
4
 
5
-
6
5
  desc 'Default: Run all specs.'
7
- task :default => :spec
6
+ task default: :spec
8
7
 
9
- desc "Run all specs"
10
- RSpec::Core::RakeTask.new(:spec)
8
+ desc 'Run all specs'
9
+ RSpec::Core::RakeTask.new(:spec)
@@ -3,7 +3,7 @@ module WineBouncer
3
3
  attr_accessor :doorkeeper_access_token
4
4
 
5
5
  def protected_endpoint=(protected)
6
- @protected_endpoint= protected
6
+ @protected_endpoint = protected
7
7
  end
8
8
 
9
9
  def protected_endpoint?
@@ -27,7 +27,7 @@ module WineBouncer
27
27
  end
28
28
 
29
29
  def has_doorkeeper_token?
30
- !!@_doorkeeper_access_token
30
+ !@_doorkeeper_access_token.nil?
31
31
  end
32
32
 
33
33
  def has_resource_owner?
@@ -1,14 +1,13 @@
1
1
  module WineBouncer
2
2
  module AuthStrategies
3
3
  class Default < ::WineBouncer::BaseStrategy
4
-
5
4
  def endpoint_protected?
6
5
  !!endpoint_authorizations
7
6
  end
8
7
 
9
8
  def has_auth_scopes?
10
9
  !!endpoint_authorizations &&
11
- endpoint_authorizations.has_key?(:scopes) &&
10
+ endpoint_authorizations.key?(:scopes) &&
12
11
  !endpoint_authorizations[:scopes].empty?
13
12
  end
14
13
 
@@ -1,14 +1,13 @@
1
1
  module WineBouncer
2
2
  module AuthStrategies
3
3
  class Protected < WineBouncer::BaseStrategy
4
-
5
4
  def endpoint_protected?
6
5
  has_authorizations?
7
6
  end
8
7
 
9
8
  def has_auth_scopes?
10
9
  endpoint_authorizations &&
11
- endpoint_authorizations.has_key?(:scopes) &&
10
+ endpoint_authorizations.key?(:scopes) &&
12
11
  endpoint_authorizations[:scopes].any?
13
12
  end
14
13
 
@@ -22,7 +21,6 @@ module WineBouncer
22
21
  endpoint_authorizations.nil?
23
22
  end
24
23
 
25
-
26
24
  # returns true if an authorization hash has been found
27
25
  # First it checks for the old syntax, then for the new.
28
26
  def has_authorizations?
@@ -1,7 +1,6 @@
1
1
  module WineBouncer
2
2
  module AuthStrategies
3
3
  class Swagger < ::WineBouncer::BaseStrategy
4
-
5
4
  def endpoint_protected?
6
5
  has_authorizations? && !!authorization_type_oauth2
7
6
  end
@@ -5,13 +5,9 @@ module WineBouncer
5
5
  end
6
6
 
7
7
  class Configuration
8
-
9
8
  attr_accessor :auth_strategy
10
9
  attr_accessor :defined_resource_owner
11
-
12
- def auth_strategy=(strategy)
13
- @auth_strategy= strategy
14
- end
10
+ attr_writer :auth_strategy
15
11
 
16
12
  def auth_strategy
17
13
  @auth_strategy || :default
@@ -42,12 +38,12 @@ module WineBouncer
42
38
  end
43
39
  end
44
40
 
45
- def self.configuration
41
+ def self.configuration
46
42
  @configuration || fail(Errors::UnconfiguredError.new)
47
43
  end
48
44
 
49
45
  def self.configuration=(config)
50
- @configuration= config
46
+ @configuration = config
51
47
  @configuration.require_strategies
52
48
  end
53
49
 
@@ -3,15 +3,15 @@ module WineBouncer
3
3
  def oauth2(*scopes)
4
4
  scopes = Doorkeeper.configuration.default_scopes.all if scopes.all? { |x| x.nil? }
5
5
  description = if respond_to?(:route_setting) # >= grape-0.10.0
6
- route_setting(:description) || route_setting(:description, {})
7
- else
8
- @last_description ||= {}
9
- end
6
+ route_setting(:description) || route_setting(:description, {})
7
+ else
8
+ @last_description ||= {}
9
+ end
10
10
  # case WineBouncer.configuration.auth_strategy
11
11
  # when :default
12
12
  description[:auth] = { scopes: scopes }
13
13
  # when :swagger
14
- description[:authorizations] = { oauth2: scopes.map{|x| {scope: x}} }
14
+ description[:authorizations] = { oauth2: scopes.map { |x| { scope: x } } }
15
15
  # end
16
16
  end
17
17
 
@@ -1,6 +1,5 @@
1
1
  module WineBouncer
2
2
  class OAuth2 < Grape::Middleware::Base
3
-
4
3
  include Doorkeeper::Helpers::Controller
5
4
  ###
6
5
  # returns the api context
@@ -86,23 +85,20 @@ module WineBouncer
86
85
  context.extend(WineBouncer::AuthMethods)
87
86
  context.protected_endpoint = endpoint_protected?
88
87
  return unless context.protected_endpoint?
89
- self.doorkeeper_request= env # set request for later use.
90
- doorkeeper_authorize! *auth_scopes
88
+ self.doorkeeper_request = env # set request for later use.
89
+ doorkeeper_authorize!(*auth_scopes)
91
90
  context.doorkeeper_access_token = doorkeeper_token
92
91
  end
93
92
 
94
93
  ###
95
94
  # Strategy
96
95
  ###
97
- def auth_strategy
98
- @auth_strategy
99
- end
96
+ attr_reader :auth_strategy
100
97
 
101
98
  private
102
99
 
103
100
  def set_auth_strategy(strategy)
104
101
  @auth_strategy = WineBouncer::AuthStrategies.const_get("#{strategy.to_s.capitalize}").new
105
102
  end
106
-
107
103
  end
108
104
  end
@@ -1,3 +1,3 @@
1
1
  module WineBouncer
2
- VERSION = '0.5.0'
2
+ VERSION = '0.5.1'
3
3
  end
@@ -58,7 +58,6 @@ module Api
58
58
  get '/oauth2_dsl_multiple_scopes' do
59
59
  { hello: 'oauth2 dsl multiple scopes' }
60
60
  end
61
-
62
61
  end
63
62
 
64
63
  class DefaultApiUnderTest < Grape::API
@@ -68,4 +67,3 @@ module Api
68
67
  mount MountedDefaultApiUnderTest
69
68
  end
70
69
  end
71
-
@@ -33,7 +33,6 @@ module Api
33
33
  { hello: 'non described world' }
34
34
  end
35
35
 
36
-
37
36
  desc 'oauth2 dsl'
38
37
  oauth2 'public'
39
38
  get '/oauth2_dsl' do
@@ -49,7 +48,6 @@ module Api
49
48
  get '/oauth2_dsl_custom_scopes' do
50
49
  { hello: 'oauth dsl custom scopes' }
51
50
  end
52
-
53
51
  end
54
52
 
55
53
  class SwaggerApiUnderTest < Grape::API
@@ -1,18 +1,17 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  # Pick the frameworks you want:
4
- require "active_record/railtie"
5
- require "action_controller/railtie"
6
- require "action_mailer/railtie"
7
- require "action_view/railtie"
8
- require "sprockets/railtie"
4
+ require 'active_record/railtie'
5
+ require 'action_controller/railtie'
6
+ require 'action_mailer/railtie'
7
+ require 'action_view/railtie'
8
+ require 'sprockets/railtie'
9
9
 
10
- require "wine_bouncer"
10
+ require 'wine_bouncer'
11
11
  # require "rails/test_unit/railtie"
12
12
 
13
13
  Bundler.require(*Rails.groups)
14
14
 
15
-
16
15
  module Dummy
17
16
  class Application < Rails::Application
18
17
  # Settings in config/environments/* take precedence over those specified here.
@@ -28,4 +27,3 @@ module Dummy
28
27
  # config.i18n.default_locale = :de
29
28
  end
30
29
  end
31
-
@@ -1,3 +1,3 @@
1
1
  # Be sure to restart your server when you modify this file.
2
2
 
3
- Rails.application.config.action_dispatch.cookies_serializer = :json
3
+ Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -41,7 +41,7 @@ Doorkeeper.configure do
41
41
  # Define access token scopes for your provider
42
42
  # For more information go to
43
43
  # https://github.com/doorkeeper-gem/doorkeeper/wiki/Using-Scopes
44
- default_scopes :public, :default
44
+ default_scopes :public, :default
45
45
  optional_scopes :write, :update
46
46
 
47
47
  # Change the way client credentials are retrieved from the request object.
@@ -1 +1 @@
1
- Dummy::Application.config.secret_token = 'c65fd1ffec8275651d1fd06ec3a4914ba644bbeb87729594a3b35fb4b7ad4cccd298d77baf63f7a6513d437e5b95eef9637f9c37a9691c3ed41143d8b5f9a5ef'
1
+ Dummy::Application.config.secret_token = 'c65fd1ffec8275651d1fd06ec3a4914ba644bbeb87729594a3b35fb4b7ad4cccd298d77baf63f7a6513d437e5b95eef9637f9c37a9691c3ed41143d8b5f9a5ef'
@@ -1,37 +1,37 @@
1
1
  class CreateDoorkeeperTables < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :oauth_applications do |t|
4
- t.string :name, null: false
5
- t.string :uid, null: false
6
- t.string :secret, null: false
7
- t.text :redirect_uri, null: false
4
+ t.string :name, null: false
5
+ t.string :uid, null: false
6
+ t.string :secret, null: false
7
+ t.text :redirect_uri, null: false
8
8
  t.timestamps
9
9
  end
10
10
 
11
11
  add_index :oauth_applications, :uid, unique: true
12
12
 
13
13
  create_table :oauth_access_grants do |t|
14
- t.integer :resource_owner_id, null: false
15
- t.integer :application_id, null: false
16
- t.string :token, null: false
17
- t.integer :expires_in, null: false
18
- t.text :redirect_uri, null: false
14
+ t.integer :resource_owner_id, null: false
15
+ t.integer :application_id, null: false
16
+ t.string :token, null: false
17
+ t.integer :expires_in, null: false
18
+ t.text :redirect_uri, null: false
19
19
  t.datetime :created_at, null: false
20
20
  t.datetime :revoked_at
21
- t.string :scopes
21
+ t.string :scopes
22
22
  end
23
23
 
24
24
  add_index :oauth_access_grants, :token, unique: true
25
25
 
26
26
  create_table :oauth_access_tokens do |t|
27
- t.integer :resource_owner_id
28
- t.integer :application_id
29
- t.string :token, null: false
30
- t.string :refresh_token
31
- t.integer :expires_in
27
+ t.integer :resource_owner_id
28
+ t.integer :application_id
29
+ t.string :token, null: false
30
+ t.string :refresh_token
31
+ t.integer :expires_in
32
32
  t.datetime :revoked_at
33
33
  t.datetime :created_at, null: false
34
- t.string :scopes
34
+ t.string :scopes
35
35
  end
36
36
 
37
37
  add_index :oauth_access_tokens, :token, unique: true
@@ -12,50 +12,48 @@
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
14
  ActiveRecord::Schema.define(version: 20140915160601) do
15
-
16
- create_table "oauth_access_grants", force: true do |t|
17
- t.integer "resource_owner_id", null: false
18
- t.integer "application_id", null: false
19
- t.string "token", null: false
20
- t.integer "expires_in", null: false
21
- t.text "redirect_uri", null: false
22
- t.datetime "created_at", null: false
23
- t.datetime "revoked_at"
24
- t.string "scopes"
15
+ create_table 'oauth_access_grants', force: true do |t|
16
+ t.integer 'resource_owner_id', null: false
17
+ t.integer 'application_id', null: false
18
+ t.string 'token', null: false
19
+ t.integer 'expires_in', null: false
20
+ t.text 'redirect_uri', null: false
21
+ t.datetime 'created_at', null: false
22
+ t.datetime 'revoked_at'
23
+ t.string 'scopes'
25
24
  end
26
25
 
27
- add_index "oauth_access_grants", ["token"], name: "index_oauth_access_grants_on_token", unique: true
28
-
29
- create_table "oauth_access_tokens", force: true do |t|
30
- t.integer "resource_owner_id"
31
- t.integer "application_id"
32
- t.string "token", null: false
33
- t.string "refresh_token"
34
- t.integer "expires_in"
35
- t.datetime "revoked_at"
36
- t.datetime "created_at", null: false
37
- t.string "scopes"
26
+ add_index 'oauth_access_grants', ['token'], name: 'index_oauth_access_grants_on_token', unique: true
27
+
28
+ create_table 'oauth_access_tokens', force: true do |t|
29
+ t.integer 'resource_owner_id'
30
+ t.integer 'application_id'
31
+ t.string 'token', null: false
32
+ t.string 'refresh_token'
33
+ t.integer 'expires_in'
34
+ t.datetime 'revoked_at'
35
+ t.datetime 'created_at', null: false
36
+ t.string 'scopes'
38
37
  end
39
38
 
40
- add_index "oauth_access_tokens", ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true
41
- add_index "oauth_access_tokens", ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id"
42
- add_index "oauth_access_tokens", ["token"], name: "index_oauth_access_tokens_on_token", unique: true
43
-
44
- create_table "oauth_applications", force: true do |t|
45
- t.string "name", null: false
46
- t.string "uid", null: false
47
- t.string "secret", null: false
48
- t.text "redirect_uri", null: false
49
- t.datetime "created_at"
50
- t.datetime "updated_at"
39
+ add_index 'oauth_access_tokens', ['refresh_token'], name: 'index_oauth_access_tokens_on_refresh_token', unique: true
40
+ add_index 'oauth_access_tokens', ['resource_owner_id'], name: 'index_oauth_access_tokens_on_resource_owner_id'
41
+ add_index 'oauth_access_tokens', ['token'], name: 'index_oauth_access_tokens_on_token', unique: true
42
+
43
+ create_table 'oauth_applications', force: true do |t|
44
+ t.string 'name', null: false
45
+ t.string 'uid', null: false
46
+ t.string 'secret', null: false
47
+ t.text 'redirect_uri', null: false
48
+ t.datetime 'created_at'
49
+ t.datetime 'updated_at'
51
50
  end
52
51
 
53
- add_index "oauth_applications", ["uid"], name: "index_oauth_applications_on_uid", unique: true
52
+ add_index 'oauth_applications', ['uid'], name: 'index_oauth_applications_on_uid', unique: true
54
53
 
55
- create_table "users", force: true do |t|
56
- t.string "name"
57
- t.datetime "created_at"
58
- t.datetime "updated_at"
54
+ create_table 'users', force: true do |t|
55
+ t.string 'name'
56
+ t.datetime 'created_at'
57
+ t.datetime 'updated_at'
59
58
  end
60
-
61
59
  end
@@ -8,4 +8,4 @@ FactoryGirl.define do
8
8
  application nil
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -3,4 +3,4 @@ FactoryGirl.define do
3
3
  sequence(:name) { |n| "Application #{n}" }
4
4
  redirect_uri 'https://app.com/callback'
5
5
  end
6
- end
6
+ end
@@ -2,4 +2,4 @@ FactoryGirl.define do
2
2
  factory :user do
3
3
  sequence(:name) { |n| "user-#{n}" }
4
4
  end
5
- end
5
+ end
@@ -2,13 +2,12 @@ require 'rails_helper'
2
2
  require 'json'
3
3
 
4
4
  describe Api::MountedDefaultApiUnderTest, type: :api do
5
-
6
5
  let(:user) { FactoryGirl.create :user }
7
6
  let(:token) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: 'public' }
8
7
  let(:unscoped_token) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: '' }
9
8
  let(:custom_scope) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: 'custom_scope' } #not a default scope
10
9
 
11
- before (:example) do
10
+ before(:example) do
12
11
  WineBouncer.configure do |c|
13
12
  c.auth_strategy = :default
14
13
 
@@ -71,7 +70,6 @@ describe Api::MountedDefaultApiUnderTest, type: :api do
71
70
  end
72
71
 
73
72
  context 'protected_without_scopes' do
74
-
75
73
  it 'allows to call an protected endpoint without scopes' do
76
74
  get '/default_api/protected_without_scope', nil, 'HTTP_AUTHORIZATION' => "Bearer #{token.token}"
77
75
 
@@ -141,7 +139,6 @@ describe Api::MountedDefaultApiUnderTest, type: :api do
141
139
  end
142
140
 
143
141
  context 'oauth2_dsl_multiple_scopes' do
144
-
145
142
  it 'allows call on the first scope' do
146
143
  scope_token = FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: 'multiple'
147
144
  get '/default_api/oauth2_dsl_multiple_scopes', nil, 'HTTP_AUTHORIZATION' => "Bearer #{scope_token.token}"
@@ -163,7 +160,6 @@ describe Api::MountedDefaultApiUnderTest, type: :api do
163
160
  it 'raises an error scope does not match any of the scopes' do
164
161
  expect { get '/default_api/oauth2_dsl_multiple_scopes' }.to raise_exception(WineBouncer::Errors::OAuthUnauthorizedError)
165
162
  end
166
-
167
163
  end
168
164
  end
169
165
 
@@ -2,13 +2,12 @@ require 'rails_helper'
2
2
  require 'json'
3
3
 
4
4
  describe Api::MountedProtectedApiUnderTest, type: :api do
5
-
6
5
  let(:user) { FactoryGirl.create :user }
7
6
  let(:token) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: 'public' }
8
7
  let(:unscoped_token) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: '' }
9
8
  let(:custom_scope) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: 'custom_scope' } #not a default scope
10
9
 
11
- before (:example) do
10
+ before(:example) do
12
11
  WineBouncer.configure do |c|
13
12
  c.auth_strategy = :protected
14
13
 
@@ -2,14 +2,12 @@ require 'rails_helper'
2
2
  require 'json'
3
3
 
4
4
  describe Api::MountedSwaggerApiUnderTest, type: :api do
5
-
6
5
  let(:user) { FactoryGirl.create :user }
7
6
  let(:token) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: 'public' }
8
7
  let(:unscoped_token) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: '' }
9
8
  let(:custom_scope) { FactoryGirl.create :clientless_access_token, resource_owner_id: user.id, scopes: 'custom_scope' } #not a default scope
10
9
 
11
-
12
- before (:example) do
10
+ before(:example) do
13
11
  WineBouncer.configure do |c|
14
12
  c.auth_strategy = :swagger
15
13
 
@@ -21,7 +19,6 @@ describe Api::MountedSwaggerApiUnderTest, type: :api do
21
19
 
22
20
  context 'tokens and scopes' do
23
21
  it 'gives access when the token and scope are correct' do
24
-
25
22
  get '/swagger_api/protected', nil, 'HTTP_AUTHORIZATION' => "Bearer #{token.token}"
26
23
 
27
24
  expect(last_response.status).to eq(200)
@@ -64,7 +61,6 @@ describe Api::MountedSwaggerApiUnderTest, type: :api do
64
61
  end
65
62
 
66
63
  context 'protected_without_scopes' do
67
-
68
64
  it 'allows to call an protected endpoint without scopes' do
69
65
  get '/swagger_api/protected_without_scope', nil, 'HTTP_AUTHORIZATION' => "Bearer #{token.token}"
70
66
 
@@ -155,5 +151,4 @@ describe Api::MountedSwaggerApiUnderTest, type: :api do
155
151
  expect(json['hello']).to eq(user.name)
156
152
  end
157
153
  end
158
-
159
154
  end
@@ -15,4 +15,3 @@ describe WineBouncer::Generators::InitializerGenerator, type: :generator do
15
15
  assert_file 'config/initializers/wine_bouncer.rb', /WineBouncer\.configure/
16
16
  end
17
17
  end
18
-
@@ -1,7 +1,6 @@
1
1
  require 'rails_helper'
2
2
 
3
3
  describe ::WineBouncer::AuthMethods do
4
-
5
4
  let(:tested_class) do
6
5
  Class.new do
7
6
  include ::WineBouncer::AuthMethods
@@ -25,7 +24,6 @@ describe ::WineBouncer::AuthMethods do
25
24
  end
26
25
 
27
26
  it 'gives false when the class an no token' do
28
-
29
27
  expect(tested_class.has_resource_owner?).to be false
30
28
  end
31
29
 
@@ -63,19 +61,19 @@ describe ::WineBouncer::AuthMethods do
63
61
 
64
62
  it 'return false if the token has a resource_owner' do
65
63
  token.resource_owner_id = 2
66
- tested_class.doorkeeper_access_token= token
64
+ tested_class.doorkeeper_access_token = token
67
65
  expect(tested_class.client_credential_token?).to be false
68
66
  end
69
67
  end
70
68
 
71
69
  context 'protected_endpoint?' do
72
70
  it 'when set true it returns true' do
73
- tested_class.protected_endpoint= true
71
+ tested_class.protected_endpoint = true
74
72
  expect(tested_class.protected_endpoint?).to be true
75
73
  end
76
74
 
77
75
  it 'when set false it returns false' do
78
- tested_class.protected_endpoint= false
76
+ tested_class.protected_endpoint = false
79
77
  expect(tested_class.protected_endpoint?).to be false
80
78
  end
81
79
 
@@ -84,22 +82,21 @@ describe ::WineBouncer::AuthMethods do
84
82
  end
85
83
  end
86
84
 
87
-
88
85
  context 'resource_owner' do
89
86
  it 'runs the configured block' do
90
87
  result = 'called block'
91
- foo = Proc.new { result }
88
+ foo = proc { result }
92
89
 
93
90
  WineBouncer.configure do |c|
94
91
  c.auth_strategy = :default
95
- c.define_resource_owner &foo
92
+ c.define_resource_owner(&foo)
96
93
  end
97
94
 
98
95
  expect(tested_class.resource_owner).to be(result)
99
96
  end
100
97
 
101
98
  it 'raises an argument error when the block is not configured' do
102
- WineBouncer.configuration= WineBouncer::Configuration.new
99
+ WineBouncer.configuration = WineBouncer::Configuration.new
103
100
  expect { tested_class.resource_owner }.to raise_error(WineBouncer::Errors::UnconfiguredError)
104
101
  end
105
102
  end
@@ -8,7 +8,6 @@ describe ::WineBouncer::AuthStrategies::Default do
8
8
  let(:scopes_hash) { { scopes: scopes } }
9
9
  let(:auth_context) { { route_options: { auth: scopes_hash } } }
10
10
 
11
-
12
11
  context 'endpoint_authorizations' do
13
12
  it 'returns the auth key of the authentication hash.' do
14
13
  context_double = double()
@@ -57,7 +56,6 @@ describe ::WineBouncer::AuthStrategies::Default do
57
56
  end
58
57
 
59
58
  it 'returns false when the auth scopes contain a blank scope array' do
60
-
61
59
  context_double = double()
62
60
  allow(context_double).to receive(:options) { { route_options: { auth: { scopes: [] } } } }
63
61
  klass.api_context = context_double
@@ -8,7 +8,6 @@ describe ::WineBouncer::AuthStrategies::Swagger do
8
8
  let(:scopes_map) { { oauth2: scopes } }
9
9
  let(:auth_context) { { route_options: { authorizations: scopes_map } } }
10
10
 
11
-
12
11
  context 'endpoint_authorizations' do
13
12
  it 'returns the auth key of the authentication hash.' do
14
13
  context_double = double()
data/spec/rails_helper.rb CHANGED
@@ -55,11 +55,10 @@ RSpec.configure do |config|
55
55
  # instead of true.
56
56
 
57
57
  config.include FactoryGirl::Syntax::Methods
58
- config.include ApiHelper, :type=>:api
58
+ config.include ApiHelper, type: :api
59
59
 
60
60
  config.use_transactional_fixtures = false
61
61
 
62
-
63
62
  config.infer_spec_type_from_file_location!
64
63
 
65
64
  config.infer_base_class_for_anonymous_controllers = false
@@ -76,5 +75,3 @@ RSpec.configure do |config|
76
75
 
77
76
  config.order = 'random'
78
77
  end
79
-
80
-
@@ -1,2 +1,2 @@
1
1
  ActiveRecord::Migration.verbose = false
2
- load Rails.root + 'db/schema.rb'
2
+ load Rails.root + 'db/schema.rb'
data/spec/spec_helper.rb CHANGED
@@ -14,7 +14,7 @@
14
14
  # users commonly want.
15
15
  #
16
16
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
17
- require "codeclimate-test-reporter"
17
+ require 'codeclimate-test-reporter'
18
18
  CodeClimate::TestReporter.start
19
19
 
20
20
  RSpec.configure do |config|
data/wine_bouncer.gemspec CHANGED
@@ -4,28 +4,30 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'wine_bouncer/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "wine_bouncer"
7
+ spec.name = 'wine_bouncer'
8
8
  spec.version = WineBouncer::VERSION
9
- spec.authors = ["Antek Drzewiecki"]
10
- spec.email = ["antek.drzewiecki@altran.com"]
9
+ spec.authors = ['Antek Drzewiecki']
10
+ spec.email = ['antek.drzewiecki@altran.com']
11
11
  spec.summary = %q{A Ruby gem that allows Oauth2 protection with Doorkeeper for Grape Api's}
12
- spec.homepage = ""
13
- spec.license = "MIT"
12
+ spec.homepage = ''
13
+ spec.license = 'MIT'
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0")
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
- spec.require_paths = ["lib"]
18
+ spec.require_paths = ['lib']
19
19
 
20
- spec.add_runtime_dependency 'grape', '~> 0.10', '< 0.14'
21
- spec.add_runtime_dependency 'doorkeeper', '>= 1.4', '< 3.1'
20
+ spec.add_runtime_dependency 'grape', '~> 0.10', '< 1.0'
21
+ spec.add_runtime_dependency 'doorkeeper', '>= 1.4', '< 4.0'
22
22
 
23
- spec.add_development_dependency "railties"
24
- spec.add_development_dependency "bundler", "~> 1.7"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "rspec-rails", '~> 3.2.0'
23
+ spec.add_development_dependency 'railties'
24
+ spec.add_development_dependency 'bundler', '~> 1.7'
25
+ spec.add_development_dependency 'rake', '~> 10.0'
26
+ spec.add_development_dependency 'rspec-rails', '~> 3.2.0'
27
27
  spec.add_development_dependency 'factory_girl', '~> 4.4.0'
28
- spec.add_development_dependency "generator_spec", "~> 0.9.0"
29
- spec.add_development_dependency "sqlite3"
30
- spec.add_development_dependency "database_cleaner", "~> 1.3.0"
28
+ spec.add_development_dependency 'generator_spec', '~> 0.9.0'
29
+ spec.add_development_dependency 'sqlite3'
30
+ spec.add_development_dependency 'database_cleaner', '~> 1.3.0'
31
+ spec.add_development_dependency 'rubocop', '0.35.1'
32
+ spec.add_development_dependency 'yard', '~> 0.8.7'
31
33
  end
metadata CHANGED
@@ -1,167 +1,195 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wine_bouncer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antek Drzewiecki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-31 00:00:00.000000000 Z
11
+ date: 2016-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grape
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.10'
20
- - - <
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '0.14'
22
+ version: '1.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0.10'
30
- - - <
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '0.14'
32
+ version: '1.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: doorkeeper
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.4'
40
- - - <
40
+ - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '3.1'
42
+ version: '4.0'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '1.4'
50
- - - <
50
+ - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '3.1'
52
+ version: '4.0'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: railties
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - '>='
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  type: :development
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - '>='
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: bundler
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ~>
71
+ - - "~>"
72
72
  - !ruby/object:Gem::Version
73
73
  version: '1.7'
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ~>
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '1.7'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rake
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - ~>
85
+ - - "~>"
86
86
  - !ruby/object:Gem::Version
87
87
  version: '10.0'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - ~>
92
+ - - "~>"
93
93
  - !ruby/object:Gem::Version
94
94
  version: '10.0'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: rspec-rails
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
- - - ~>
99
+ - - "~>"
100
100
  - !ruby/object:Gem::Version
101
101
  version: 3.2.0
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - ~>
106
+ - - "~>"
107
107
  - !ruby/object:Gem::Version
108
108
  version: 3.2.0
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: factory_girl
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - ~>
113
+ - - "~>"
114
114
  - !ruby/object:Gem::Version
115
115
  version: 4.4.0
116
116
  type: :development
117
117
  prerelease: false
118
118
  version_requirements: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - ~>
120
+ - - "~>"
121
121
  - !ruby/object:Gem::Version
122
122
  version: 4.4.0
123
123
  - !ruby/object:Gem::Dependency
124
124
  name: generator_spec
125
125
  requirement: !ruby/object:Gem::Requirement
126
126
  requirements:
127
- - - ~>
127
+ - - "~>"
128
128
  - !ruby/object:Gem::Version
129
129
  version: 0.9.0
130
130
  type: :development
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - ~>
134
+ - - "~>"
135
135
  - !ruby/object:Gem::Version
136
136
  version: 0.9.0
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: sqlite3
139
139
  requirement: !ruby/object:Gem::Requirement
140
140
  requirements:
141
- - - '>='
141
+ - - ">="
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  type: :development
145
145
  prerelease: false
146
146
  version_requirements: !ruby/object:Gem::Requirement
147
147
  requirements:
148
- - - '>='
148
+ - - ">="
149
149
  - !ruby/object:Gem::Version
150
150
  version: '0'
151
151
  - !ruby/object:Gem::Dependency
152
152
  name: database_cleaner
153
153
  requirement: !ruby/object:Gem::Requirement
154
154
  requirements:
155
- - - ~>
155
+ - - "~>"
156
156
  - !ruby/object:Gem::Version
157
157
  version: 1.3.0
158
158
  type: :development
159
159
  prerelease: false
160
160
  version_requirements: !ruby/object:Gem::Requirement
161
161
  requirements:
162
- - - ~>
162
+ - - "~>"
163
163
  - !ruby/object:Gem::Version
164
164
  version: 1.3.0
165
+ - !ruby/object:Gem::Dependency
166
+ name: rubocop
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - '='
170
+ - !ruby/object:Gem::Version
171
+ version: 0.35.1
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - '='
177
+ - !ruby/object:Gem::Version
178
+ version: 0.35.1
179
+ - !ruby/object:Gem::Dependency
180
+ name: yard
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: 0.8.7
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "~>"
191
+ - !ruby/object:Gem::Version
192
+ version: 0.8.7
165
193
  description:
166
194
  email:
167
195
  - antek.drzewiecki@altran.com
@@ -169,9 +197,11 @@ executables: []
169
197
  extensions: []
170
198
  extra_rdoc_files: []
171
199
  files:
172
- - .gitignore
173
- - .rspec
174
- - .travis.yml
200
+ - ".gitignore"
201
+ - ".rspec"
202
+ - ".rubocop.yml"
203
+ - ".rubocop_todo.yml"
204
+ - ".travis.yml"
175
205
  - CHANGELOG.md
176
206
  - CONTRIBUTING.md
177
207
  - Gemfile
@@ -266,17 +296,17 @@ require_paths:
266
296
  - lib
267
297
  required_ruby_version: !ruby/object:Gem::Requirement
268
298
  requirements:
269
- - - '>='
299
+ - - ">="
270
300
  - !ruby/object:Gem::Version
271
301
  version: '0'
272
302
  required_rubygems_version: !ruby/object:Gem::Requirement
273
303
  requirements:
274
- - - '>='
304
+ - - ">="
275
305
  - !ruby/object:Gem::Version
276
306
  version: '0'
277
307
  requirements: []
278
308
  rubyforge_project:
279
- rubygems_version: 2.2.2
309
+ rubygems_version: 2.5.1
280
310
  signing_key:
281
311
  specification_version: 4
282
312
  summary: A Ruby gem that allows Oauth2 protection with Doorkeeper for Grape Api's
@@ -344,3 +374,4 @@ test_files:
344
374
  - spec/rails_helper.rb
345
375
  - spec/shared/orm/active_record.rb
346
376
  - spec/spec_helper.rb
377
+ has_rdoc: