Sha256: 7a0e993e11903a0190e970f3487c61258f3c24d2a9eca7777c5fcb283a4b51d3
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
require 'thor' module MilkMaid class CLI < Thor desc 'monitor_batch', "Start Monitoring a batch" long_desc <<-DESC `monitor_batch BATCH_NAME` will create a batch called BATCH_NAME and begin monitoring it for 30 minutes DESC option :batch_name, :type => :string, :required => :true, :aliases => "-b" option :temperature, :type => :numeric, :required => :false, :default => 30, :aliases => '-t' option :duration, :type => :numeric, :required => false, :default => 30, :aliases => '-d' option :logger, :type => :string, :required => false, :default => 'Console', :aliases => '-l' option :sensor, :type => :boolean, :required => false, :default => true, :aliases => '-s' def monitor_batch batch_name = options[:batch_name] temperature = options[:temperature].to_i duration = options[:duration].to_i logger_type = options[:logger] sensor_type = options[:sensor] sensor = get_sensor(sensor_type) notifier = get_logger(logger_type) batch = ::MilkMaid::Batch.new(name: batch_name, temperature: temperature, duration: duration, notifier: notifier, sensor: sensor) batch.start rescue ::MilkMaid::SensorException => e puts e.message end default_task :monitor_batch no_commands do def get_sensor(sensor_type) sensor_type ? ::MilkMaid::TemperatureSensor.new : ::MilkMaid::MockTemperatureSensor.new(options[:temperature].to_i - 20, options[:temperature].to_i + 30) end def get_logger(logger_type) case logger_type.upcase when 'CONSOLE' ::MilkMaid::ConsoleNotifier.new when 'WEB' ::MilkMaid::ParseNotifier.new end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
milk_maid-0.2.7 | lib/milk_maid/cli.rb |