Class: Momm::Bridge

Inherits:
Object
  • Object
show all
Defined in:
lib/momm/bridge.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Bridge



3
4
5
6
# File 'lib/momm/bridge.rb', line 3

def initialize(options={})
  @storage = options[:store] || Memcached.new
  @feed = options[:feed] || Feeds::ECB.instance
end

Instance Attribute Details

#feedObject (readonly)

Returns the value of attribute feed.



45
46
47
# File 'lib/momm/bridge.rb', line 45

def feed
  @feed
end

#storageObject (readonly)

Returns the value of attribute storage.



45
46
47
# File 'lib/momm/bridge.rb', line 45

def storage
  @storage
end

Instance Method Details

#source(feed_name) ⇒ Object

Inject the feed

Parameters

feed_name

currently only support ECB

Returns

the picked feed

Examples

source :ECB (which is by default)



41
42
43
# File 'lib/momm/bridge.rb', line 41

def source(feed_name)
  @feed = instance_eval("Momm::Feeds::#{feed_name}").instance
end

#store(storage_name, kv = {}) ⇒ Object

Inject the storage

Parameters

storage_name

:redis_store or memcached. Memcached is set as default.

Returns

the picked storage

Examples

store :redis_store, port: 12345



20
21
22
23
24
25
26
27
# File 'lib/momm/bridge.rb', line 20

def store(storage_name, kv={})
  @storage = begin
    name = storage_name.to_s.split('_').map(&:capitalize).join
    klass = instance_eval "Momm::#{name}"

    klass.new kv
  end
end