class HasJwtToken::JwtConfiguration

Constants

CLAIMS
DEFAULT_AUTH_ATTRIBUTE

Attributes

defined_claims[R]
model[RW]

Public Class Methods

new() click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 19
def initialize
  @payload = {}
  @header = {}
  @defined_claims = []
end

Public Instance Methods

algorithm(value = nil) click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 25
def algorithm(value = nil)
  return @algorithm unless value

  @algorithm = value
end
authenticate_by() click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 83
def authenticate_by
  @authenticate_by || DEFAULT_AUTH_ATTRIBUTE
end
claims_payload() click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 66
def claims_payload
  defined_claims.each_with_object({}) do |claim_name, memo|
    claim_key = CLAIMS[claim_name]
    memo[claim_key] = public_send(claim_name)
  end
end
header(name = nil, value = nil) click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 73
def header(name = nil, value = nil)
  @header[name] = value if name
end
header_fields() click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 77
def header_fields
  @header.transform_values do |val|
    val.is_a?(Proc) ? val.call : val
  end
end
model_payload() click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 49
def model_payload
  @payload.transform_values do |val|
    next val if !val.is_a?(Proc) || !model

    begin
      val.call(model)
    rescue ArgumentError
      val.call
    end
  end
end
payload(name = nil, value: nil, auth_by: false) click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 61
def payload(name = nil, value: nil, auth_by: false)
  @authenticate_by = name if auth_by
  @payload[name] = value || ->(model) { model.respond_to?(name) && model.public_send(name) } if name
end
secret(value = nil) click to toggle source
# File lib/has_jwt_token/jwt_configuration.rb, line 31
def secret(value = nil)
  return @secret unless value

  @secret = value
end