class Philotic::Config
Constants
- ENV_PREFIX
Attributes
connection[RW]
message_return_handler[W]
Public Class Methods
new(connection, config={})
click to toggle source
# File lib/philotic/config.rb, line 21 def initialize(connection, config={}) load_config config @connection = connection end
Public Instance Methods
connection_attempts()
click to toggle source
# File lib/philotic/config.rb, line 34 def connection_attempts @connection_retries ||= defaults[:connection_attempts].to_i end
content_type()
click to toggle source
# File lib/philotic/config.rb, line 93 def content_type Philotic::Serialization::Serializer.factory(serializations.last).content_type end
load_config(config)
click to toggle source
# File lib/philotic/config.rb, line 76 def load_config(config) config.each do |k, v| mutator = "#{k}=" send(mutator, v) if respond_to? mutator end end
load_file(filename, env = 'development')
click to toggle source
# File lib/philotic/config.rb, line 83 def load_file(filename, env = 'development') config = YAML.load_file(filename) load_config(config[env]) end
log_level()
click to toggle source
# File lib/philotic/config.rb, line 30 def log_level @log_level ||= defaults[:log_level].to_i end
logger()
click to toggle source
# File lib/philotic/config.rb, line 26 def logger connection.logger end
message_return_handler()
click to toggle source
# File lib/philotic/config.rb, line 44 def message_return_handler @message_return_handler ||= lambda do |basic_return, metadata, payload| logger.warn { "Philotic message #{JSON.parse payload} was returned! reply_code = #{basic_return.reply_code}, reply_text = #{basic_return.reply_text} headers = #{metadata[:headers]}" } end end
parse_rabbit_uri()
click to toggle source
# File lib/philotic/config.rb, line 50 def parse_rabbit_uri settings = Bunny::Session.parse_uri(@rabbit_url || defaults[:rabbit_url]) settings[:password] = settings.delete(:pass) %w[scheme host port user password vhost].each do |setting| setting = setting.to_sym current_value = send("rabbit_#{setting}") # only use the value from the URI if the existing value is nil or the default if settings[setting] && [Defaults.const_get("rabbit_#{setting}".upcase), nil].include?(current_value) send("rabbit_#{setting}=", settings[setting]) end end end
prefetch_count()
click to toggle source
# File lib/philotic/config.rb, line 38 def prefetch_count @prefetch_count ||= defaults[:prefetch_count].to_i end
rabbit_url()
click to toggle source
# File lib/philotic/config.rb, line 66 def rabbit_url parse_rabbit_uri "#{rabbit_scheme}://#{rabbit_user}:#{rabbit_password}@#{rabbit_host}:#{rabbit_port}/#{CGI.escape rabbit_vhost}" end
sanitized_rabbit_url()
click to toggle source
# File lib/philotic/config.rb, line 71 def sanitized_rabbit_url parse_rabbit_uri rabbit_url.gsub("#{rabbit_user}:#{rabbit_password}", '[USER_REDACTED]:[PASSWORD_REDACTED]') end
serializations()
click to toggle source
# File lib/philotic/config.rb, line 88 def serializations self.serializations = MultiJson.load(defaults[:serializations]) unless @serializations @serializations end