clearance 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of clearance might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +2 -2
- data/.yardopts +3 -0
- data/Gemfile.lock +60 -60
- data/NEWS.md +17 -0
- data/config/locales/clearance.en.yml +1 -0
- data/lib/clearance/authentication.rb +49 -0
- data/lib/clearance/authorization.rb +44 -1
- data/lib/clearance/back_door.rb +1 -0
- data/lib/clearance/configuration.rb +2 -1
- data/lib/clearance/constraints.rb +12 -0
- data/lib/clearance/constraints/signed_in.rb +4 -0
- data/lib/clearance/constraints/signed_out.rb +2 -0
- data/lib/clearance/controller.rb +13 -0
- data/lib/clearance/default_sign_in_guard.rb +17 -0
- data/lib/clearance/engine.rb +16 -0
- data/lib/clearance/password_strategies/bcrypt.rb +3 -2
- data/lib/clearance/password_strategies/bcrypt_migration_from_sha1.rb +9 -0
- data/lib/clearance/password_strategies/blowfish.rb +8 -0
- data/lib/clearance/password_strategies/sha1.rb +8 -0
- data/lib/clearance/rack_session.rb +13 -0
- data/lib/clearance/session.rb +45 -0
- data/lib/clearance/session_status.rb +7 -0
- data/lib/clearance/sign_in_guard.rb +65 -0
- data/lib/clearance/testing/controller_helpers.rb +10 -1
- data/lib/clearance/testing/deny_access_matcher.rb +30 -0
- data/lib/clearance/testing/view_helpers.rb +1 -1
- data/lib/clearance/token.rb +7 -0
- data/lib/clearance/user.rb +159 -0
- data/lib/clearance/version.rb +1 -1
- data/lib/generators/clearance/install/install_generator.rb +1 -1
- data/lib/generators/clearance/routes/routes_generator.rb +15 -0
- data/lib/generators/clearance/routes/templates/routes.rb +10 -10
- data/lib/generators/clearance/specs/templates/features/clearance/visitor_resets_password_spec.rb.tt +1 -1
- data/spec/acceptance/clearance_installation_spec.rb +2 -1
- data/spec/controllers/permissions_controller_spec.rb +6 -0
- metadata +3 -3
    
        data/lib/clearance/version.rb
    CHANGED
    
    
| @@ -26,6 +26,21 @@ module Clearance | |
| 26 26 | 
             
                  def routes_file_path
         | 
| 27 27 | 
             
                    File.expand_path(find_in_source_paths('routes.rb'))
         | 
| 28 28 | 
             
                  end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  def route(routing_code)
         | 
| 31 | 
            +
                    log :route, "all clearance routes"
         | 
| 32 | 
            +
                    sentinel = /\.routes\.draw do\s*\n/m
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                    in_root do
         | 
| 35 | 
            +
                      inject_into_file(
         | 
| 36 | 
            +
                        "config/routes.rb",
         | 
| 37 | 
            +
                        routing_code,
         | 
| 38 | 
            +
                        after: sentinel,
         | 
| 39 | 
            +
                        verbose: false,
         | 
| 40 | 
            +
                        force: true,
         | 
| 41 | 
            +
                      )
         | 
| 42 | 
            +
                    end
         | 
| 43 | 
            +
                  end
         | 
| 29 44 | 
             
                end
         | 
| 30 45 | 
             
              end
         | 
| 31 46 | 
             
            end
         | 
| @@ -1,12 +1,12 @@ | |
| 1 | 
            -
            resources :passwords, controller: "clearance/passwords", only: [:create, :new]
         | 
| 2 | 
            -
            resource :session, controller: "clearance/sessions", only: [:create]
         | 
| 1 | 
            +
              resources :passwords, controller: "clearance/passwords", only: [:create, :new]
         | 
| 2 | 
            +
              resource :session, controller: "clearance/sessions", only: [:create]
         | 
| 3 3 |  | 
| 4 | 
            -
            resources :users, controller: "clearance/users", only: [:create] do
         | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
            end
         | 
| 4 | 
            +
              resources :users, controller: "clearance/users", only: [:create] do
         | 
| 5 | 
            +
                resource :password,
         | 
| 6 | 
            +
                  controller: "clearance/passwords",
         | 
| 7 | 
            +
                  only: [:create, :edit, :update]
         | 
| 8 | 
            +
              end
         | 
| 9 9 |  | 
| 10 | 
            -
            get "/sign_in" => "clearance/sessions#new", as: "sign_in"
         | 
| 11 | 
            -
            delete "/sign_out" => "clearance/sessions#destroy", as: "sign_out"
         | 
| 12 | 
            -
            get "/sign_up" => "clearance/users#new", as: "sign_up"
         | 
| 10 | 
            +
              get "/sign_in" => "clearance/sessions#new", as: "sign_in"
         | 
| 11 | 
            +
              delete "/sign_out" => "clearance/sessions#destroy", as: "sign_out"
         | 
| 12 | 
            +
              get "/sign_up" => "clearance/users#new", as: "sign_up"
         | 
    
        data/lib/generators/clearance/specs/templates/features/clearance/visitor_resets_password_spec.rb.tt
    CHANGED
    
    | @@ -47,7 +47,7 @@ feature "Visitor resets password" do | |
| 47 47 | 
             
                message = ActionMailer::Base.deliveries.any? do |email|
         | 
| 48 48 | 
             
                  email.to == [recipient] &&
         | 
| 49 49 | 
             
                    email.subject =~ /#{subject}/i &&
         | 
| 50 | 
            -
                    email.html_part.body =~ /#{body}/
         | 
| 50 | 
            +
                    email.html_part.body =~ /#{body}/ &&
         | 
| 51 51 | 
             
                    email.text_part.body =~ /#{body}/
         | 
| 52 52 | 
             
                end
         | 
| 53 53 |  | 
| @@ -54,6 +54,12 @@ describe PermissionsController do | |
| 54 54 |  | 
| 55 55 | 
             
                  expect(subject).to deny_access(redirect: sign_in_url)
         | 
| 56 56 | 
             
                end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                it "denies access to show and display a flash message" do
         | 
| 59 | 
            +
                  get :show
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                  expect(flash[:notice]).to match(/^Please sign in to continue/)
         | 
| 62 | 
            +
                end
         | 
| 57 63 | 
             
              end
         | 
| 58 64 |  | 
| 59 65 | 
             
              context 'when remember_token is blank' do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: clearance
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.12.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Dan Croak
         | 
| @@ -25,7 +25,7 @@ authors: | |
| 25 25 | 
             
            autorequire: 
         | 
| 26 26 | 
             
            bindir: bin
         | 
| 27 27 | 
             
            cert_chain: []
         | 
| 28 | 
            -
            date: 2015- | 
| 28 | 
            +
            date: 2015-11-18 00:00:00.000000000 Z
         | 
| 29 29 | 
             
            dependencies:
         | 
| 30 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 31 | 
             
              name: bcrypt
         | 
| @@ -242,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 242 242 | 
             
                  version: '0'
         | 
| 243 243 | 
             
            requirements: []
         | 
| 244 244 | 
             
            rubyforge_project: 
         | 
| 245 | 
            -
            rubygems_version: 2.4. | 
| 245 | 
            +
            rubygems_version: 2.4.8
         | 
| 246 246 | 
             
            signing_key: 
         | 
| 247 247 | 
             
            specification_version: 4
         | 
| 248 248 | 
             
            summary: Rails authentication & authorization with email & password.
         |