Class: Foreman::Export::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/foreman/export/base.rb

Direct Known Subclasses

Bluepill, Daemon, Inittab, Launchd, Runit, Supervisord, Systemd, Upstart

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(location, engine, options = {}) ⇒ Base



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/foreman/export/base.rb', line 16

def initialize(location, engine, options={})
  @location  = location
  @engine    = engine
  @options   = options.dup
  @formation = engine.formation

  # deprecated
  def port
    Foreman::Export::Base.warn_deprecation!
    engine.base_port
  end

  # deprecated
  def template
    Foreman::Export::Base.warn_deprecation!
    options[:template]
  end

  # deprecated
  def @engine.procfile
    Foreman::Export::Base.warn_deprecation!
    @processes.map do |process|
      OpenStruct.new(
        :name => @names[process],
        :process => process
      )
    end
  end
end

Instance Attribute Details

#engineObject (readonly)

Returns the value of attribute engine.



9
10
11
# File 'lib/foreman/export/base.rb', line 9

def engine
  @engine
end

#formationObject (readonly)

Returns the value of attribute formation.



11
12
13
# File 'lib/foreman/export/base.rb', line 11

def formation
  @formation
end

#locationObject (readonly)

Returns the value of attribute location.



8
9
10
# File 'lib/foreman/export/base.rb', line 8

def location
  @location
end

#optionsObject (readonly)

Returns the value of attribute options.



10
11
12
# File 'lib/foreman/export/base.rb', line 10

def options
  @options
end

#portObject (readonly)

deprecated



14
15
16
# File 'lib/foreman/export/base.rb', line 14

def port
  @port
end

Class Method Details

.procfileObject

deprecated



35
36
37
38
39
40
41
42
43
# File 'lib/foreman/export/base.rb', line 35

def @engine.procfile
  Foreman::Export::Base.warn_deprecation!
  @processes.map do |process|
    OpenStruct.new(
      :name => @names[process],
      :process => process
    )
  end
end

Instance Method Details

#appObject



53
54
55
# File 'lib/foreman/export/base.rb', line 53

def app
  options[:app] || "app"
end

#exportObject



46
47
48
49
50
51
# File 'lib/foreman/export/base.rb', line 46

def export
  error("Must specify a location") unless location
  FileUtils.mkdir_p(location) rescue error("Could not create: #{location}")
  chown user, log
  chown user, run
end

#logObject



57
58
59
# File 'lib/foreman/export/base.rb', line 57

def log
  options[:log] || "/var/log/#{app}"
end

#runObject



61
62
63
# File 'lib/foreman/export/base.rb', line 61

def run
  options[:run] || "/var/run/#{app}"
end

#templateObject

deprecated



29
30
31
32
# File 'lib/foreman/export/base.rb', line 29

def template
  Foreman::Export::Base.warn_deprecation!
  options[:template]
end

#userObject



65
66
67
# File 'lib/foreman/export/base.rb', line 65

def user
  options[:user] || app
end