Module: Signum

Defined in:
app/components/signum/notification/component.rb,
lib/signum.rb,
lib/signum/engine.rb,
lib/signum/version.rb,
app/models/signum/signal.rb,
lib/signum/configuration.rb,
app/jobs/signum/application_job.rb,
app/jobs/signum/send_signals_job.rb,
lib/signum/active_record_helpers.rb,
app/models/signum/application_record.rb,
app/controllers/signum/api_controller.rb,
app/helpers/signum/application_helper.rb,
app/mailers/signum/application_mailer.rb,
app/controllers/signum/signal_controller.rb,
app/channels/signum/application_cable/channel.rb,
app/controllers/signum/application_controller.rb,
app/channels/signum/application_cable/connection.rb,
app/components/signum/notification_drawer/component.rb,
app/components/signum/notification_drawer_item/component.rb

Overview

Defined Under Namespace

Modules: ActiveRecordHelpers, ApplicationCable, ApplicationHelper, Notification, NotificationDrawer, NotificationDrawerItem Classes: ApiController, ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, Configuration, Engine, Error, SendSignalsJob, Signal, SignalController

Constant Summary collapse

VERSION =
'0.3.12'

Class Method Summary collapse

Class Method Details

.configObject



10
11
12
# File 'lib/signum.rb', line 10

def config
  @config ||= Configuration.new
end

.error(signalable, options) ⇒ Object

Signal about an error



42
43
44
45
46
# File 'lib/signum.rb', line 42

def error(signalable, options)
  return unless signalable

  signal(signalable, options.merge(kind: "error"))
end

.info(signalable, options) ⇒ Object

Signal about something that happened



35
36
37
38
39
# File 'lib/signum.rb', line 35

def info(signalable, options)
  return unless signalable

  signal(signalable, options.merge(kind: "info"))
end

.setup {|config| ... } ⇒ Object

Yields:



14
15
16
17
# File 'lib/signum.rb', line 14

def setup
  @config = Configuration.new
  yield config
end

.signal(signalable_receiver, options) ⇒ Object

Generic notice



24
25
26
27
28
29
30
31
32
# File 'lib/signum.rb', line 24

def signal(signalable_receiver, options)
  return unless signalable_receiver

  if signalable_receiver.is_a?(Signum.config.user_model_name.constantize)
    signalable_receiver.signals.create!(options)
  elsif signalable_receiver.respond_to?(:each)
    signalable_receiver.each { |signalable| signal(signalable, options) }
  end
end

.success(signalable, options) ⇒ Object

Signal about something that went sucessfully



49
50
51
52
53
# File 'lib/signum.rb', line 49

def success(signalable, options)
  return unless signalable

  signal(signalable, options.merge(kind: "success"))
end