Sha256: 2d0eb77a75948e261cbf908046c7f4f46f5103d1e00b98162240dd1baa749b1e

Contents?: true

Size: 1.53 KB

Versions: 1

Compression:

Stored size: 1.53 KB

Contents

module ForemanHdm
  class Engine < ::Rails::Engine
    isolate_namespace ForemanHdm
    engine_name 'foreman_hdm'
    # register_gettext

    config.autoload_paths += Dir["#{config.root}/app/controllers/concerns"]
    config.autoload_paths += Dir["#{config.root}/app/helpers/concerns"]
    config.autoload_paths += Dir["#{config.root}/app/models/concerns"]
    config.autoload_paths += Dir["#{config.root}/app/overrides"]

    # Add any db migrations
    initializer 'foreman_hdm.load_app_instance_data' do |app|
      ForemanHdm::Engine.paths['db/migrate'].existent.each do |path|
        app.config.paths['db/migrate'] << path
      end
    end

    initializer 'foreman_hdm.register_plugin', :before => :finisher_hook do |_app|
      Foreman::Plugin.register :foreman_hdm do
        requires_foreman '>= 3.4.0'

        # Add Global files for extending foreman-core components and routes
        register_global_js_file 'global'

        # Add permissions
        security_block :foreman_hdm do
          permission :view_foreman_hdm, { :'foreman_hdm/keys' => %i[index show] }
        end

        # Add a new role called 'Discovery' if it doesn't exist
        role 'ForemanHdm', [:view_foreman_hdm]

        smart_proxy_for Host::Managed, :hdm_proxy,
          feature: 'Hdm',
          label: N_('HDM Proxy'),
          description: N_('Smart proxy to access HDM'),
          api_description: N_('ID of HDM Proxy')
      end
    end

    rake_tasks do
      Rake::Task['db:seed'].enhance do
        ForemanHdm::Engine.load_seed
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
foreman_hdm-1.0.0 lib/foreman_hdm/engine.rb