Sha256: 6b73a14c75ca78e61455f9285577dfea3b3e4226f5209866c600558aafbe2a51

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

require 'foreman_bootdisk'

module Bootdisk
  class Engine < ::Rails::Engine
    engine_name Bootdisk::ENGINE_NAME

    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"]

    initializer 'foreman_bootdisk.load_default_settings', :before => :load_config_initializers do |app|
      require_dependency File.expand_path("../../../app/models/setting/bootdisk.rb", __FILE__) if (Setting.table_exists? rescue(false))
    end

    initializer "foreman_bootdisk.load_app_instance_data" do |app|
      app.config.paths['db/migrate'] += Bootdisk::Engine.paths['db/migrate'].existent
    end

    initializer 'my_plugin.register_plugin', :after=> :finisher_hook do |app|
      Foreman::Plugin.register :foreman_bootdisk do
        requires_foreman '>= 1.4'

        security_block :bootdisk do |map|
          permission :download_bootdisk, {:hosts => [:bootdisk_iso],
                                          :'bootdisk/disks' => [:generic_iso, :index]}
        end

        role "Boot disk access", [:download_bootdisk] unless (Role.count rescue nil).nil?
      end
    end

    config.to_prepare do
      begin
        ConfigTemplate.send(:include, Bootdisk::ConfigTemplateExt)
        Host::Managed.send(:include, Bootdisk::HostExt)
        HostsController.send(:include, Bootdisk::HostsControllerExt)
        HostsHelper.send(:include, Bootdisk::HostsHelperExt)
        UnattendedController.send(:include, Bootdisk::UnattendedControllerExt)
      rescue => e
        puts "#{Bootdisk::ENGINE_NAME}: skipping engine hook (#{e.to_s})"
      end
    end

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
foreman_bootdisk-2.0.1 lib/bootdisk/engine.rb
foreman_bootdisk-2.0.0 lib/bootdisk/engine.rb