Module: Husky::Ears

Defined in:
lib/husky/ears.rb

Instance Method Summary collapse

Instance Method Details

#deliver_entities(entities, *options) ⇒ Object

DEPRECATE –> Build out custom entity serialization! This introduces a dependency on ActiveModelSerializers



25
26
27
28
# File 'lib/husky/ears.rb', line 25

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

#deliver_entity(entity, *options) ⇒ Object



30
31
32
33
# File 'lib/husky/ears.rb', line 30

def deliver_entity(entity, *options)
  raise "Rails is not running" unless defined?(Rails)
  serve_for(entity.data, *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