class Glman::Commands::Configs::AliasesConfig

Constants

DEFAULT

Public Instance Methods

add(hash={}) click to toggle source
# File lib/glman/commands/configs/aliases_config.rb, line 13
def add(hash={})
  email       = hash[:email]
  alias_name  = hash[:alias_name]
  hash = alias_name.nil? ? symbolize_keys(hash) : { alias_name.to_sym => email }
  aliases = get
  aliases = aliases.merge(hash)
  set(aliases)
end
clear() click to toggle source
# File lib/glman/commands/configs/aliases_config.rb, line 38
def clear
  set(DEFAULT)
end
delete(alias_name) click to toggle source
# File lib/glman/commands/configs/aliases_config.rb, line 22
def delete(alias_name)
  aliases = config_manager.get[:aliases] || {}
  aliases.delete_if{ |k, _| k==alias_name.to_s }
  set(aliases)
end
get() click to toggle source
# File lib/glman/commands/configs/aliases_config.rb, line 34
def get
  (config_manager.get || {})[:aliases] || DEFAULT
end
set(hash={}) click to toggle source
# File lib/glman/commands/configs/aliases_config.rb, line 28
def set(hash={})
  raise AliasesConfigurationError.new('incorrect aliases data') unless hash.kind_of? Hash
  hash = nil if hash.empty?
  config_manager.set(aliases: hash)
end

Private Instance Methods

symbolize_keys(hash) click to toggle source
# File lib/glman/commands/configs/aliases_config.rb, line 44
def symbolize_keys(hash)
  hash.inject({}) do |result, (key, value)|
    result[key.to_sym] = value
    result
  end
end