Module: RedmineEventsManager
- Defined in:
- lib/redmine_events_manager.rb,
lib/redmine_events_manager/event.rb,
lib/redmine_events_manager/version.rb,
lib/redmine_events_manager/settings.rb,
lib/redmine_events_manager/test_config.rb,
lib/redmine_events_manager/removed_record.rb,
lib/redmine_events_manager/updated_record.rb,
lib/redmine_events_manager/hooks/add_assets.rb,
lib/redmine_events_manager/patches/issue_patch.rb,
lib/redmine_events_manager/patches/journal_patch.rb,
lib/redmine_events_manager/patches/test_case_patch.rb,
lib/redmine_events_manager/patches/time_entry_patch.rb,
lib/redmine_events_manager/patches/issue_relation_patch.rb,
lib/redmine_events_manager/patches/repository/git_patch.rb
Defined Under Namespace
Modules: Hooks, Patches, Version Classes: Event, RemovedRecord, Settings, TestConfig, UpdatedRecord
Constant Summary collapse
- EVENT_EXCEPTION_ATTRIBUTES =
{ event_entity: proc { |e, _l, _ex| e.entity.name }, event_action: proc { |e, _l, _ex| e.action.to_s }, event_data: proc { |e, _l, _ex| e.data.to_yaml }, listener_class: proc { |_e, l, _ex| l.class.name }, listener_instance: proc { |_e, l, _ex| l.to_s }, exception_class: proc { |_e, _l, ex| ex.class.name }, exception_message: proc { |_e, _l, ex| ex. }, exception_stack: proc { |_e, _l, ex| ex.backtrace.join("\n") } }.freeze
- AUTHOR =
'Eduardo Henrique Bogoni'- HOMEPAGE =
'https://github.com/esquilo-azul/redmine_events_manager'- SUMMARY =
'Management for events'- VERSION =
'0.5.2'
Class Attribute Summary collapse
-
.delay_disabled ⇒ Object
Returns the value of attribute delay_disabled.
-
.log_exceptions_disabled ⇒ Object
Returns the value of attribute log_exceptions_disabled.
Class Method Summary collapse
- .add_listener(entity, action, listener) ⇒ Object
- .all_listeners ⇒ Object
- .trigger(entity, action, data) ⇒ Object
Class Attribute Details
.delay_disabled ⇒ Object
Returns the value of attribute delay_disabled.
7 8 9 |
# File 'lib/redmine_events_manager.rb', line 7 def delay_disabled @delay_disabled end |
.log_exceptions_disabled ⇒ Object
Returns the value of attribute log_exceptions_disabled.
7 8 9 |
# File 'lib/redmine_events_manager.rb', line 7 def log_exceptions_disabled @log_exceptions_disabled end |
Class Method Details
.add_listener(entity, action, listener) ⇒ Object
20 21 22 23 24 |
# File 'lib/redmine_events_manager.rb', line 20 def add_listener(entity, action, listener) return if listeners(entity, action).include?(listener) listeners(entity, action) << listener.to_s end |
.all_listeners ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/redmine_events_manager.rb', line 35 def all_listeners r = [] @listeners.each_value do |e| e.each_value do |a| r += a end end r.uniq end |
.trigger(entity, action, data) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/redmine_events_manager.rb', line 26 def trigger(entity, action, data) event = RedmineEventsManager::Event.new(entity, action, data) Rails.logger.debug("Event triggered: #{event}") # rubocop:disable Rails/EagerEvaluationLogMessage listeners(entity, action).each do |l| Rails.logger.debug("Listener found: #{l}") # rubocop:disable Rails/EagerEvaluationLogMessage run_delayed_listener(event, l.constantize.new(event)) end end |