Module: Hippo::API::Updates
- Defined in:
- lib/hippo/api/updates.rb
Class Method Summary collapse
Class Method Details
.relay! ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/hippo/api/updates.rb', line 18 def self.relay! if @relaying_messages raise "Already relaying messages, calling relay! twice will lead to message duplication" end @relaying_messages = true Hippo::Model.observe(:save) do |model| if model.saved_changes.any? path = "#{model.class.api_path(with_module: true)}/#{model.id}" Hippo::API::PubSub.publish(path, { by: self.user_info_for_change(model), update: model.saved_changes }) end end end |
.user_info_for_change(model) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/hippo/api/updates.rb', line 10 def self.user_info_for_change(model) if model.class.reflect_on_aggregation(:updated_by) model.updated_by.as_json(only:[:id,:name,:email]) else {} end end |