Module: Jouba
- Extended by:
- Forwardable, Wisper::Publisher
- Defined in:
- lib/jouba.rb,
lib/jouba/key.rb,
lib/jouba/cache.rb,
lib/jouba/event.rb,
lib/jouba/store.rb,
lib/jouba/version.rb,
lib/jouba/aggregate.rb
Defined Under Namespace
Modules: Cache
Classes: Aggregate, Event, EventStore, Key, MemoryStore
Constant Summary
collapse
- DEFAULTS =
{
Event: Jouba::Event,
Key: Jouba::Key,
Cache: Cache::Null.new,
Store: Jouba::EventStore.new
}
- VERSION =
'0.0.1'
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
28
29
30
|
# File 'lib/jouba.rb', line 28
def config
@config ||= Hashie::Mash.new { |h, k| h[k] = DEFAULTS[k] }
end
|
.emit(key, name, data) ⇒ Object
32
33
34
35
36
37
|
# File 'lib/jouba.rb', line 32
def emit(key , name , data)
config.Event.new(key: key, name: name, data: data).tap do |event|
block_given? ? yield(event) : event.track
publish(key, event)
end
end
|
.stream(key, params = {}) ⇒ Object
39
40
41
|
# File 'lib/jouba.rb', line 39
def stream(key, params = {})
config.Event.stream(key, params)
end
|