Class: Cmd::All

Inherits:
Thor
  • Object
show all
Includes:
PulseMeter::Mixins::Utils
Defined in:
lib/cmd.rb

Instance Method Summary collapse

Methods included from PulseMeter::Mixins::Utils

#assert_positive_integer!, #assert_ranged_float!, #camelize, #camelize_keys, #constantize, #titleize, #uniqid

Instance Method Details

#create(name, type) ⇒ Object



117
118
119
120
121
122
123
124
125
126
# File 'lib/cmd.rb', line 117

def create(name, type)
  with_redis do
    klass = constantize("PulseMeter::Sensor::Timelined::#{type}")
    puts "PulseMeter::Sensor::Timelined::#{type}"
    fail! "Unknown sensor type #{type}" unless klass
    sensor = klass.new(name, options.dup)
    puts "Sensor created"
    puts all_sensors_table
  end
end

#create_simple(name, type) ⇒ Object



131
132
133
134
135
136
137
138
139
# File 'lib/cmd.rb', line 131

def create_simple(name, type)
  with_redis do
    klass = constantize("PulseMeter::Sensor::#{type}")
    fail! "Unknown sensor type #{type}" unless klass
    sensor = klass.new(name, options.dup)
    puts "Sensor created"
    puts all_sensors_table
  end
end

#delete(name) ⇒ Object



105
106
107
108
# File 'lib/cmd.rb', line 105

def delete(name)
  with_safe_restore_of(name) {|sensor| sensor.cleanup}
  puts "Sensor #{name} deleted"
end

#event(name, value) ⇒ Object



73
74
75
76
77
78
# File 'lib/cmd.rb', line 73

def event(name, value)
  if "json" == options[:format]
    value = JSON.parse(value)
  end
  with_safe_restore_of(name) {|sensor| sensor.event(value)}
end

#reduceObject



62
63
64
65
66
67
68
# File 'lib/cmd.rb', line 62

def reduce
  with_redis do
    puts all_sensors_table('Registered sensors to be reduced')
    PulseMeter::Sensor::Timeline.reduce_all_raw
    puts "DONE"
  end
end

#sensorsObject



56
57
58
# File 'lib/cmd.rb', line 56

def sensors
  with_redis {puts all_sensors_table('Registered sensors')}
end

#timeline(name, seconds) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/cmd.rb', line 82

def timeline(name, seconds)
  with_safe_restore_of(name) do |sensor|
    table = Terminal::Table.new
    sensor.timeline(seconds).each {|data| table << [data.start_time, data.value || '-']}
    puts table
  end
end

#timeline_within(name, from, till) ⇒ Object



92
93
94
95
96
97
98
99
100
101
# File 'lib/cmd.rb', line 92

def timeline_within(name, from, till)
  with_safe_restore_of(name) do |sensor|
    table = Terminal::Table.new
    sensor.timeline_within(
      Time.parse(from),
      Time.parse(till)
    ).each {|data| table << [data.start_time, data.value || '-']}
    puts table
  end
end

#value(name) ⇒ Object



142
143
144
145
146
147
# File 'lib/cmd.rb', line 142

def value(name)
  with_safe_restore_of(name) do |sensor|
    fail! "Sensor #{name} has no value method" unless sensor.respond_to?(:value)
    puts "Value: #{sensor.value}"
  end
end