class RedmineAirbrakeBackend::Engine

Engine for Airbrake integration into Redmine

Public Instance Methods

add_redmine_patch(clazz_name, mode = :include) click to toggle source
# File lib/redmine_airbrake_backend/engine.rb, line 41
def add_redmine_patch(clazz_name, mode = :include)
  require_dependency "redmine_airbrake_backend/patches/#{clazz_name.underscore}"

  clazz       = "::#{clazz_name}".constantize
  patch_clazz = "::RedmineAirbrakeBackend::Patches::#{clazz_name}".constantize

  clazz.send(mode, patch_clazz)
end
register_redmine_plugin() click to toggle source
# File lib/redmine_airbrake_backend/engine.rb, line 20
def register_redmine_plugin
  Redmine::Plugin.register :redmine_airbrake_backend do
    name        'Airbrake Backend'
    author      'Florian Schwab'
    author_url  'https://ydkn.de'
    description 'Airbrake Backend for Redmine'
    url         'https://gitlab.com/ydkn/redmine_airbrake_backend'
    version     ::RedmineAirbrakeBackend::VERSION
    directory   RedmineAirbrakeBackend.directory

    requires_redmine version_or_higher: '3.0.0'

    project_module :airbrake do
      permission :airbrake, airbrake_notice: [:notices], airbrake_report: [:ios_reports]
      permission :manage_airbrake, airbrake: [:update]
    end

    settings default: { hash_field: '', occurrences_field: '' }, partial: 'settings/airbrake'
  end
end