Class: DocJuan::Token
- Inherits:
-
Object
- Object
- DocJuan::Token
- Defined in:
- lib/doc_juan/token.rb
Instance Method Summary collapse
-
#initialize(url_generator) ⇒ Token
constructor
A new instance of Token.
- #key ⇒ Object
- #secret ⇒ Object
- #seed ⇒ Object
Constructor Details
#initialize(url_generator) ⇒ Token
Returns a new instance of Token.
8 9 10 11 12 |
# File 'lib/doc_juan/token.rb', line 8 def initialize url_generator @url_generator = url_generator raise NoSecretGivenError if secret == '' end |
Instance Method Details
#key ⇒ Object
14 15 16 17 |
# File 'lib/doc_juan/token.rb', line 14 def key sha1 = OpenSSL::Digest::Digest.new 'sha1' OpenSSL::HMAC.hexdigest sha1, secret, seed end |
#secret ⇒ Object
19 20 21 |
# File 'lib/doc_juan/token.rb', line 19 def secret DocJuan.config.secret.to_s.strip end |
#seed ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/doc_juan/token.rb', line 23 def seed seed = [] seed << "filename:#{@url_generator.filename}" seed << "format:#{@url_generator.format}" Hash[(@url_generator.).sort].each do |k,v| seed << "options_#{k}:#{v}" end seed << "url:#{@url_generator.url}" seed.join '-' end |