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