class Bitbucket::Cli::Config
Public Class Methods
new()
click to toggle source
# File lib/bitbucket/cli/config.rb, line 5 def initialize @default_config = { :accounts => [], } config_from_file end
Public Instance Methods
add_account(name, password)
click to toggle source
# File lib/bitbucket/cli/config.rb, line 12 def add_account name, password @config[:accounts] << {:name => name, :password => password} write_file end
config_from_file()
click to toggle source
# File lib/bitbucket/cli/config.rb, line 36 def config_from_file begin config = YAML::load(IO.read(path)) rescue Errno::ENOENT $stderr.puts(:warning, "YAML configuration file couldn't be found. Using defaults."); rescue Psych::SyntaxError $stderr.puts(:warning, "YAML configuration file contains invalid syntax. Using defaults."); end configure(config) end
configure(config=nil)
click to toggle source
# File lib/bitbucket/cli/config.rb, line 51 def configure config=nil if config @config = config else @config = @default_config end end
get_account(name='')
click to toggle source
# File lib/bitbucket/cli/config.rb, line 17 def get_account name='' return nil if @config.nil? return nil if @config[:accounts].empty? return @config[:accounts].first if name == '' accounts = @config[:accounts].select {|a| a.has_key?(name)} return nil if accounts.empty? return accounts.first end
path()
click to toggle source
# File lib/bitbucket/cli/config.rb, line 32 def path File.join(ENV['HOME'], '.gitbb') end
write(key, val)
click to toggle source
# File lib/bitbucket/cli/config.rb, line 27 def write key, val @config[key] = val write_file end
write_file()
click to toggle source
# File lib/bitbucket/cli/config.rb, line 47 def write_file File.open(path, 'w') {|f| f.write @config.to_yaml } end