Class: Zm::Client::Token
- Inherits:
-
Object
- Object
- Zm::Client::Token
- Defined in:
- lib/zm/client/token.rb
Instance Method Summary collapse
- #admin? ⇒ Boolean
- #decoded ⇒ Object
- #expire_at ⇒ Object
- #expired? ⇒ Boolean
-
#initialize(str) ⇒ Token
constructor
A new instance of Token.
- #metadatas ⇒ Object
- #server_version ⇒ Object
- #to_s ⇒ Object
- #zimbra_id ⇒ Object
Constructor Details
#initialize(str) ⇒ Token
Returns a new instance of Token.
6 7 8 9 |
# File 'lib/zm/client/token.rb', line 6 def initialize(str) @str = str @key_id, @hmac, @encoded = @str.split('_') end |
Instance Method Details
#admin? ⇒ Boolean
31 32 33 34 35 |
# File 'lib/zm/client/token.rb', line 31 def admin? return @admin if defined? @admin @admin = ['admin'] == '1' end |
#decoded ⇒ Object
15 16 17 18 19 |
# File 'lib/zm/client/token.rb', line 15 def decoded return @decoded if defined? @decoded @decoded = [@encoded].pack('H*') end |
#expire_at ⇒ Object
41 42 43 44 45 |
# File 'lib/zm/client/token.rb', line 41 def expire_at return @expire_at if defined? @expire_at @expire_at = Time.at(['exp'].to_f / 1000).freeze end |
#expired? ⇒ Boolean
47 48 49 |
# File 'lib/zm/client/token.rb', line 47 def expired? expire_at < Time.now end |
#metadatas ⇒ Object
21 22 23 24 25 |
# File 'lib/zm/client/token.rb', line 21 def return @metadatas if defined? @metadatas @metadatas = decoded.split(';').to_h { |part| part.split(/=\d+:/) }.freeze end |
#server_version ⇒ Object
37 38 39 |
# File 'lib/zm/client/token.rb', line 37 def server_version ['version'] end |
#to_s ⇒ Object
11 12 13 |
# File 'lib/zm/client/token.rb', line 11 def to_s @str end |
#zimbra_id ⇒ Object
27 28 29 |
# File 'lib/zm/client/token.rb', line 27 def zimbra_id ['id'] end |