Sha256: 14876b524fb2bc3cbfd96fc98c46e7a6d6580c3c13c1e17ad66fa2f5ccf732ce

Contents?: true

Size: 1011 Bytes

Versions: 43

Compression:

Stored size: 1011 Bytes

Contents

module Rack
  module OAuth2
    class Client
      class Grant
        include AttrRequired, AttrOptional

        def initialize(attributes = {})
          (required_attributes + optional_attributes).each do |key|
            self.send "#{key}=", attributes[key]
          end
          attr_missing!
        end

        def grant_type
          self.class.name.demodulize.underscore.to_sym
        end

        def as_json(options = {})
          (required_attributes + optional_attributes).inject({
            grant_type: grant_type
          }) do |hash, key|
            hash.merge! key => self.send(key)
          end
        end
      end
    end
  end
end

require 'rack/oauth2/client/grant/authorization_code'
require 'rack/oauth2/client/grant/password'
require 'rack/oauth2/client/grant/client_credentials'
require 'rack/oauth2/client/grant/refresh_token'
require 'rack/oauth2/client/grant/jwt_bearer'
require 'rack/oauth2/client/grant/saml2_bearer'
require 'rack/oauth2/client/grant/token_exchange'

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
rack-oauth2-2.2.1 lib/rack/oauth2/client/grant.rb
rack-oauth2-2.2.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-2.1.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-2.0.1 lib/rack/oauth2/client/grant.rb
rack-oauth2-2.0.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-2.0.0.rc3 lib/rack/oauth2/client/grant.rb
rack-oauth2-2.0.0.rc2 lib/rack/oauth2/client/grant.rb
rack-oauth2-2.0.0.rc1 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.21.3 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.21.2 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.21.1 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.21.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.20.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.19.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.18.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.17.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.16.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.15.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.14.0 lib/rack/oauth2/client/grant.rb
rack-oauth2-1.13.0 lib/rack/oauth2/client/grant.rb