class Reactor::Cm::Job
Public Class Methods
create(pk_value, attributes={})
click to toggle source
# File lib/reactor/cm/job.rb, line 45 def self.create(pk_value, attributes={}) request = XmlRequest.prepare do |xml| xml.create_tag!(base_name) do attributes.merge(:name => pk_value).each do |attr_name, attr_value| self.serialize_attribute_to_xml(xml, self.xml_attribute(attr_name), attr_value) end end end response = request.execute! return get(pk_value) end
serialize_attribute_to_xml(xml, xml_attribute, value)
click to toggle source
Calls superclass method
# File lib/reactor/cm/job.rb, line 20 def self.serialize_attribute_to_xml(xml, xml_attribute, value) if xml_attribute.type.to_sym == :schedule xml.tag!('schedule') do (value || []).each do |schedule_entry| xml.tag!('listitem') do schedule_entry.each do |dim, values| xml.tag!('dictitem') do xml.tag!('key') do xml.text!(dim.to_s) end xml.tag!('value') do values.each do |val| xml.tag!('listitem', val) end end end end end end end else super(xml, xml_attribute, value) end end
Public Instance Methods
cancel()
click to toggle source
# File lib/reactor/cm/job.rb, line 63 def cancel simple_command('cancel') end
exec()
click to toggle source
# File lib/reactor/cm/job.rb, line 59 def exec simple_commnad('exec') end
Protected Instance Methods
simple_command(cmd_name)
click to toggle source
# File lib/reactor/cm/job.rb, line 68 def simple_command(cmd_name) request = XmlRequest.prepare do |xml| xml.where_key_tag!(self.base_name, 'name', self.name) xml.tag!("#{self.base_name}-#{cmd_name}") end response = request.execute! end