class RHN::Operation

Public Class Methods

new(sat) click to toggle source
# File lib/satops/rhsat.rb, line 66
def initialize(sat)
  @sat=sat
end

Public Instance Methods

action(cmd, *args) click to toggle source

Standard call

# File lib/satops/rhsat.rb, line 73
def action(cmd, *args)
  result=@sat.run(cmd, *args)
  if result
    trace_info(cmd, args[0])
  else
    trace_warn(cmd, args[0], @sat.get_exception)
  end
  result
end
action_list(cmd, *args) click to toggle source

List call

# File lib/satops/rhsat.rb, line 84
def action_list(cmd, *args)
  list=Array.new
  if list=@sat.run(cmd, *args)
    trace_info(cmd, list.size)
  else
    trace_warn(cmd, @sat.get_exception)
  end
  list
end
define(stub, type=nil) click to toggle source
# File lib/satops/rhsat.rb, line 94
def define(stub, type=nil)
  return if stub.nil?
  stubs=stub.split('.')
  method_name=stubs[stubs.size-1].to_sym

  self.class.class_eval do
    case type
    when :list
      define_method(method_name) do |*args|
        action_list(stub, *args)
      end
    when :boolean
      define_method(method_name) do |*args|
        if action(stub, *args) == 1
          return true
        else
          return false
        end
      end
    else
      define_method(method_name) do |*args|
        action(stub, *args)
      end
    end
  end
end
trace_info(*params) click to toggle source
# File lib/satops/rhsat.rb, line 121
def trace_info(*params)
  str=""
  params.each { |p| str << "#{p}:" }
  @sat.log.info("#{@sat.host.login}@#{@sat.host.name}:#{str}")
end
trace_warn(*params) click to toggle source
# File lib/satops/rhsat.rb, line 127
def trace_warn(*params)
  str=""
  params.each { |p| str << "#{p}:" }
  @sat.log.warn("#{@sat.host.login}@#{@sat.host.name}:#{str}")
end