Sha256: 0b38fd6cbd0a8381c7518edbf146913edc067b97dd210b8520827718460da0dd

Contents?: true

Size: 703 Bytes

Versions: 25

Compression:

Stored size: 703 Bytes

Contents

module Errdo
  module Models
    class UserParser

      attr_accessor :user

      def initialize(env)
        # Warden support (This includes devise).
        if env['warden']
          user = app_user(env['warden'])
          return @user = user if user
        end

        controller = env["action_controller.instance"]
        if controller
          return @user = controller.send(Errdo.current_user_method) if Errdo.current_user_method
        end

        return nil
      end

      private

      def app_user(warden)
        scope = warden.config.default_scope
        user = warden.send(scope, run_callbacks: false) if scope.present?
        return user || nil
      end

    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
errdo-0.12.14 lib/errdo/models/user_parser.rb
errdo-0.12.13 lib/errdo/models/user_parser.rb
errdo-0.12.12 lib/errdo/models/user_parser.rb
errdo-0.12.11 lib/errdo/models/user_parser.rb
errdo-0.12.10 lib/errdo/models/user_parser.rb
errdo-0.12.9 lib/errdo/models/user_parser.rb
errdo-0.12.8 lib/errdo/models/user_parser.rb
errdo-0.12.7 lib/errdo/models/user_parser.rb
errdo-0.12.6 lib/errdo/models/user_parser.rb
errdo-0.12.5 lib/errdo/models/user_parser.rb
errdo-0.12.4 lib/errdo/models/user_parser.rb
errdo-0.12.3 lib/errdo/models/user_parser.rb
errdo-0.12.2 lib/errdo/models/user_parser.rb
errdo-0.12.1 lib/errdo/models/user_parser.rb
errdo-0.12.0 lib/errdo/models/user_parser.rb
errdo-0.11.6 lib/errdo/models/user_parser.rb
errdo-0.11.5 lib/errdo/models/user_parser.rb
errdo-0.11.4 lib/errdo/models/user_parser.rb
errdo-0.11.3 lib/errdo/models/user_parser.rb
errdo-0.11.2 lib/errdo/models/user_parser.rb