Class: Trifle::Stats::Operations::Status::Scan

Inherits:
Object
  • Object
show all
Defined in:
lib/trifle/stats/operations/status/scan.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**keywords) ⇒ Scan

Returns a new instance of Scan.



10
11
12
13
# File 'lib/trifle/stats/operations/status/scan.rb', line 10

def initialize(**keywords)
  @key = keywords.fetch(:key)
  @config = keywords[:config]
end

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



8
9
10
# File 'lib/trifle/stats/operations/status/scan.rb', line 8

def key
  @key
end

Instance Method Details

#configObject



15
16
17
# File 'lib/trifle/stats/operations/status/scan.rb', line 15

def config
  @config || Trifle::Stats.default
end

#dataObject



19
20
21
22
23
# File 'lib/trifle/stats/operations/status/scan.rb', line 19

def data
  @data ||= config.driver.scan(
    key: Nocturnal::Key.new(key: key)
  )
end

#performObject



25
26
27
28
29
30
# File 'lib/trifle/stats/operations/status/scan.rb', line 25

def perform
  {
    at: data.first,
    values: data.last
  }
end