foyer 0.2.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 682800c810ac3c955473143f0bec308908390fcf
4
- data.tar.gz: b871b220cc2c46069cd0070f60f88a70d0d2bf30
3
+ metadata.gz: a7b52e3b4d9a31b491c4b49eb4b6df196df66eba
4
+ data.tar.gz: bef81cb0602a6812eb29a53d113ed2a9c524dd49
5
5
  SHA512:
6
- metadata.gz: 6fcf0ca948b532f9ae84fa68f7b277691790142da2ec1170ff12785bd8a0e8f7718d0b3ae60e4b33a0b70068b1cde4890768f2f40537caafabac0b8a48f70805
7
- data.tar.gz: 81473a970e91d87620a36a8aee2cfc6842f0921ecaf6aac905bb8686aba9b0522f83a11131e439c716fc4f4cbaeb8dc32852d3e3436e27f4120bc77dc94d0aa3
6
+ metadata.gz: 91440e9420e1ac33b39c437a1468a94abd0031fb12a306b56defe59ab9cbe416efd61dabbc162f29c23d44879315a48035cba13421d55b902c886a94139934ca
7
+ data.tar.gz: 46ae76bee314261f51fe6dc7a7f22eeebeb901a7d6aac83943620a9741ecc690eb5e1727b9b669fc43de313e855a7030b36165c0f8df8d9959f1ece73c2452b6
@@ -0,0 +1,56 @@
1
+ AllCops:
2
+ RunRailsCops: true
3
+ Exclude:
4
+ # Rubocop's default
5
+ - 'vendor/**/*'
6
+ # To ensure smooth `rake rails:update`, we exclude some of the Rails' generated files
7
+ # please add new Rails' generated files to this list after running `rake rails:update` (if any)
8
+ # please add your exclude specific for this project after this section
9
+ - 'bin/**/*'
10
+ - 'config/boot.rb'
11
+ - 'config/application.rb'
12
+ - 'config/environment.rb'
13
+ - 'config/environments/development.rb'
14
+ - 'config/environments/production.rb'
15
+ - 'config/environments/test.rb'
16
+ - 'config/initializers/assets.rb'
17
+ - 'config/initializers/backtrace_silencers.rb'
18
+ - 'config/initializers/cookies_serializer.rb'
19
+ - 'config/initializers/filter_parameter_logging.rb'
20
+ - 'config/initializers/inflections.rb'
21
+ - 'config/initializers/mime_types.rb'
22
+ - 'config/initializers/session_store.rb'
23
+ - 'config/initializers/wrap_parameters.rb'
24
+ - 'db/schema.rb'
25
+ - 'script/**/*'
26
+ # Common generated files (projects independent)
27
+ - 'config/unicorn.rb'
28
+ - 'config/initializers/devise.rb'
29
+ # Add your exclude files specific to this project here
30
+ - 'spec/dummy/config/initializers/secret_token.rb'
31
+
32
+ Style/AlignParameters:
33
+ Enabled: true
34
+ EnforcedStyle: with_fixed_indentation
35
+
36
+ Style/Documentation:
37
+ Enabled: false
38
+
39
+ # If the project still supporting ruby 1.8, uncomment the following lines to force Rubocop
40
+ # to use old hash_rockets syntax, if left commented, Rubocop will force the newer ruby19 syntax
41
+ # Style/HashSyntax:
42
+ # EnforcedStyle: hash_rockets
43
+
44
+ Style/SingleSpaceBeforeFirstArg:
45
+ Enabled: false
46
+
47
+ ##################### Metrics ##################################
48
+
49
+ Metrics/LineLength:
50
+ Max: 120
51
+ AllowURI: true
52
+
53
+ Metrics/MethodLength:
54
+ CountComments: false
55
+ Exclude:
56
+ - 'db/migrate/*'
@@ -0,0 +1,11 @@
1
+ sudo: false
2
+ language: ruby
3
+ cache:
4
+ - bundler
5
+ rvm:
6
+ - 2.1.4
7
+ - 2.0.0
8
+ - 1.9.3
9
+ - jruby-19mode
10
+ before_script:
11
+ - bundle exec rubocop -D
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -4,23 +4,24 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'foyer/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "foyer"
7
+ spec.name = 'foyer'
8
8
  spec.version = Foyer::VERSION
