class Remenv::IO
Attributes
adapter[R]
Public Class Methods
new(adapter)
click to toggle source
# File lib/remenv/io.rb, line 5 def initialize(adapter) @adapter = adapter end
Public Instance Methods
dump(filename)
click to toggle source
# File lib/remenv/io.rb, line 9 def dump(filename) write(File.open(filename, 'w+')) end
load(filename)
click to toggle source
# File lib/remenv/io.rb, line 13 def load(filename) adapter.clear! File.open(filename, 'r') do |file| read(file) end end
read(handle)
click to toggle source
# File lib/remenv/io.rb, line 21 def read(handle) pairs = handle.each_with_object({}) do |line, hash| raw_key, raw_val = line.split(/\s*=\s*/) next if raw_key.nil? || raw_val.nil? key = raw_key.sub(/^export /i, '') val = raw_val.strip.gsub(/'|"/, '') hash[key] = val end adapter.set(pairs) end
write(handle, leader: 'export')
click to toggle source
# File lib/remenv/io.rb, line 36 def write(handle, leader: 'export') handle.tap do |io| adapter.show.each do |key, value| io << %(#{leader} #{key}="#{value}"\n) end io.rewind end end