Sha256: d0d6aeb51f0bca6f90d05ddc63714ef39bbe787f3a14eb7b965e84d58e2c30d0

Contents?: true

Size: 722 Bytes

Versions: 3

Compression:

Stored size: 722 Bytes

Contents

class Radiosonde::Wrapper::AlarmCollection
  include Radiosonde::Logger::Helper

  def initialize(clowd_watch, alarms, options = {})
    @clowd_watch = clowd_watch
    @alarms = alarms
    @options = options
  end

  def each
    @alarms.each do |alarm|
      yield(Radiosonde::Wrapper::Alarm.new(@clowd_watch, alarm, @options))
    end
  end

  def create(name, dsl)
    log(:info, 'Create Alarm', :cyan, name)
    opts = Radiosonde::Wrapper::Alarm.normalize_attrs(dsl)

    if @options[:dry_run]
      alarm = OpenStruct.new(opts.merge(:alarm_name => name))
    else
      alarm = @alarms.create(name, opts)
      @clowd_watch.modify!
    end

    Radiosonde::Wrapper::Alarm.new(@clowd_watch, alarm, @options)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
radiosonde-0.0.3 lib/radiosonde/wrapper/alarm_collection.rb
radiosonde-0.0.2 lib/radiosonde/wrapper/alarm_collection.rb
radiosonde-0.0.1 lib/radiosonde/wrapper/alarm_collection.rb