class RSFHelper::Package
Public Class Methods
new(drb_obj, parent_url, package)
click to toggle source
# File lib/rsfhelper.rb, line 44 def initialize(drb_obj, parent_url, package) @obj = drb_obj @url = File.join(parent_url, package + '.rsf') doc = Rexle.new URI.open(@url, 'UserAgent' => 'ClientRscript').read a = doc.root.xpath 'job/attribute::id' a.each do |attr| method_name = attr.gsub('-','_') method = "def %s(*args); run_job('%s', args) ; end" % \ ([method_name] * 2) self.instance_eval(method) end end
Private Instance Methods
run_job(method_name, *args)
click to toggle source
# File lib/rsfhelper.rb, line 63 def run_job(method_name, *args) args.flatten!(1) params = args.pop if args.find {|x| x.is_a? Hash} a = ['//job:' + method_name, @url, args].flatten(1) params ? @obj.run(a, params) : @obj.run(a) end