class AM::Config

Attributes

al[RW]
pg[RW]

Public Class Methods

new() click to toggle source
# File lib/config.rb, line 10
def initialize
  load_config
end

Public Instance Methods

add_config(new_alias) click to toggle source
# File lib/config.rb, line 20
def add_config(new_alias)
  @al.merge!(new_alias)
  if save_config
    notice(:success_add_command, [new_alias.first.to_a, CONFIG_FILE].flatten)
  else
    error(:add_command_fail,new_alias.flatten)
  end
end
delete_config(del_alias) click to toggle source
# File lib/config.rb, line 29
def delete_config(del_alias)
  @al.delete(del_alias)
  if save_config
    notice(:success_delete_command, [del_alias, CONFIG_FILE])
  else
    error(:delete_command_fail, del_alias)
  end
end
file_load(file_name) click to toggle source
# File lib/config.rb, line 54
def file_load(file_name)
  buf = []
  File.open(file_name, 'r') do |file|
    file.each_line do |line|
      line = line.strip
      buf << line.gsub(/^alias /, '').split('=', 2) if line !~ /^$/ && line =~ /.+=.+/ && line !~ /^#.*/
    end
  end if File.exists?(file_name)
  Hash[buf]
end
file_write(file_name, config) click to toggle source
# File lib/config.rb, line 42
def file_write(file_name, config)
  tmp_file = file_name + '.tmp'
  file = File.open(tmp_file, "w")

  config.each do |k,v|
    r = "alias #{k.to_s}=#{v.to_s}"
    file.puts(r)
  end
  file.close
  File.rename(tmp_file, file_name) == 0
end
load_config() click to toggle source
# File lib/config.rb, line 14
def load_config
  @al = file_load(CONFIG_FILE)
  @pg = file_load(LOCAL_FILE)
  @al.delete('aml')            #delete default alias
end
save_config() click to toggle source
# File lib/config.rb, line 38
def save_config
  (file_write(CONFIG_FILE, @al.merge({"aml" => "'source ~/.am_config'"})))
end