Sha256: b6915fcb7a9ded912cc1a2cb72b5a6434337e57d91371e7a487b63b6a193e1f5

Contents?: true

Size: 907 Bytes

Versions: 4

Compression:

Stored size: 907 Bytes

Contents

require 'uri'

module Bootdisk::HostExt
  extend ActiveSupport::Concerns

  def bootdisk_template
    ConfigTemplate.find_by_name(Setting[:bootdisk_host_template]) || raise(::Foreman::Exception.new(N_('Unable to find template specified by %s setting'), 'bootdisk_host_template'))
  end

  def bootdisk_template_render
    if (Gem::Version.new(SETTINGS[:version].notag) < Gem::Version.new('1.5')) && Setting[:safemode_render]
      raise(::Foreman::Exception.new(N_('Bootdisk is not supported with safemode rendering, please disable safemode_render under Adminster>Settings')))
    end

    @host = self
    pxe_render(bootdisk_template.template)
  end

  def bootdisk_chain_url(mac = self.mac, action = 'iPXE')
    u = URI.parse(foreman_url(action))
    u.query = "#{u.query}&mac=#{mac}"
    u.fragment = nil
    u.to_s
  end

  def bootdisk_raise(*args)
    raise ::Foreman::Exception.new(*args)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
foreman_bootdisk-2.0.8 app/models/concerns/bootdisk/host_ext.rb
foreman_bootdisk-2.0.7 app/models/concerns/bootdisk/host_ext.rb
foreman_bootdisk-2.0.6 app/models/concerns/bootdisk/host_ext.rb
foreman_bootdisk-2.0.5 app/models/concerns/bootdisk/host_ext.rb