Class: MiniCamel::Environment

Inherits:
Object
  • Object
show all
Defined in:
lib/mini_camel/environment.rb

Instance Method Summary collapse

Instance Method Details

#add_route(route) ⇒ Object



29
30
31
# File 'lib/mini_camel/environment.rb', line 29

def add_route(route)
  routes << route
end

#call_route(route_name, exchange) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/mini_camel/environment.rb', line 43

def call_route(route_name, exchange)
  if route = routes_by_name[route_name]
    route.call(exchange)
  else
    raise UnknownRouteError, route_name
  end
end

#dispatch_route(route_name, options = {}) ⇒ Object



14
15
16
17
# File 'lib/mini_camel/environment.rb', line 14

def dispatch_route(route_name, options = {})
  with_data = options[:with_data] || Dto.new
  RouteDispatcher.new(route: route_name, with_data: with_data, env: self).dispatch
end

#error_handlerObject



55
56
57
# File 'lib/mini_camel/environment.rb', line 55

def error_handler
  @error_handler ||= DefaultErrorHandler.new
end

#finalizeObject



33
34
35
36
# File 'lib/mini_camel/environment.rb', line 33

def finalize
  finalizer_class.new(env: self).finalize
  self
end

#finalized!Object



38
39
40
# File 'lib/mini_camel/environment.rb', line 38

def finalized!
  @finalized = true
end

#finalizer_classObject



51
52
53
# File 'lib/mini_camel/environment.rb', line 51

def finalizer_class
  @finalizer_class ||= RouteFinalizer
end

#register_error_handler(handler) ⇒ Object



24
25
26
27
# File 'lib/mini_camel/environment.rb', line 24

def register_error_handler(handler)
  @error_handler = handler
  self
end

#register_route_builder(*builders) ⇒ Object



19
20
21
22
# File 'lib/mini_camel/environment.rb', line 19

def register_route_builder(*builders)
  @route_builders += builders
  self
end