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

Returns a new instance of 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