9
- spec.authors = ["Jason Nochlin"]
10
- spec.email = ["jason@gaggleamp.com"]
11
- spec.summary = "Authentication layer for OmniAuth"
12
- spec.description = "Authentication layer for OmniAuth"
13
- spec.homepage = ""
14
- spec.license = "MIT"
9
+ spec.authors = ['Jason Nochlin']
10
+ spec.email = ['jason@gaggleamp.com']
11
+ spec.summary = 'Authentication layer for OmniAuth'
12
+ spec.description = 'Authentication layer for OmniAuth'
13
+ spec.homepage = ''
14
+ spec.license = 'MIT'
15
15
 
16
16
  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"]
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']
20
20
 
21
- spec.add_dependency "rails", "~> 4.0"
21
+ spec.add_dependency 'rails', '~> 4.0'
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.5"
24
- spec.add_development_dependency "rake"
25
- spec.add_development_dependency "rspec-rails", "~> 3.0.0.beta"
23
+ spec.add_development_dependency 'bundler', '~> 1.5'
24
+ spec.add_development_dependency 'rake'
25
+ spec.add_development_dependency 'rspec-rails', '~> 3.0.0.beta'
26
+ spec.add_development_dependency 'rubocop'
26
27
  end
@@ -3,6 +3,9 @@ require 'foyer/engine'
3
3
  require 'foyer/rails'
4
4
 
5
5
  module Foyer
6
+ # Class variables are required for the implementation of this class.
7
+ # rubocop:disable Style/ClassVars
8
+
6
9
  mattr_accessor :identity_provider
7
10
  @@identity_provider = :gaggleamp
8
11
 
@@ -10,10 +13,12 @@ module Foyer
10
13
  @@session_key = 'foyer.authenticated_user'
11
14
 
12
15
  mattr_accessor :user_finder
13
- @@user_finder = lambda { |_| raise 'Override this method' }
16
+ @@user_finder = ->(_) { fail 'Override this method' }
14
17
 
15
18
  mattr_accessor :token_finder
16
- @@token_finder = lambda { |_| raise 'Override this method' }
19
+ @@token_finder = ->(_) { fail 'Override this method' }
20
+
21
+ # rubocop:enable Style/ClassVars
17
22
 
18
23
  module Controller
19
24
  autoload :Helpers, 'foyer/controller/helpers'
@@ -8,11 +8,12 @@ module Foyer
8
8
  end
9
9
 
10
10
  protected
11
+
11
12
  def sign_in(user)
12
13
  session[Foyer.session_key] = {
13
14
  id: user.id,
14
- current_sign_in_at: Time.now,
15
- current_sign_in_ip: request.ip,
15
+ current_sign_in_at: Time.now, # rubocop:disable Rails/TimeZone
16
+ current_sign_in_ip: request.ip
16
17
  }.with_indifferent_access
17
18
  end
18
19
 
@@ -21,7 +22,7 @@ module Foyer
21
22
  end
22
23
 
23
24
  def user_signed_in?
24
- user_session.present? and current_user.present?
25
+ user_session.present? && current_user.present?
25
26
  end
26
27
 
27
28
  def current_user
@@ -36,16 +37,13 @@ module Foyer
36
37
  end
37
38
 
38
39
  def authenticate_user!
39
- unless user_signed_in?
40
- redirect_to "/auth/#{Foyer.identity_provider}?origin=#{CGI.escape request.fullpath}"
41
- end
40
+ return if user_signed_in?
41
+ redirect_to "/auth/#{Foyer.identity_provider}?origin=#{CGI.escape request.fullpath}"
42
42
  end
43
43
 
44
44
  module ClassMethods
45
- def set_user_finder(&blk)
46
- if blk.arity != 1
47
- raise ":user_finder must accept 1 argument (user_id)"
48
- end
45
+ def set_user_finder(&blk) # rubocop:disable Style/AccessorMethodName
46
+ fail ':user_finder must accept 1 argument (user_id)' unless blk.arity == 1
49
47
  Foyer.user_finder = blk
50
48
  end
51
49
  end
@@ -4,13 +4,14 @@ module Foyer
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  protected
7
+
7
8
  def user_signed_in?
8
9
  current_user.present?
9
10
  end
10
11
 
11
12
  def current_user
12
13
  return nil unless headers['Authorization'] =~ /^Bearer (.*)/m
13
- @current_user ||= Foyer.token_finder.call($1)
14
+ @current_user ||= Foyer.token_finder.call(Regexp.last_match[1])
14
15
  end
15
16
 
16
17
  def authenticate_user!
