Sha256: 382f001b0203fd9a3cf741ad704f5487d408759013eff63ed7e617c7e7bf4d54
Contents?: true
Size: 727 Bytes
Versions: 2
Compression:
Stored size: 727 Bytes
Contents
require 'bcrypt' require 'dry-struct' require 'securerandom' require 'cabal/api/types' module Cabal module API class User < Dry::Struct transform_keys(&:to_sym) attribute :email, Types::Strict::String attribute :access_key, Types::Strict::String attribute :secret_key, Types::Strict::String.default('') attribute :crypted_secret_key, Types::Strict::String.default('') attribute :created_at, Types::JSON::Time def crypto_key "#{email}::#{created_at}::#{access_key}" end def authenticated_with?(secret_key) return false unless crypted_secret_key.length > 0 BCrypt::Password.new(crypted_secret_key) == secret_key end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cabal-api-0.2.4 | lib/cabal/api/user.rb |
cabal-api-0.2.3 | lib/cabal/api/user.rb |