Sha256: a8c322c433ad9f0988939a55b082251dd7e3aeb53e04389edcde446e21be0996
Contents?: true
Size: 696 Bytes
Versions: 1
Compression:
Stored size: 696 Bytes
Contents
module Husky module Ears def listen_to(object) object.add_listener(responder_class.new(self)) end def responder_class "#{controller_name.camelize}Responder".constantize end def interact(interactor) listen_to(interactor) yield(interactor) if block_given? interactor.run end def deliver_entities(entities, *options) serve_for(entities.map(&:object), *options) end def deliver_entity(entity, *options) serve_for(entity.object, *options) end private def serve_for(target, *options) args = { json: target } options.each { |option| args.merge!(option) } render(args) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
husky-0.3.5 | lib/husky/ears.rb |