class Garage::Jwt::Config::Builder

Public Class Methods

new(&block) click to toggle source
# File lib/garage/jwt/config.rb, line 15
def initialize(&block)
  @config = Config.new
  block.call(@config)
end

Public Instance Methods

build() click to toggle source
# File lib/garage/jwt/config.rb, line 20
def build
  validate!
  @config
end

Private Instance Methods

valid_algorithm?() click to toggle source
# File lib/garage/jwt/config.rb, line 36
def valid_algorithm?
  @config.algorithm.present? &&
    @config.algorithm.is_a?(Garage::Jwt::Algorithm)
end
valid_keys?() click to toggle source
# File lib/garage/jwt/config.rb, line 41
def valid_keys?
  (!@config.algorithm.need_common_key? || @config.common_key.present?) &&
    (!@config.algorithm.need_public_key? || @config.public_key.present?) &&
    (!@config.algorithm.need_private_key? || @config.private_key.present?)
end
validate!() click to toggle source
# File lib/garage/jwt/config.rb, line 27
def validate!
  unless valid_algorithm?
    fail Garage::Jwt::InitializeError.new("Invalid algorithm")
  end
  unless valid_keys?
    fail Garage::Jwt::InitializeError.new("Invalid keys")
  end
end