theforeman/foreman-docker

View on GitHub
app/models/docker_container_wizard_state.rb

Summary

Maintainability
A
0 mins
Test Coverage
class DockerContainerWizardState < ApplicationRecord
  has_one :preliminary, :class_name => 'DockerContainerWizardStates::Preliminary',
                        :dependent => :destroy, :validate => true, :autosave => true
  has_one :image, :class_name => 'DockerContainerWizardStates::Image',
                  :dependent => :destroy, :validate => true, :autosave => true
  has_one :configuration, :class_name => 'DockerContainerWizardStates::Configuration',
                          :dependent => :destroy, :validate => true, :autosave => true
  has_one :environment, :class_name => 'DockerContainerWizardStates::Environment',
                        :dependent => :destroy, :validate => true, :autosave => true

  delegate :compute_resource_id,   :to => :preliminary
  delegate :compute_resource, :to => :preliminary

  delegate :environment_variables, :to => :environment
  delegate :exposed_ports, :to => :environment
  delegate :dns, :to => :environment

  def container_attributes
    { :repository_name     => image.repository_name,
      :tag                 => image.tag,
      :registry_id         => image.registry_id,
      :name                => configuration.name,
      :compute_resource_id => preliminary.compute_resource_id,
      :tty                 => environment.tty,
      :memory              => configuration.memory,
      :entrypoint          => configuration.entrypoint,
      :command             => configuration.command,
      :attach_stdout       => environment.attach_stdout,
      :attach_stdin        => environment.attach_stdin,
      :attach_stderr       => environment.attach_stderr,
      :cpu_shares          => configuration.cpu_shares,
      :cpu_set             => configuration.cpu_set
    }
  end
end