class Qmetrics::Caller
Attributes
api_methods[R]
Public Class Methods
load_api_methods(file)
click to toggle source
# File lib/qmetrics/caller.rb, line 27 def self.load_api_methods(file) @api_methods ||= load_yml(file) end
new(queues: , api: )
click to toggle source
# File lib/qmetrics/caller.rb, line 8 def initialize(queues: , api: ) @queues = queues @api = api clear_blocks end
Private Class Methods
generate_api_methods()
click to toggle source
# File lib/qmetrics/caller.rb, line 41 def self.generate_api_methods api_methods.each do |k, v| define_method(k.to_sym) do @blocks = [v] execute end end end
load_yml(file)
click to toggle source
# File lib/qmetrics/caller.rb, line 37 def self.load_yml(file) YAML.load_file(File.join(File.dirname(__FILE__),file)) end
Public Instance Methods
api_methods()
click to toggle source
# File lib/qmetrics/caller.rb, line 31 def api_methods self.class.api_methods end
get(*args)
click to toggle source
# File lib/qmetrics/caller.rb, line 14 def get(*args) clear_blocks args.each do |k| @blocks.push(api_methods[k.to_sym]) if call_exists?(k.to_sym) end execute end
to_s()
click to toggle source
url encoded '|' to '%7C'
# File lib/qmetrics/caller.rb, line 23 def to_s "/jsonStatsApi.do?queues=#{@queues.join('%7C')}" end
Private Instance Methods
call_exists?(call)
click to toggle source
# File lib/qmetrics/caller.rb, line 54 def call_exists?(call) api_methods.keys.include? call end
clear_blocks()
click to toggle source
# File lib/qmetrics/caller.rb, line 58 def clear_blocks @blocks = [] end
execute()
click to toggle source
# File lib/qmetrics/caller.rb, line 50 def execute Qmetrics::Response.new(@api.call(to_s),api_methods) end