Sha256: efd647fe28578761725f1caae309cc07a747428b97ee4decae8535033d7220a8

Contents?: true

Size: 1.16 KB

Versions: 17

Compression:

Stored size: 1.16 KB

Contents

module Doorkeeper
  module Helpers
    module Filter
      module ClassMethods
        def doorkeeper_for(*args)
          doorkeeper_for = DoorkeeperForBuilder.create_doorkeeper_for(*args)

          before_filter doorkeeper_for.filter_options do
            return if doorkeeper_for.validate_token(doorkeeper_token)
            # TODO: use ErrorRespose class for this
            render_options = doorkeeper_unauthorized_render_options
            if render_options.nil? || render_options.empty?
              head :unauthorized
            else
              render_options[:status] = :unauthorized
              render_options[:layout] = false if render_options[:layout].nil?
              render render_options
            end
          end
        end
      end

      def self.included(base)
        base.extend ClassMethods
        base.send :private, :doorkeeper_token, :doorkeeper_unauthorized_render_options
      end

      def doorkeeper_token
        methods = Doorkeeper.configuration.access_token_methods
        @token ||= OAuth::Token.authenticate request, *methods
      end

      def doorkeeper_unauthorized_render_options
        nil
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
doorkeeper-1.0.0.rc1 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.7.4 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.7.3 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.7.2 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.7.1 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.7.0 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.7 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.6 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.5 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.4 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.3 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.2 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.1 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.0 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.6.0.rc1 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.5.0 lib/doorkeeper/helpers/filter.rb
doorkeeper-0.5.0.rc1 lib/doorkeeper/helpers/filter.rb