Class: Stream::Signer
- Inherits:
-
Object
- Object
- Stream::Signer
- Defined in:
- lib/stream/signer.rb
Instance Method Summary collapse
-
#initialize(key) ⇒ Signer
constructor
A new instance of Signer.
- #signature(message) ⇒ Object
- #urlSafeB64encode(value) ⇒ Object
Constructor Details
#initialize(key) ⇒ Signer
Returns a new instance of Signer.
8 9 10 11 |
# File 'lib/stream/signer.rb', line 8 def initialize(key) @key = key.to_s @sha1 = OpenSSL::Digest::Digest.new('sha1') end |
Instance Method Details
#signature(message) ⇒ Object
17 18 19 20 21 |
# File 'lib/stream/signer.rb', line 17 def signature() key = Digest::SHA1.digest @key.to_s signature = Base64.strict_encode64(OpenSSL::HMAC.digest(@sha1, key, .to_s)) self.urlSafeB64encode(signature) end |
#urlSafeB64encode(value) ⇒ Object
13 14 15 |
# File 'lib/stream/signer.rb', line 13 def urlSafeB64encode(value) value.gsub('+', '-').gsub('/', '_').gsub(/^=+/, '').gsub(/=+$/, '') end |