lib/decode_this.rb in decode_this-0.1.0 vs lib/decode_this.rb in decode_this-0.1.1
- old
+ new
@@ -6,28 +6,29 @@
class DecodeThis
ConfigFileNotFoundError = Class.new(RuntimeError)
DecodeError = Class.new(RuntimeError)
- attr_reader :token, :config_file, :env
+ attr_reader :token, :config_file, :env, :logger
- def initialize(token, config_file:, env:)
+ def initialize(token, config_file:, env:, logger: nil)
@token = token
@config_file = config_file
@env = env
+ @logger = logger
end
- def call
+ def decode
JWT.decode(token, public_key, true, algorithm: algorithm).first
rescue JWT::ExpiredSignature => err
- logger.warn("Expired JWT token #{err.class} - #{err.message}")
+ logger.warn("Expired JWT token #{err.class} - #{err.message}") if logger
raise DecodeError
rescue JWT::VerificationError => err
- logger.warn("Can't verify JWT token #{err.class} - #{err.message}")
+ logger.warn("Can't verify JWT token #{err.class} - #{err.message}") if logger
raise DecodeError
rescue JWT::DecodeError => err
- logger.warn("Can't decode JWT token '#{jwt_token}' #{err.class} - #{err.message}")
+ logger.warn("Can't decode JWT token '#{jwt_token}' #{err.class} - #{err.message}") if logger
raise DecodeError
end
private