Class: Fairway::Config

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

Defined Under Namespace

Classes: QueueDefinition

Constant Summary collapse

DEFAULT_FACET =
"default"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|_self| ... } ⇒ Config

Returns a new instance of Config.

Yields:

  • (_self)

Yield Parameters:



65
66
67
68
69
70
71
72
73
# File 'lib/fairway/config.rb', line 65

def initialize
  @redis_options  = []
  @namespace      = nil
  @distribute     = RandomDistribution
  @facet          = lambda { |message| DEFAULT_FACET }
  @defined_queues = []

  yield self if block_given?
end

Instance Attribute Details

#defined_queuesObject (readonly)

Returns the value of attribute defined_queues.



59
60
61
# File 'lib/fairway/config.rb', line 59

def defined_queues
  @defined_queues
end

#distributeObject (readonly)

Returns the value of attribute distribute.



59
60
61
# File 'lib/fairway/config.rb', line 59

def distribute
  @distribute
end

#namespaceObject

Returns the value of attribute namespace.



58
59
60
# File 'lib/fairway/config.rb', line 58

def namespace
  @namespace
end

#redis_optionsObject (readonly)

Returns the value of attribute redis_options.



59
60
61
# File 'lib/fairway/config.rb', line 59

def redis_options
  @redis_options
end

Instance Method Details

#facet(&block) ⇒ Object



75
76
77
78
79
80
81
# File 'lib/fairway/config.rb', line 75

def facet(&block)
  if block_given?
    @facet = block
  else
    @facet
  end
end

#redisObject



91
92
93
# File 'lib/fairway/config.rb', line 91

def redis
  @redis ||= redises
end

#redis=(options) ⇒ Object



87
88
89
# File 'lib/fairway/config.rb', line 87

def redis=(options)
  @redis_options = [options].flatten
end

#register_queue(name, channel = Connection::DEFAULT_CHANNEL) ⇒ Object



83
84
85
# File 'lib/fairway/config.rb', line 83

def register_queue(name, channel = Connection::DEFAULT_CHANNEL)
  @defined_queues << QueueDefinition.new(name, channel)
end

#scriptsObject



95
96
97
98
99
# File 'lib/fairway/config.rb', line 95

def scripts
  @scripts ||= begin
    Scripts.new(raw_redises, @namespace)
  end
end