module Mcrain
don't require 'redis' here in order to use mcrain without 'redis' gem require 'redis'
don't require 'rabbitmq/http/client' here in order to use mcrain without 'rabbitmq_http_api_client' gem require 'rabbitmq/http/client'
don't require 'redis' here in order to use mcrain without 'redis' gem require 'redis'
Constants
- VERSION
Attributes
before_setup[RW]
configuration[W]
home_dir[W]
logger[W]
Public Class Methods
class_for(name)
click to toggle source
# File lib/mcrain.rb, line 19 def class_for(name) if class_name = class_names[name] class_name.constantize else if klass = Mcrain::Base.descendants.detect{|c| c.server_name == name} class_names[name] = klass.name end klass end end
class_names()
click to toggle source
# File lib/mcrain.rb, line 15 def class_names @class_names ||= {} end
configuration()
click to toggle source
# File lib/mcrain.rb, line 39 def configuration @configuration ||= Mcrain::Configuration.new end
configure() { |configuration| ... }
click to toggle source
# File lib/mcrain.rb, line 43 def configure yield configuration configuration end
home_dir()
click to toggle source
# File lib/mcrain.rb, line 71 def home_dir @home_dir ||= (ENV['MCRAIN_HOME'] || File.join(ENV['HOME'], '.mcrain')) end
load_config(file)
click to toggle source
# File lib/mcrain.rb, line 34 def load_config(file) @configuration = Mcrain::Configuration.load_config(file) end
logger()
click to toggle source
# File lib/mcrain.rb, line 49 def logger @logger ||= Logger.new($stderr) end
register(name, class_name)
click to toggle source
# File lib/mcrain.rb, line 30 def register(name, class_name) class_names[name] = class_name end
wait_port_opened(host, port, options = {})
click to toggle source
# File lib/mcrain.rb, line 53 def wait_port_opened(host, port, options = {}) logger.debug("wait_port_opened(#{host.inspect}, #{port.inspect}, #{options.inspect})") interval = options[:interval] || 10 # second Timeout.timeout(options[:timeout] || 60) do begin s = TCPSocket.open(host, port) s.close return true rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH sleep(interval) retry end end end