Class: Procodile::Config
- Inherits:
-
Object
- Object
- Procodile::Config
- Defined in:
- lib/procodile/config.rb
Constant Summary collapse
- COLORS =
[35, 31, 36, 32, 33, 34]
Instance Attribute Summary collapse
-
#root ⇒ Object
readonly
Returns the value of attribute root.
Instance Method Summary collapse
- #app_name ⇒ Object
-
#initialize(root) ⇒ Config
constructor
A new instance of Config.
- #log_root ⇒ Object
- #options ⇒ Object
- #pid_root ⇒ Object
- #process_list ⇒ Object
- #process_options ⇒ Object
- #processes ⇒ Object
Constructor Details
#initialize(root) ⇒ Config
Returns a new instance of Config.
12 13 14 15 16 17 18 19 20 |
# File 'lib/procodile/config.rb', line 12 def initialize(root) @root = root unless File.exist?(procfile_path) raise Error, "Procfile not found at #{procfile_path}" end FileUtils.mkdir_p(pid_root) FileUtils.mkdir_p(log_root) end |
Instance Attribute Details
#root ⇒ Object (readonly)
Returns the value of attribute root.
10 11 12 |
# File 'lib/procodile/config.rb', line 10 def root @root end |
Instance Method Details
#app_name ⇒ Object
22 23 24 |
# File 'lib/procodile/config.rb', line 22 def app_name ['app_name'] || 'Procodile' end |
#log_root ⇒ Object
49 50 51 |
# File 'lib/procodile/config.rb', line 49 def log_root File.(['log_root'] || 'log', @root) end |
#options ⇒ Object
37 38 39 |
# File 'lib/procodile/config.rb', line 37 def @options ||= File.exist?() ? YAML.load_file() : {} end |
#pid_root ⇒ Object
45 46 47 |
# File 'lib/procodile/config.rb', line 45 def pid_root File.(['pid_root'] || 'pids', @root) end |
#process_list ⇒ Object
33 34 35 |
# File 'lib/procodile/config.rb', line 33 def process_list @processes ||= YAML.load_file(procfile_path) end |
#process_options ⇒ Object
41 42 43 |
# File 'lib/procodile/config.rb', line 41 def @process_options ||= ['processes'] || {} end |
#processes ⇒ Object
26 27 28 29 30 31 |
# File 'lib/procodile/config.rb', line 26 def processes process_list.each_with_index.each_with_object({}) do |((name, command), index), hash| = {'log_color' => COLORS[index.divmod(COLORS.size)[1]]}.merge([name] || {}) hash[name] = Process.new(self, name, command, ) end end |