Sha256: c4cd32852f2ca1476d3fed24eb883edff42b2448cfa8020b98149fab0bf5f762
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
require 'yaml' require 'stingray/control_api' class Stingray::ControlApi::Actions class << self Stingray::ControlApi::CONFIGURATIONS.each do |cfg_ns,variations| define_method(:"#{variations[:snaked]}_action_map") do bidi_map = {} actions_for(cfg_ns).each do |action,action_cfg| camelized = File.basename(action_cfg[:action]) bidi_map[action] = camelized bidi_map[camelized] = action end bidi_map end define_method(:"#{variations[:snaked]}_namespace") do ns(cfg_ns) end end private def ns(cfg) "#{File.dirname(generated_actions.fetch(cfg).values.first[:action])}/" rescue => e $stderr.puts "#{e.class.name}:#{e.message} -> #{e.backtrace.join("\n")}" if ENV['DEBUG'] "http://soap.zeus.com/zxtm/1.0/#{cfg}/" end def actions_for(cfg) generated_actions.fetch(cfg) end def generated_actions @generated_actions ||= begin actions = {} ver = ENV['STINGRAY_VERSION'] || '9.1' File.open(File.expand_path("../generated-actions-#{ver}.yml", __FILE__)) do |f| actions.merge!(YAML.load(f)) end actions end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
stingray-exec-0.2.0 | lib/stingray/control_api/actions.rb |
stingray-exec-0.1.1 | lib/stingray/control_api/actions.rb |
stingray-exec-0.1.0 | lib/stingray/control_api/actions.rb |