lib/secretkey.rb in secretkey-1.0.0 vs lib/secretkey.rb in secretkey-1.1.0

- old
+ new

@@ -1,10 +1,29 @@ require 'digest' module SecretKey class SecretKey - def self.generate_token(key, secret, timestamp) - raise ArgumentError, 'Time Stamp is not a valid integer.' unless timestamp.is_a? Integer - Digest::SHA1.hexdigest("#{key}:#{secret}:#{timestamp}") + + def initialize(key, secret, options={}) + @key = key + @secret = secret + @options = options + + extract_options! + end + + def token + raise ArgumentError, 'Time Stamp is not a valid integer.' unless @timestamp.is_a? Integer + Digest::SHA1.hexdigest("#{@key}:#{@secret}:#{@timestamp}") + end + + def timestamp + @timestamp ||= Time.now.to_i + end + + private + + def extract_options! + @timestamp = @options.fetch(:timestamp, timestamp) end end end \ No newline at end of file