Sha256: 1badc18eb688e3e1867f0ed01437974537c89a69bf5a4693dd2ac9857e2b97b0

Contents?: true

Size: 631 Bytes

Versions: 1

Compression:

Stored size: 631 Bytes

Contents

module Nesta
  class ConfigFile
    def set_value(key, value)
      pattern = /^\s*#?\s*#{key}:.*/
      replacement = "#{key}: #{value}"

      configured = false
      File.open(Nesta::Config.yaml_path, 'r+') do |file|
        output = ''
        file.each_line do |line|
          if configured
            output << line
          else
            output << line.sub(pattern, replacement)
            configured = true if line =~ pattern
          end
        end
        output << "#{replacement}\n" unless configured
        file.pos = 0
        file.print(output)
        file.truncate(file.pos)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nesta-0.13.0 lib/nesta/config_file.rb