Sha256: 9edfa3ac8a4af01ce8bb5ae877562fea2159dc2fdd9710f607d52cc20c6f2ccf

Contents?: true

Size: 782 Bytes

Versions: 5

Compression:

Stored size: 782 Bytes

Contents

module Doorkeeper
  module OAuth
    class ErrorResponse
      include ActiveModel::Serializers::JSON

      self.include_root_in_json = false

      def self.from_request(request)
        state = request.state if request.respond_to?(:state)
        new(:name => request.error, :state => state)
      end

      delegate :name, :description, :state, :to => :@error
      alias    :error :name
      alias    :error_description :description

      def initialize(attributes = {})
        @error = Doorkeeper::OAuth::Error.new(*attributes.values_at(:name, :state))
      end

      def attributes
        { 'error' => name, 'error_description' => description, 'state' => state }.reject { |k, v| v.blank? }
      end

      def status
        :unauthorized
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
doorkeeper-0.5.0 lib/doorkeeper/oauth/error_response.rb
doorkeeper-0.5.0.rc1 lib/doorkeeper/oauth/error_response.rb
doorkeeper-0.4.2 lib/doorkeeper/oauth/error_response.rb
doorkeeper-0.4.1 lib/doorkeeper/oauth/error_response.rb
doorkeeper-0.4.0 lib/doorkeeper/oauth/error_response.rb