Module: Husky::Ears

Defined in:
lib/husky/ears.rb

Instance Method Summary collapse

Instance Method Details

#deliver_entities(entities, *options) ⇒ Object



23
24
25
26
# File 'lib/husky/ears.rb', line 23

def deliver_entities(entities, *options)
  raise "Rails is not running" unless defined?(Rails)
  serve_for(entities.map(&:object), *options)
end

#deliver_entity(entity, *options) ⇒ Object



28
29
30
31
# File 'lib/husky/ears.rb', line 28

def deliver_entity(entity, *options)
  raise "Rails is not running" unless defined?(Rails)
  serve_for(entity.object, *options)
end

#husky_responderObject



13
14
15
# File 'lib/husky/ears.rb', line 13

def husky_responder
  responder_class.new(self)
end

#interact(interactor) {|interactor| ... } ⇒ Object

Yields:

  • (interactor)


17
18
19
20
21
# File 'lib/husky/ears.rb', line 17

def interact(interactor)
  yield(interactor) if block_given?
  interactor.add_listener(husky_responder)
  interactor.run
end

#listen_to(object) ⇒ Object



4
5
6
# File 'lib/husky/ears.rb', line 4

def listen_to(object)
  object.add_listener(responder_class.new(self))
end

#responder_classObject



8
9
10
11
# File 'lib/husky/ears.rb', line 8

def responder_class
  raise "Rails is not running" unless defined?(Rails)
  "#{controller_name.camelize}Responder".constantize
end