class RMonitor::Actions
Public Class Methods
new(options = {})
click to toggle source
# File lib/rmonitor/actions.rb, line 5 def initialize(options = {}) @capabilities = options[:capabilities] || Capabilities.new(options).parse end
Public Instance Methods
create(profile)
click to toggle source
# File lib/rmonitor/actions.rb, line 9 def create(profile) actions = [] @avaialble_devices = @capabilities.map { |capability| capability[:name] }.uniq @desired_devices = profile[:devices].map { |device| device[:name] } (@avaialble_devices - @desired_devices).each do |device| actions << {:action => :off, :name => device} end if profile[:dpi] actions << {:action => :option, :name => :dpi, :value => profile[:dpi]} end profile[:devices].each do |device| actions << device.merge(:action => :on) end actions end