Class: TabsTabs::Metrics::Task::Token
- Inherits:
-
Object
- Object
- TabsTabs::Metrics::Task::Token
show all
- Includes:
- Storage
- Defined in:
- lib/tabs_tabs/metrics/task/token.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Storage
#del, #del_by_prefix, #exists, #expireat, #get, #hdel, #hget, #hgetall, #hincrby, #hkeys, #hset, #incr, #mget, #redis, #rpush, #sadd, #set, #sismember, #smembers, #smembers_all, #tabs_key, #ttl
Constructor Details
#initialize(token, key) ⇒ Token
Returns a new instance of Token.
10
11
12
13
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 10
def initialize(token, key)
@key = key
@token = token
end
|
Instance Attribute Details
#key ⇒ Object
Returns the value of attribute key.
7
8
9
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 7
def key
@key
end
|
#token ⇒ Object
Returns the value of attribute token.
8
9
10
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 8
def token
@token
end
|
Instance Method Details
#==(other_token) ⇒ Object
33
34
35
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 33
def ==(other_token)
self.token == other_token.token
end
|
#complete(timestamp = Time.now) ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 21
def complete(timestamp=Time.now)
self.complete_time = timestamp.utc
unless sismember(tokens_storage_key, token)
raise UnstartedTaskMetricError.new("No task for metric '#{key}' was started with token '#{token}'")
end
TabsTabs::Resolution.all.each { |res| record_complete(res, complete_time) }
end
|
#start(timestamp = Time.now) ⇒ Object
15
16
17
18
19
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 15
def start(timestamp=Time.now)
self.start_time = timestamp.utc
sadd(tokens_storage_key, token)
TabsTabs::Resolution.all.each { |res| record_start(res, start_time) }
end
|
#time_elapsed(resolution) ⇒ Object
29
30
31
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 29
def time_elapsed(resolution)
TabsTabs::Resolution.from_seconds(resolution, complete_time - start_time)
end
|
#to_s ⇒ Object
37
38
39
|
# File 'lib/tabs_tabs/metrics/task/token.rb', line 37
def to_s
"#{super}:#{token}"
end
|