Module: PulseMeter::Mixins::Cmd

Included in:
Cmd::All
Defined in:
lib/pulse-meter/mixins/cmd.rb

Overview

Mixin with command-line utilities

Instance Method Summary collapse

Instance Method Details

#all_sensorsObject



21
22
23
# File 'lib/pulse-meter/mixins/cmd.rb', line 21

def all_sensors
  PulseMeter::Sensor::Timeline.list_objects
end

#all_sensors_table(format = nil) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/pulse-meter/mixins/cmd.rb', line 25

def all_sensors_table(format = nil)
  data = [
    ["Name", "Class", "ttl", "raw data ttl", "interval", "reduce delay"],
  ]
  data << :separator unless 'csv' == format.to_s
  all_sensors.each do |s|
    if s.kind_of? PulseMeter::Sensor::Timeline
      data << [s.name, s.class, s.ttl, s.raw_data_ttl, s.interval, s.reduce_delay]
    else
      data << [s.name, s.class] + [''] * 4
    end
  end
  data.to_table(format)
end

#fail!(description = nil) ⇒ Object



40
41
42
43
# File 'lib/pulse-meter/mixins/cmd.rb', line 40

def fail!(description = nil)
  puts description if description
  exit 1
end

#with_redisObject



7
8
9
10
# File 'lib/pulse-meter/mixins/cmd.rb', line 7

def with_redis
  PulseMeter.redis = create_redis
  yield
end

#with_safe_restore_of(name, &block) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/pulse-meter/mixins/cmd.rb', line 12

def with_safe_restore_of(name, &block)
  with_redis do
    sensor = PulseMeter::Sensor::Base.restore(name)
    block.call(sensor)
  end
rescue PulseMeter::RestoreError
  fail! "Sensor #{name} is unknown or cannot be restored"
end