Sha256: 9e2b8ef83435f02b248801061157c7bc3dfbb53f1ea97568d86fb9c7dc282d7c
Contents?: true
Size: 780 Bytes
Versions: 2
Compression:
Stored size: 780 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 husky_responder responder_class.new(self) end def interact(interactor) yield(interactor) if block_given? interactor.add_listener(husky_responder) 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
husky-0.3.8 | lib/husky/ears.rb |
husky-0.3.7 | lib/husky/ears.rb |