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:



54
55
56
57
58
59
60
61
62
# File 'lib/fairway/config.rb', line 54

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.



48
49
50
# File 'lib/fairway/config.rb', line 48

def defined_queues
  @defined_queues
end

#distributeObject (readonly)

Returns the value of attribute distribute.



48
49
50
# File 'lib/fairway/config.rb', line 48

def distribute
  @distribute
end

#namespaceObject

Returns the value of attribute namespace.



47
48
49
# File 'lib/fairway/config.rb', line 47

def namespace
  @namespace
end

#redis_optionsObject (readonly)

Returns the value of attribute redis_options.



48
49
50
# File 'lib/fairway/config.rb', line 48

def redis_options
  @redis_options
end

Instance Method Details

#facet(&block) ⇒ Object



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

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

#redisObject



80
81
82
# File 'lib/fairway/config.rb', line 80

def redis
  @redis ||= redises
end

#redis=(options) ⇒ Object



76
77
78
# File 'lib/fairway/config.rb', line 76

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

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



72
73
74
# File 'lib/fairway/config.rb', line 72

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

#scriptsObject



84
85
86
87
88
# File 'lib/fairway/config.rb', line 84

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