Class: AuPair::UserStore
- Inherits:
-
Object
- Object
- AuPair::UserStore
- Defined in:
- lib/au_pair/user_store.rb
Constant Summary collapse
- DEFAULT_CONFIG_FILE =
"#{Dir.home}/.aupair".freeze
Instance Method Summary collapse
- #ask_username_for(name) ⇒ Object
- #gets(question) ⇒ Object
-
#initialize(config_file: DEFAULT_CONFIG_FILE) ⇒ UserStore
constructor
A new instance of UserStore.
- #username_for(name) ⇒ Object
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 |