omniauth-dice 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 552059b078d15950580a1ab3d239785e072489bd
4
- data.tar.gz: a219cf089244eb8e2fd89adcf162f67cca54c88a
3
+ metadata.gz: cccb953b0986b8fc29ff2de197253aeed50f5333
4
+ data.tar.gz: eec5d53a5a4d955873f7202761c08dd01a55c4fb
5
5
  SHA512:
6
- metadata.gz: 4b274db299621bedf763313c1199551ba53a8629979282c329662e71c2e02a19b6716581b4254dd03c91632360a9ca32123de266bf2f801377d603536495c67a
7
- data.tar.gz: cd0e5841cd236925e43e4076cac60a407edeb2a7bdb6051e67a49569e4b20569a788c22f93a09a71e5838a3e381e86c1e437de2c7f5788fcc8352575c906e41e
6
+ metadata.gz: 8900202b7364d2ca8737c1dd5d697fa4b7ee1c45e364be9b6fbab98681545ea81136d17d0c7fad04a401df25f9c16619a269791c27dfe878a57284f02314ad2d
7
+ data.tar.gz: 829c9b3b3963c7c23835e2da9f28001f5af1b4761527254df53f599cb66beed03534a1b111bb5e4a5e05e5a4567432a02885ee0883e975721425440eba5529c9
checksums.yaml.gz.sig CHANGED
@@ -1,4 +1,2 @@
1
- G���VsY��t
2
- ����׿�1T.���1pq|�\z[����oYU�BA�
3
- ��ڬ�o>����M�\�r>���6�g��j���4�$����
4
- ��"������JM12�K�&���Dx��Z�@&���u��rS�*�Z]��,3h��I;y�6��P�@y{DzeZu���l�#�����pF9�����Z)�"�O�;�D1��A�3��5�@Qu���{,�a���ʍ�݊��.]֫� � p}w9F�Ȭb��&
1
+ �R-:k��'ޑܓ���H��*�=g���'|Z+��F,5�J�'ǜ��22�:�QY���@�}�~:���:��dn��:�G�f����&�7�Z�2� 9�_U�OQ�����a\�RJ�k$>���=(�d����3M���4>b���9��j0/<��8dzk9�};�(���B7w����'��(�c��b^vz&��b���T�P���5.�4���
2
+ �������kg����Aؗb���˙D���dM����
data/.rubocop.yml CHANGED
@@ -1,3 +1,4 @@
1
+ inherit_from: .rubocop_todo.yml
1
2
  AllCops:
2
3
  Exclude:
3
4
  - 'omniauth-casport.gemspec'
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,28 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2015-08-10 15:52:39 -0400 using RuboCop version 0.28.0.
3
+ # The point is for the user to remove these configuration records
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
7
+
8
+ # Offense count: 2
9
+ Metrics/AbcSize:
10
+ Max: 17
11
+
12
+ # Offense count: 1
13
+ # Configuration parameters: CountComments.
14
+ Metrics/ClassLength:
15
+ Max: 273
16
+
17
+ # Offense count: 1
18
+ Metrics/CyclomaticComplexity:
19
+ Max: 7
20
+
21
+ # Offense count: 3
22
+ # Configuration parameters: CountComments.
23
+ Metrics/MethodLength:
24
+ Max: 12
25
+
26
+ # Offense count: 1
27
+ Style/AccessorMethodName:
28
+ Enabled: false
data/.travis.yml CHANGED
@@ -1,15 +1,11 @@
1
+ sudo: false
1
2
  language: ruby
2
3
  cache: bundler
3
-
4
4
  rvm:
5
- - ruby-head
6
- - jruby-head
7
- - 2.2.0
5
+ - 2.2.2
8
6
  - 2.1.5
9
- - 2.0.0-p590
10
- - 1.9.3-p551
11
-
7
+ - 2.0.0
8
+ - 1.9.3
12
9
  env:
13
10
  - RACK_ENV=test
14
-
15
11
  script: 'bundle exec rake'
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Omniauth::Dice [![Gem Version](https://badge.fury.io/rb/omniauth-dice.png)](http://badge.fury.io/rb/omniauth-dice)
2
2
 
3
- [![Travis CI](https://travis-ci.org/stevenhaddox/omniauth-dice.svg?branch=master)](https://travis-ci.org/stevenhaddox/omniauth-dice) [![Dependency Status](https://gemnasium.com/stevenhaddox/omniauth-dice.png)](https://gemnasium.com/stevenhaddox/omniauth-dice) [![Coverage Status](https://coveralls.io/repos/stevenhaddox/omniauth-dice/badge.png)](https://coveralls.io/r/stevenhaddox/omniauth-dice) [![Code Climate](https://codeclimate.com/github/stevenhaddox/omniauth-dice/badges/gpa.svg)](https://codeclimate.com/github/stevenhaddox/omniauth-dice) [![Inline docs](http://inch-ci.org/github/stevenhaddox/omniauth-dice.svg?branch=master)](http://inch-ci.org/github/stevenhaddox/omniauth-dice)
3
+ [![Travis CI](https://travis-ci.org/stevenhaddox/omniauth-dice.svg?branch=master)](https://travis-ci.org/stevenhaddox/omniauth-dice) [![Dependency Status](https://gemnasium.com/stevenhaddox/omniauth-dice.png)](https://gemnasium.com/stevenhaddox/omniauth-dice) [![Test Coverage](https://codeclimate.com/github/stevenhaddox/omniauth-dice/badges/coverage.svg)](https://codeclimate.com/github/stevenhaddox/omniauth-dice/coverage) [![Code Climate](https://codeclimate.com/github/stevenhaddox/omniauth-dice/badges/gpa.svg)](https://codeclimate.com/github/stevenhaddox/omniauth-dice) [![Inline docs](http://inch-ci.org/github/stevenhaddox/omniauth-dice.svg?branch=master)](http://inch-ci.org/github/stevenhaddox/omniauth-dice)
4
4
 
5
5
  # **D**N **I**nteroperable **C**onversion **E**xpert
6
6
 
data/Rakefile CHANGED
@@ -1,11 +1,8 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
3
  require 'rubocop/rake_task'
4
- require 'coveralls/rake/task'
5
- Coveralls::RakeTask.new
6
4
 
7
- #task default: [:spec, :rubocop, 'coveralls:push']
8
- task default: [:spec, 'coveralls:push']
5
+ task default: [:spec, :rubocop]
9
6
 
10
7
  desc 'Run specs'
11
8
  RSpec::Core::RakeTask.new(:spec)
@@ -1,5 +1,7 @@
1
+ # Omniauth::Dice version
1
2
  module Omniauth
3
+ # Omniauth::Dice version
2
4
  module Dice
3
- VERSION = '0.2.1'
5
+ VERSION = '0.2.2'
4
6
  end
5
7
  end
@@ -7,9 +7,10 @@ require 'dnc'
7
7
 
8
8
  class RequiredCustomParamError < StandardError; end
9
9
 
10
+ # OmniAuth Dice strategy
10
11
  module OmniAuth
12
+ # OmniAuth Dice strategy
11
13
  module Strategies
12
-
13
14
  #
14
15
  # Provides omniauth authentication integration with a CAS server
15
16
  #
@@ -98,12 +99,12 @@ module OmniAuth
98
99
 
99
100
  def auth_hash
100
101
  log :debug, '.auth_hash'
101
- Hashie::Mash.new( {
102
+ Hashie::Mash.new(
102
103
  'provider' => name,
103
104
  'uid' => uid,
104
105
  'info' => info,
105
106
  'extra' => extra
106
- } )
107
+ )
107
108
  end
108
109
 
109
110
  # Set the user's uid field for the auth_hash
@@ -156,7 +157,7 @@ module OmniAuth
156
157
  def authenticate_user
157
158
  issuer_dn = env['omniauth.params']['issuer_dn']
158
159
  if issuer_dn
159
- response = connection.get query_url, { issuerDN: issuer_dn }
160
+ response = connection.get query_url, issuerDn: issuer_dn
160
161
  else
161
162
  response = connection.get query_url
162
163
  end
@@ -197,7 +198,7 @@ module OmniAuth
197
198
  def auth_info_custom(info)
198
199
  info['common_name'] = get_dn(info['dn']).cn
199
200
  set_name(info)
200
- has_primary_visa?(info)
201
+ includes_primary_visa?(info)
201
202
  info['likely_npe?'] = identify_npe(info)
202
203
 
203
204
  info
@@ -208,19 +209,19 @@ module OmniAuth
208
209
  # Do NOT override the value if it's returned from the CAS server
209
210
  return info['name'] if info['name']
210
211
  info['name'] = case options.name_format
211
- when :cn
212
- info['common_name']
213
- when :full_name
214
- info['full_name']
215
- when :first_last_name
216
- "#{info['first_name']} #{info['last_name']}"
217
- end
212
+ when :cn
213
+ info['common_name']
214
+ when :full_name
215
+ info['full_name']
216
+ when :first_last_name
217
+ "#{info['first_name']} #{info['last_name']}"
218
+ end
218
219
  info['name'] ||= info['common_name'] || info['full_name'] ||
219
220
  "#{info['first_name']} #{info['last_name']}"
220
221
  end
221
222
 
222
223
  # Determine if client has the primary visa
223
- def has_primary_visa?(info)
224
+ def includes_primary_visa?(info)
224
225
  return info['primary_visa?'] = false unless info['visas']
225
226
  return info['primary_visa?'] = false unless options.primary_visa
226
227
  info['primary_visa?'] = info['visas'].include?(options.primary_visa)
@@ -237,12 +238,12 @@ module OmniAuth
237
238
 
238
239
  # Identify if there's a domain w/ TLD in the common_name
239
240
  def auth_cn_with_tld?(common_name)
240
- !!( common_name =~ /\w{2}\.\w+(\.\w{3,}+)?/ )
241
+ /\w{2}\.\w+(\.\w{3,}+)?/.match(common_name).nil? ? false : true
241
242
  end
242
243
 
243
244
  # Determine if the auth_hash does not have an email address
244
245
  def auth_info_missing_email?(info)
245
- !( info['email'] ) # !! returns false if no email, ! returns true
246
+ !(info['email']) # !! returns false if no email, ! returns true
246
247
  end
247
248
 
248
249
  # Determine if the auth_hash has an email but no name fields
@@ -259,16 +260,12 @@ module OmniAuth
259
260
 
260
261
  # Determine if any name fields are present in the auth_hash['info']
261
262
  def auth_info_has_any_name?(info)
262
- name = info['full_name']
263
- name ||= info['first_name']
264
- name ||= info['last_name']
265
- !!(name)
263
+ [info['full_name'], info['first_name'], info['last_name']].any?
266
264
  end
267
265
 
268
266
  # Coordinate getting DN from cert, fallback to header
269
- def get_dn_by_type(type='subject')
270
- raw_dn = get_dn_from_certificate(type)
271
- raw_dn ||= get_dn_from_header(type)
267
+ def get_dn_by_type(type = 'subject')
268
+ get_dn_from_certificate(type) || get_dn_from_header(type)
272
269
  end
273
270
 
274
271
  # Reads the DN from headers
@@ -298,7 +295,7 @@ module OmniAuth
298
295
  end
299
296
 
300
297
  # Parse the DN out of an SSL X509 Client Certificate
301
- def parse_dn_from_certificate(certificate, type='subject')
298
+ def parse_dn_from_certificate(certificate, type = 'subject')
302
299
  certificate.send(type.to_sym).to_s
303
300
  end
304
301
 
@@ -307,11 +304,11 @@ module OmniAuth
307
304
  log :debug, '.connection'
308
305
 
309
306
  @conn ||= Faraday.new(url: options.cas_server, ssl: ssl_hash) do |conn|
310
- conn.headers = headers
307
+ conn.headers = headers
311
308
  conn.response :logger # log requests to STDOUT
312
- conn.response :xml, :content_type => /\bxml$/
313
- conn.response :json, :content_type => /\bjson$/
314
- conn.adapter :excon
309
+ conn.response :xml, content_type: /\bxml$/
310
+ conn.response :json, content_type: /\bjson$/
311
+ conn.adapter :excon
315
312
  end
316
313
  end
317
314
 
@@ -326,17 +323,26 @@ module OmniAuth
326
323
 
327
324
  # Build out the query URL for CAS server with DN params
328
325
  def query_url
329
- user_dn = env['omniauth.params']['user_dn']
330
- build_query = "#{options.cas_server}#{options.authentication_path}"
326
+ user_dn = env['omniauth.params']['user_dn']
327
+ build_query = "#{options.cas_server}#{options.authentication_path}"
331
328
  build_query += "/#{user_dn}"
332
329
  build_query += "/#{options.return_field}.#{options.format}"
333
- URI::encode(build_query)
330
+ URI.encode(build_query)
334
331
  end
335
332
 
336
333
  # Detect data format, parse with appropriate library
337
334
  def parse_response_data
338
335
  log :debug, '.parse_response_data'
339
336
  log :debug, "cas_server response.body:\r\n#{@raw_data}"
337
+ formatted_data = format_data
338
+ formatted_data = formatted_data.nil? ? @raw_data : formatted_data
339
+ log :debug, "Formatted response.body: #{formatted_data}"
340
+
341
+ formatted_data
342
+ end
343
+
344
+ # Parse data by specified format
345
+ def format_data
340
346
  formatted_data = nil
341
347
  unless @raw_data.class == Hash # Webmock hack
342
348
  case options.format.to_sym
@@ -346,21 +352,19 @@ module OmniAuth
346
352
  formatted_data = MultiXml.parse(@raw_data)['userinfo']
347
353
  end
348
354
  end
349
- formatted_data = formatted_data.nil? ? @raw_data : formatted_data
350
- log :debug, "Formatted response.body data: #{formatted_data}"
351
355
 
352
356
  formatted_data
353
357
  end
354
358
 
355
- def set_session_dn(dn_string, type='subject')
359
+ def set_session_dn(dn_string, type = 'subject')
356
360
  dn_type = case type
357
- when 'subject'
358
- 'user_dn'
359
- when 'issuer'
360
- 'issuer_dn'
361
- else
362
- fail "Invalid DN string type"
363
- end
361
+ when 'subject'
362
+ 'user_dn'
363
+ when 'issuer'
364
+ 'issuer_dn'
365
+ else
366
+ fail 'Invalid DN string type'
367
+ end
364
368
  session['omniauth.params'] ||= {}
365
369
  session['omniauth.params'][dn_type] = dn_string
366
370
  end
@@ -399,7 +403,7 @@ module OmniAuth
399
403
  custom_order = %w(cn l st ou o c street dc uid)
400
404
  default_opts = { dn_string: dn_str, string_order: custom_order }
401
405
  dnc_config = unhashie(options.dnc_options)
402
- DN.new( default_opts.merge(dnc_config) )
406
+ DN.new(default_opts.merge(dnc_config))
403
407
  end
404
408
  end
405
409
  end
data/lib/omniauth-dice.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # rubocop:disable Style/FileName
1
2
  require 'omniauth/dice/version'
2
3
  require 'omniauth/strategies/dice'
3
4
  require 'string'
5
+ # rubocop:enable Style/FileName
data/lib/string.rb CHANGED
@@ -4,9 +4,9 @@
4
4
  class String
5
5
  # Attempts to convert a string into a formatted_snake_case_string
6
6
  def to_snake
7
- self.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
8
- .gsub(/([a-z\d])([A-Z])/, '\1_\2')
9
- .tr('-', '_')
10
- .downcase
7
+ gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
8
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
9
+ .tr('-', '_')
10
+ .downcase
11
11
  end
12
12
  end
@@ -8,22 +8,24 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Omniauth::Dice::VERSION
9
9
  spec.authors = ['Steven Haddox']
10
10
  spec.email = ['steven.haddox@gmail.com']
11
- spec.summary = %q{DN Interoperable Conversion Expert Strategy}
12
- spec.description = %q{Simple gem to enable rack powered Ruby apps to authenticate via REST with an enterprise CAS authentication server via X509 client certificates.}
13
- spec.homepage = "https://github.com/stevenhaddox/omniauth-dice"
14
- spec.license = "MIT"
11
+ spec.summary = 'DN Interoperable Conversion Expert Strategy'
12
+ spec.description = 'Simple gem to enable rack powered Ruby apps to
13
+ authenticate via REST with an enterprise CAS authentication server via X509
14
+ client certificates.'
15
+ spec.homepage = 'https://github.com/stevenhaddox/omniauth-dice'
16
+ spec.license = 'MIT'
15
17
 
16
18
  spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
19
+ spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
20
+ spec.test_files = spec.files.grep(/^(test|spec|features)\//)
21
+ spec.require_paths = ['lib']
20
22
 
21
23
  spec.required_ruby_version = '>= 1.9.3'
22
24
 
23
25
  spec.add_development_dependency 'awesome_print'
24
26
  spec.add_development_dependency 'bundler'
25
27
  spec.add_development_dependency 'capybara'
26
- spec.add_development_dependency 'coveralls'
28
+ spec.add_development_dependency 'codeclimate-test-reporter'
27
29
  spec.add_development_dependency 'rack_session_access'
28
30
  spec.add_development_dependency 'redcarpet'
29
31
  spec.add_development_dependency 'rspec'
@@ -46,5 +48,7 @@ Gem::Specification.new do |spec|
46
48
  spec.add_dependency 'omniauth', '~> 1.0'
47
49
 
48
50
  spec.cert_chain = ['certs/stevenhaddox.pem']
49
- spec.signing_key = File.expand_path("~/.gem/certs/gem-private_key.pem") if $0 =~ /gem\z/
51
+ if $PROGRAM_NAME =~ /gem\z/
52
+ spec.signing_key = File.expand_path('~/.gem/certs/gem-private_key.pem')
53
+ end
50
54
  end
@@ -176,7 +176,7 @@ describe OmniAuth::Strategies::Dice, type: :strategy do
176
176
  primary_visa: 'CLOUDSDALE'
177
177
  })
178
178
 
179
- stub_request(:get, "https://example.org:3000/dn/cn=ruby%20certificate%20rbcert,dc=ruby-lang,dc=org/info.json?issuerDN=cn=ruby%20ca,dc=ruby-lang,dc=org").
179
+ stub_request(:get, "https://example.org:3000/dn/cn=ruby%20certificate%20rbcert,dc=ruby-lang,dc=org/info.json?issuerDn=cn=ruby%20ca,dc=ruby-lang,dc=org").
180
180
  with(:headers => {'Accept'=>'application/json', 'Content-Type'=>'application/json', 'Host'=>'example.org:3000', 'User-Agent'=>/^Faraday via Ruby.*$/, 'X-Xsrf-Useprotection'=>'false'}).
181
181
  to_return(status: 200, body: valid_user_json, headers: {})
182
182
  end
@@ -212,7 +212,7 @@ describe OmniAuth::Strategies::Dice, type: :strategy do
212
212
  client_key: 'spec/certs/key.np.pem'
213
213
  }
214
214
  })
215
- stub_request(:get, "https://example.org:3000/dn/cn=ruby%20certificate%20rbcert,dc=ruby-lang,dc=org/info.xml?issuerDN=cn=ruby%20ca,dc=ruby-lang,dc=org").
215
+ stub_request(:get, "https://example.org:3000/dn/cn=ruby%20certificate%20rbcert,dc=ruby-lang,dc=org/info.xml?issuerDn=cn=ruby%20ca,dc=ruby-lang,dc=org").
216
216
  with(:headers => {'Accept'=>'application/xml', 'Content-Type'=>'application/xml', 'Host'=>'example.org:3000', 'User-Agent'=>/^Faraday via Ruby.*$/, 'X-Xsrf-Useprotection'=>'false'}).
217
217
  to_return(status: 200, body: valid_user_xml, headers: {})
218
218
 
@@ -234,7 +234,7 @@ describe OmniAuth::Strategies::Dice, type: :strategy do
234
234
 
235
235
  context 'fail' do
236
236
  it 'should raise a 404 with text for a non-existent user DN' do
237
- stub_request(:get, "https://example.org:3000/dn/cn=ruby%20certificate%20rbcert,dc=ruby-lang,dc=org/info.json?issuerDN=cn=ruby%20ca,dc=ruby-lang,dc=org").
237
+ stub_request(:get, "https://example.org:3000/dn/cn=ruby%20certificate%20rbcert,dc=ruby-lang,dc=org/info.json?issuerDn=cn=ruby%20ca,dc=ruby-lang,dc=org").
238
238
  with(:headers => {'Accept'=>'application/json', 'Content-Type'=>'application/json', 'Host'=>'example.org:3000', 'User-Agent'=>/^Faraday via Ruby.*$/, 'X-Xsrf-Useprotection'=>'false'}).
239
239
  to_return(status: 404, body: "User of dn:cn=ruby certificate rbcert,dc=ruby-lang,dc=org not found", headers: {})
240
240
 
@@ -81,7 +81,7 @@ describe OmniAuth::Strategies::Dice do
81
81
 
82
82
  it 'should not set a name field if it is already defined' do
83
83
  dice = OmniAuth::Strategies::Dice.new( app, dice_default_opts )
84
- name = dice.send( :set_name, @info_hash.merge({'name' => 'nightmare moon'}) )
84
+ name = dice.send(:set_name, @info_hash.merge({'name' => 'nightmare moon'}) )
85
85
  expect(name).to eq('nightmare moon')
86
86
  end
87
87
 
@@ -176,19 +176,19 @@ describe OmniAuth::Strategies::Dice do
176
176
  context ".primary_visa?" do
177
177
  it 'should return false if no visas are defined' do
178
178
  dice = OmniAuth::Strategies::Dice.new( app, dice_default_opts.merge({primary_visa: 'EQUESTRIA'}) )
179
- visa_present = dice.send( :has_primary_visa?, { } )
179
+ visa_present = dice.send( :includes_primary_visa?, { } )
180
180
  expect(visa_present).to eq(false)
181
181
  end
182
182
 
183
183
  it "should return false if the visa is not present in ['info']['visas']" do
184
184
  dice = OmniAuth::Strategies::Dice.new( app, dice_default_opts.merge({primary_visa: 'EQUESTRIA'}) )
185
- visa_present = dice.send( :has_primary_visa?, {'visas' => ['CLOUDSDALE','PONYVILLE']} )
185
+ visa_present = dice.send( :includes_primary_visa?, {'visas' => ['CLOUDSDALE','PONYVILLE']} )
186
186
  expect(visa_present).to eq(false)
187
187
  end
188
188
 
189
189
  it "should return true if the visa is present in ['info']['visas']" do
190
190
  dice = OmniAuth::Strategies::Dice.new( app, dice_default_opts.merge({primary_visa: 'EQUESTRIA'}) )
191
- visa_present = dice.send( :has_primary_visa?, {'visas' => ['CLOUDSDALE','EQUESTRIA'] } )
191
+ visa_present = dice.send( :includes_primary_visa?, {'visas' => ['CLOUDSDALE','EQUESTRIA'] } )
192
192
  expect(visa_present).to eq(true)
193
193
  end
194
194
  end
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,9 @@
1
+ require 'codeclimate-test-reporter'
2
+ CodeClimate::TestReporter.start
1
3
  require 'rubygems'
2
4
  require 'bundler'
3
5
  Bundler.setup :default, :development, :test
4
6
 
5
- require 'simplecov'
6
- SimpleCov.start do
7
- add_filter '/spec/'
8
- end
9
-
10
7
  require 'capybara/rspec'
11
8
  require 'rack_session_access'
12
9
  require 'rack_session_access/capybara'
@@ -15,6 +12,8 @@ require 'awesome_print'
15
12
  require 'rack/test'
16
13
  require 'omniauth-dice'
17
14
 
15
+ # Enable codeclimate coverage reports
16
+ WebMock.disable_net_connect! allow: %w{codeclimate.com}
18
17
  RSpec.configure do |config|
19
18
  config.run_all_when_everything_filtered = true
20
19
  config.include Rack::Test::Methods
data.tar.gz.sig CHANGED
@@ -1 +1 @@
1
- �)C��O���ɼ�M��F���ۊ{+���ht��
1
+ A����_%�u����X�ɟ%��(���K���~��-�vң����=�&"��H au,?a�҂vn4Ot N���\lUg;�PƢ;[t�6Tv�Gb}tvYd�I�Ԋ^SE�K?p�j9B�I����
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-dice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Haddox
@@ -30,7 +30,7 @@ cert_chain:
30
30
  42qdwEXvvkODZAD6KAIXPdmbMfBgPbcd+B/4eUA0PyKo+4dgL1NuqX4MPWToevIZ
31
31
  O8EKLF2X7NmC6FY1bOsSj/J8r1SOkx0rxgF+geRvY1P+hfNjDfxTsjU=
32
32
  -----END CERTIFICATE-----
33
- date: 2015-03-05 00:00:00.000000000 Z
33
+ date: 2015-08-11 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: awesome_print
@@ -75,7 +75,7 @@ dependencies:
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  - !ruby/object:Gem::Dependency
78
- name: coveralls
78
+ name: codeclimate-test-reporter
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
@@ -354,8 +354,10 @@ dependencies:
354
354
  - - "~>"
355
355
  - !ruby/object:Gem::Version
356
356
  version: '1.0'
357
- description: Simple gem to enable rack powered Ruby apps to authenticate via REST
358
- with an enterprise CAS authentication server via X509 client certificates.
357
+ description: |-
358
+ Simple gem to enable rack powered Ruby apps to
359
+ authenticate via REST with an enterprise CAS authentication server via X509
360
+ client certificates.
359
361
  email:
360
362
  - steven.haddox@gmail.com
361
363
  executables: []
@@ -365,6 +367,7 @@ files:
365
367
  - ".coveralls.yml"
366
368
  - ".gitignore"
367
369
  - ".rubocop.yml"
370
+ - ".rubocop_todo.yml"
368
371
  - ".travis.yml"
369
372
  - ".yardopts"
370
373
  - Gemfile
@@ -407,7 +410,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
407
410
  version: '0'
408
411
  requirements: []
409
412
  rubyforge_project:
410
- rubygems_version: 2.2.2
413
+ rubygems_version: 2.4.4
411
414
  signing_key:
412
415
  specification_version: 4
413
416
  summary: DN Interoperable Conversion Expert Strategy
metadata.gz.sig CHANGED
Binary file