Reads and writes Procfiles
A valid Procfile entry is captured by this regex:
/^([A-Za-z0-9_]+):\s*(.+)$/
All other lines are ignored.
Initialize a Procfile
@param [String] filename (nil) An optional filename to read from
# File lib/foreman/procfile.rb, line 17 def initialize(filename=nil) @entries = [] load(filename) if filename end
Retrieve a Procfile command by name
@param [String] name The name of the Procfile entry to retrieve
# File lib/foreman/procfile.rb, line 34 def [](name) @entries.detect { |n,c| name == n }.last end
Create a Procfile entry
@param [String] name The name of the Procfile entry to create @param [String] command The command of the Procfile entry to create
# File lib/foreman/procfile.rb, line 43 def []=(name, command) delete name @entries << [name, command] end
Remove a Procfile entry
@param [String] name The name of the Procfile entry to remove
# File lib/foreman/procfile.rb, line 52 def delete(name) @entries.reject! { |n,c| name == n } end
Yield each Procfile entry in order
# File lib/foreman/procfile.rb, line 24 def entries(&blk) @entries.each do |(name, command)| yield name, command end end
Load a Procfile from a file
@param [String] filename The filename of the Procfile to load
# File lib/foreman/procfile.rb, line 60 def load(filename) @entries.replace parse(filename) end
Save a Procfile to a file
@param [String] filename Save the Procfile to this file
# File lib/foreman/procfile.rb, line 68 def save(filename) File.open(filename, 'w') do |file| file.puts self.to_s end end
Generated with the Darkfish Rdoc Generator 2.