class Souschef::Configure::Yaml

Create Configuration file

Attributes

data[RW]
opts[RW]

Public Class Methods

new(opts) click to toggle source
# File lib/souschef/configure/file.rb, line 7
def initialize(opts)
  @opts = opts
  @souschef = File.expand_path('~/.souschef.yml')
  read_configuration
  add_values
  write_configuration
end

Private Instance Methods

add_values() click to toggle source

Private - Add CLI passed data into the configuration

Return nil

# File lib/souschef/configure/file.rb, line 20
def add_values
  @data[@opts[:profile]] = { maintainer: @opts[:maintainer],
                             maintainer_email: @opts[:maintainer_email],
                             license: @opts[:license] }
end
read_configuration() click to toggle source

Private - Read configuration file, if it exists, otherwise define @data as a empty Hash

Returns Hash

# File lib/souschef/configure/file.rb, line 30
def read_configuration
  if File.exist?(@souschef)
    @data ||= YAML.load_file(@souschef)
  else
    @data = {}
  end
end
write_configuration() click to toggle source

Private - Write down configuration file

Returns nil

# File lib/souschef/configure/file.rb, line 41
def write_configuration
  File.open(@souschef, 'w+') { |fd| fd.write(@data.to_yaml) }
end