Class: AuPair::UserStore

Inherits:
Object
  • Object
show all
Defined in:
lib/au_pair/user_store.rb

Constant Summary collapse

DEFAULT_CONFIG_FILE =
"#{Dir.home}/.aupair".freeze

Instance Method Summary collapse

Constructor Details

#initialize(config_file: DEFAULT_CONFIG_FILE) ⇒ UserStore

Returns a new instance of UserStore.



8
9
10
11
12
# File 'lib/au_pair/user_store.rb', line 8

def initialize(config_file: DEFAULT_CONFIG_FILE)
  @config_file = config_file
  File.write(config_file, "") unless File.exists? config_file
  @store = YAML.load(File.read(config_file)) || {}
end

Instance Method Details

#ask_username_for(name) ⇒ Object



22
23
24
25
26
27
# File 'lib/au_pair/user_store.rb', line 22

def ask_username_for(name)
  puts "There is no saved username for #{name.capitalize}."
  username = gets "What's #{name.capitalize}'s GitHub username?"
  @store[name] = username
  File.write(@config_file, YAML.dump(@store))
end

#gets(question) ⇒ Object



18
19
20
# File 'lib/au_pair/user_store.rb', line 18

def gets(question)
  Thor::Shell::Basic.new.ask question
end

#username_for(name) ⇒ Object



14
15
16
# File 'lib/au_pair/user_store.rb', line 14

def username_for(name)
  @store[name]
end