Class: Chasqui::Config

Inherits:
Struct
  • Object
show all
Defined in:
lib/chasqui/config.rb

Instance Method Summary collapse

Instance Method Details

#broker_poll_intervalObject



74
75
76
# File 'lib/chasqui/config.rb', line 74

def broker_poll_interval
  self[:broker_poll_interval] ||= Defaults.fetch(:broker_poll_interval)
end

#channelObject



23
24
25
# File 'lib/chasqui/config.rb', line 23

def channel
  self[:channel] ||= Defaults.fetch(:publish_channel)
end

#inbox_queueObject Also known as: inbox



27
28
29
# File 'lib/chasqui/config.rb', line 27

def inbox_queue
  self[:inbox_queue] ||= Defaults.fetch(:inbox_queue)
end

#loggerObject



53
54
55
56
57
58
59
# File 'lib/chasqui/config.rb', line 53

def logger
  unless self[:logger]
    self.logger = STDOUT
  end

  self[:logger]
end

#logger=(new_logger) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/chasqui/config.rb', line 61

def logger=(new_logger)
  lg = if new_logger.respond_to? :info
    new_logger
  else
    Logger.new(new_logger).tap do |lg|
      lg.level = Logger::INFO
    end
  end

  lg.progname = 'chasqui'
  self[:logger] = lg
end

#redisObject



32
33
34
35
36
37
38
# File 'lib/chasqui/config.rb', line 32

def redis
  unless self[:redis]
    self.redis = Redis.new
  end

  self[:redis]
end

#redis=(redis_config) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/chasqui/config.rb', line 40

def redis=(redis_config)
  client = case redis_config
  when Redis
    redis_config
  when String
    Redis.new url: redis_config
  else
    Redis.new redis_config
  end

  self[:redis] = Redis::Namespace.new(Defaults.fetch(:redis_namespace), redis: client)
end