module ModelUpdates::ModelExtensions

Public Class Methods

included(base) click to toggle source
# File lib/model_updates/model_extensions.rb, line 2
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

model_updates_attrs(key, more = {}) click to toggle source
# File lib/model_updates/model_extensions.rb, line 100
def model_updates_attrs(key, more = {})
  attrs = {
    model_updates_id: id,
    model_updates_model: self.class.name,
    model_updates_key: key
  }

  more.each do |hash_key, hash_value|
    attrs["model_updates_#{hash_key}"] = hash_value
  end

  attrs
end
model_updates_call(event_name, args = {}) click to toggle source
# File lib/model_updates/model_extensions.rb, line 89
def model_updates_call(event_name, args = {})
  ActionCable.server.broadcast(
    "model_updates_events_model_#{self.class.name}_model_#{id}_event_#{event_name}",
    event_name: event_name,
    id: id,
    model: self.class.name,
    callback_type: "model",
    args: args
  )
end
model_updates_data_attrs(key, more = {}) click to toggle source
# File lib/model_updates/model_extensions.rb, line 114
def model_updates_data_attrs(key, more = {})
  {
    id: id,
    model: self.class.name,
    key: key
  }.merge(more)
end