@@ -18,10 +19,8 @@ module Foyer
18
19
  end
19
20
 
20
21
  module ClassMethods
21
- def set_token_finder(&blk)
22
- if blk.arity != 1
23
- raise ":token_finder must accept 1 argument (token)"
24
- end
22
+ def set_token_finder(&blk) # rubocop:disable Style/AccessorMethodName
23
+ fail ':token_finder must accept 1 argument (token)' unless blk.arity == 1
25
24
  Foyer.token_finder = blk
26
25
  end
27
26
  end
@@ -3,15 +3,18 @@ module Foyer
3
3
  include Controller::Helpers
4
4
 
5
5
  def callback
6
- raise NotImplementedError
6
+ fail NotImplementedError
7
7
  end
8
8
 
9
9
  protected
10
+
10
11
  def after_sign_in_path
11
- origin || root_path
12
+ return origin if origin.to_s.match(%r{^\/}) || origin.to_s.match(%r{^#{request.scheme}://#{request.host}})
13
+ root_path
12
14
  end
13
15
 
14
16
  private
17
+
15
18
  def origin
16
19
  request.env['omniauth.origin']
17
20
  end
@@ -1,16 +1,17 @@
1
1
  require 'action_dispatch/routing/mapper'
2
2
 
3
- module ActionDispatch::Routing
4
- class Mapper
5
- def authenticate(guard=nil)
6
- constraint = lambda do |request|
7
- if user_id = request.env['rack.session'][Foyer.session_key].try(:[], :id)
8
- guard.nil?? true : guard.call(Foyer.user_finder.call(user_id))
3
+ module ActionDispatch
4
+ module Routing
5
+ class Mapper
6
+ def authenticate(guard = nil)
7
+ constraint = lambda do |request|
8
+ user_id = request.env['rack.session'][Foyer.session_key].try(:with_indifferent_access).try(:[], :id)
9
+ guard.nil? ? true : guard.call(Foyer.user_finder.call(user_id)) if user_id
9
10
  end
10
- end
11
11
 
12
- constraints(constraint) do
13
- yield
12
+ constraints(constraint) do
13
+ yield
14
+ end
14
15
  end
15
16
  end
16
17
  end
@@ -1,3 +1,3 @@
1
1
  module Foyer
2
- VERSION = "0.2.0"
2
+ VERSION = '0.2.1'
3
3
  end
@@ -2,15 +2,15 @@ require 'ostruct'
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe AuthenticatedController do
6
- describe "not authenticated" do
7
- it "redirects to the identity_provider" do
5
+ describe AuthenticatedController, type: :controller do
6
+ describe 'not authenticated' do
7
+ it 'redirects to the identity_provider' do
8
8
  get :index
9
9
 
10
10
  expect(response.location).to match('/auth/gaggleamp')
11
11
  end
12
12
 
13
- it "sets origin to the location an unauthenticated user was trying to access" do
13
+ it 'sets origin to the location an unauthenticated user was trying to access' do
14
14
  get :index
15
15
 
16
16
  response.location.split('?').last.tap do |query_string|
@@ -20,14 +20,14 @@ describe AuthenticatedController do
20
20
  end
21
21
  end
22
22
 
23
- describe "after authenticating" do
24
- let(:user) { OpenStruct.new.tap { |i| i.id = rand(10000) } }
23
+ describe 'after authenticating' do
24
+ let(:user) { OpenStruct.new.tap { |i| i.id = rand(10_000) } }
25
25
  before do
26
26
  sign_in user
27
- Foyer.user_finder = lambda { |_| user }
27
+ Foyer.user_finder = ->(_) { user }
28
28
  end
29
29
 
30
- it "allows user to access the action" do
30
+ it 'allows user to access the action' do
31
31
  get :index
32
32
 
33
33
  expect(response.status).to eq 200
@@ -4,7 +4,7 @@ class SessionsController < ActionController::Base
4
4
  include Foyer::Controller::Helpers
5
5
 
6
6
  def developer
7
- sign_in OpenStruct.new.tap { |i| i.id = rand(10000) }
7
+ sign_in OpenStruct.new.tap { |i| i.id = rand(10_000) }
8
8
 
9
9
  head :no_content
10
10
  end
@@ -1,4 +1,4 @@
1
1
  # This file is used by Rack-based servers to start the application.
2
2
 
3
- require ::File.expand_path('../config/environment', __FILE__)
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
4
  run Rails.application
@@ -1,12 +1,12 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  # Pick the frameworks you want:
4
- require "action_controller/railtie"
5
- require "action_mailer/railtie"
6
- require "sprockets/railtie"
4
+ require 'action_controller/railtie'
5
+ require 'action_mailer/railtie'
6
+ require 'sprockets/railtie'
7
7
 
8
8
  Bundler.require(*Rails.groups)
9
- require "foyer"
9
+ require 'foyer'
10
10
 
11
11
  module Dummy
12
12
  class Application < Rails::Application
@@ -23,4 +23,3 @@ module Dummy
23
23
  # config.i18n.default_locale = :de
24
24
  end
25
25
  end
26
-
@@ -1,5 +1,5 @@
1
1
  # Set up gems listed in the Gemfile.
2
2
  ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
3
3
 
4
- require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
4
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
5
5
  $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
@@ -14,7 +14,7 @@ Dummy::Application.configure do
14
14
 
15
15
  # Configure static asset server for tests with Cache-Control for performance.
16
16
  config.serve_static_assets = true
17
- config.static_cache_control = "public, max-age=3600"
17
+ config.static_cache_control = 'public, max-age=3600'
18
18
 
19
19
  # Show full error reports and disable caching.
20
20
  config.consider_all_requests_local = true
@@ -1,14 +1,13 @@
1
1
  Rails.application.routes.draw do
2
-
3
2
  post '/sign_in' => 'sessions#developer'
4
3
 
5
- get '/authenticated' => "authenticated#index"
4
+ get '/authenticated' => 'authenticated#index'
6
5
 
7
6
  authenticate do
8
7
  get '/authenticated_by_route_constraint' => 'unauthenticated#index'
9
8
  end
10
9
 
11
- authenticate lambda { |user| false } do
10
+ authenticate ->(_user) { false } do
12
11
  get '/authenticated_by_route_constraint_which_blocks_all_users' => 'unauthenticated#index'
13
12
  end
14
13
  end
@@ -15,23 +15,23 @@ describe Foyer::Controller::Helpers do
15
15
 
16
16
  subject { IncludesFoyerControllerHelpers.new }
17
17
 
18
- describe ".set_user_finder" do
19
- it "sets the :user_finder configuration to the provided block" do
20
- expect {
18
+ describe '.set_user_finder' do
19
+ it 'sets the :user_finder configuration to the provided block' do
20
+ expect do
21
21
  subject.class_eval do
22
22
  set_user_finder do |user_id|
23
23
  user_id
24
24
  end
25
25
  end
26
- }.to change(Foyer, :user_finder)
26
+ end.to change(Foyer, :user_finder)
27
27
  end
28
28
  end
29
29
 
30
- describe "#current_user" do
31
- it "calls the user_finder method" do
30
+ describe '#current_user' do
31
+ it 'calls the user_finder method' do
32
32
  @called = false
33
33
  subject.send(:user_session)[:id] = '_'
34
- Foyer.user_finder = lambda { |_| @called = true }
34
+ Foyer.user_finder = ->(_) { @called = true }
35
35
 
36
36
  subject.send :current_user
37
37
 
@@ -11,22 +11,22 @@ describe Foyer::Grape::Helpers do
11
11
 
12
12
  subject { IncludesFoyerGrapeHelpers.new }
13
13
 
14
- describe ".set_token_finder" do
15
- it "sets the :token_finder configuration to the provided block" do
16
- expect {
14
+ describe '.set_token_finder' do
15
+ it 'sets the :token_finder configuration to the provided block' do
16
+ expect do
17
17
  subject.class_eval do
18
18
  set_token_finder do |token|
19
19
  token
20
20
  end
21
21
  end
22
- }.to change(Foyer, :token_finder)
22
+ end.to change(Foyer, :token_finder)
23
23
  end
24
24
  end
25
25
 
26
- describe "#current_user" do
27
- it "calls the token_finder method" do
26
+ describe '#current_user' do
27
+ it 'calls the token_finder method' do
28
28
  @called = false
29
- Foyer.token_finder = lambda { |_| @called = true }
29
+ Foyer.token_finder = ->(_) { @called = true }
30
30
 
31
31
  subject.send :current_user
32
32
 
@@ -2,22 +2,21 @@ require 'spec_helper'
2
2
 
3
3
  module Foyer
4
4
  describe OmniauthCallbacksController, type: :controller do
5
- describe "#after_sign_in_path" do
5
+ describe '#after_sign_in_path' do
6
6
  before do
7
7
  allow(controller).to receive(:root_path).and_return '/'
8
8
  end
9
9
 
10
- it "defaults to root path" do
10
+ it 'defaults to root path' do
11
11
  expect(controller.send :after_sign_in_path).to eq('/')
12
12
  end
13
13
 
14
- it "returns omniauth.origin if available" do
14
+ it 'returns omniauth.origin if available' do
15
15
  origin = '/some_path'
16
16
  @request.env['omniauth.origin'] = origin
17
17
 
18
18
  expect(controller.send :after_sign_in_path).to eq(origin)
19
19
  end
20
20
  end
21
-
22
21
  end
23
22
  end
@@ -1,14 +1,12 @@
1
1
  require 'ostruct'
2
2
  require 'spec_helper'
3
3
 
4
- describe "authentication via routes helper" do
5
- it "does not allow an unauthenticated user to access to route" do
6
- expect {
7
- get '/authenticated_by_route_constraint'
8
- }.to raise_error(ActionController::RoutingError)
4
+ describe 'authentication via routes helper', type: :request do
5
+ it 'does not allow an unauthenticated user to access to route' do
6
+ expect { get '/authenticated_by_route_constraint' }.to raise_error(ActionController::RoutingError)
9
7
  end
10
8
 
11
- it "allows authenticated users to access the route" do
9
+ it 'allows authenticated users to access the route' do
12
10
  post '/sign_in'
13
11
 
14
12
  get '/authenticated_by_route_constraint'
@@ -16,13 +14,12 @@ describe "authentication via routes helper" do
16
14
  expect(response).to be_success
17
15
  end
18
16
 
19
- it "allows only certain users to access the route" do
20
- Foyer.user_finder = lambda { |user_id| nil }
17
+ it 'allows only certain users to access the route' do
18
+ Foyer.user_finder = ->(_user_id) { nil }
21
19
 
22
20
  post '/sign_in'
23
21
 
24
- expect {
25
- get '/authenticated_by_route_constraint_which_blocks_all_users'
26
- }.to raise_error(ActionController::RoutingError)
22
+ expect { get '/authenticated_by_route_constraint_which_blocks_all_users' }
23
+ .to raise_error(ActionController::RoutingError)
27
24
  end
28
25
  end
@@ -1,15 +1,15 @@
1
1
  # Configure Rails Envinronment
2
- ENV["RAILS_ENV"] = "test"
3
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
2
+ ENV['RAILS_ENV'] = 'test'
3
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
4
4
 
5
5
  require 'rspec/rails'
6
6
 
7
- ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
7
+ ENGINE_RAILS_ROOT = File.join(File.dirname(__FILE__), '../')
8
8
 
9
9
  # Requires supporting ruby files with custom matchers and macros, etc,
10
10
  # in spec/support/ and its subdirectories.
11
- Dir[File.join(ENGINE_RAILS_ROOT, "spec/support/**/*.rb")].each {|f| require f }
11
+ Dir[File.join(ENGINE_RAILS_ROOT, 'spec/support/**/*.rb')].each { |f| require f }
12
12
 
13
13
  RSpec.configure do |config|
14
- config.include Foyer::TestHelpers, :type => :controller
14
+ config.include Foyer::TestHelpers, type: :controller
15
15
  end
metadata CHANGED
@@ -1,71 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foyer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Nochlin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-09 00:00:00.000000000 Z
11
+ date: 2015-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.5'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.5'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 3.0.0.beta
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 3.0.0.beta
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Authentication layer for OmniAuth
70
84
  email:
71
85
  - jason@gaggleamp.com
@@ -73,8 +87,10 @@ executables: []
73
87
  extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
76
- - .gitignore
77
- - .rspec
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".rubocop.yml"
93
+ - ".travis.yml"
78
94
  - Gemfile
79
95
  - LICENSE.txt
80
96
  - README.md
@@ -138,12 +154,12 @@ require_paths:
138
154
  - lib
139
155
  required_ruby_version: !ruby/object:Gem::Requirement
140
156
  requirements:
141
- - - '>='
157
+ - - ">="
142
158
  - !ruby/object:Gem::Version
143
159
  version: '0'
144
160
  required_rubygems_version: !ruby/object:Gem::Requirement
145
161
  requirements:
146
- - - '>='
162
+ - - ">="
147
163
  - !ruby/object:Gem::Version
148
164
  version: '0'
149
165
  requirements: []