Module: Medi8

Defined in:
lib/medi8.rb,
lib/medi8/handler.rb,
lib/medi8/railtie.rb,
lib/medi8/version.rb,
lib/medi8/mediator.rb,
lib/medi8/registry.rb,
lib/medi8/configuration.rb,
lib/medi8/notifications.rb,
lib/medi8/middleware_stack.rb,
lib/medi8/jobs/notification_job.rb

Overview

Medi8 is a lightweight event-driven framework for Ruby applications.

Defined Under Namespace

Modules: Handler, Jobs, NotificationHandler Classes: Configuration, Mediator, MiddlewareStack, NotificationDispatcher, Railtie, Registry

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.configurationObject

Returns the current configuration for Medi8.



21
22
23
# File 'lib/medi8.rb', line 21

def configuration
  @configuration ||= Medi8::Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Configures the Medi8 framework.

Yields:



16
17
18
# File 'lib/medi8.rb', line 16

def configure
  yield configuration
end

.middleware_stackObject

Returns the middleware stack used by Medi8.



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

def middleware_stack
  configuration.middleware_stack
end

.publish(event) ⇒ Object

Publishes an event to the Mediator, which will notify all registered handlers.



31
32
33
# File 'lib/medi8.rb', line 31

def publish(event)
  Mediator.new(registry).publish(event)
end

.registryObject

Returns the registry instance used by Medi8.



36
37
38
# File 'lib/medi8.rb', line 36

def registry
  configuration.registry
end

.send(request) ⇒ Object

Provides a convenient way to access the Mediator instance.



26
27
28
# File 'lib/medi8.rb', line 26

def send(request)
  Mediator.new(registry).send(request)
end

.use(middleware) ⇒ Object

Adds a middleware to the Medi8 middleware stack.



46
47
48
# File 'lib/medi8.rb', line 46

def use(middleware)
  middleware_stack.use(middleware)
end