Sha256: ae8ab3c1b66d5b21c2ed2bf0b783bda06caeef0e741de8c95aec4039d1ad6648

Contents?: true

Size: 611 Bytes

Versions: 1

Compression:

Stored size: 611 Bytes

Contents

module Dotenvious
  class ValueReplacer
    def initialize(filename)
      @filename = filename
    end

    def replace(key)
      line_number = base_env.find_index do |line|
        line.match(/^#{key}=/)
      end
      updated_env = base_env.dup
      updated_env[line_number] = "#{key}=#{ENV_EXAMPLE[key]}"
      env_writer.write(updated_env.join("\n") + "\n")
      env_writer.close
    end

    private

    attr_reader :base_env, :filename

    def base_env
      @base_env ||= File.read(filename).split("\n")
    end

    def env_writer
      @env_writer ||= File.open(filename, 'w')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dotenvious-0.0.7 lib/dotenvious/value_replacer.rb