class Gondler::Env

Public Class Methods

accessor(name, source) click to toggle source
# File lib/gondler/env.rb, line 4
def accessor(name, source)
  original_value = ENV[source.to_s]
  define_method("orig_#{name}") do
    original_value
  end

  define_method(name) do
    @environments[source]
  end

  define_method("#{name}=") do |val|
    val = val.to_s
    ENV[source.to_s] = val
    @environments[source] = val
  end
end
new() click to toggle source
# File lib/gondler/env.rb, line 22
def initialize
  reload!
end

Public Instance Methods

reload!() click to toggle source
# File lib/gondler/env.rb, line 26
def reload!
  @environments = {}
  `go env`.each_line do |define|
    matched = define.match(/\A([A-Z]+)="(.*)"\Z/)
    @environments[matched[1].to_sym] = matched[2] if matched
  end
end