class Generamba::UserPreferences
A class that provides methods for working with user-specific information. Currently it has methods for obtaining and saving username, later it may be improved to something more general.
Public Class Methods
obtain_username()
click to toggle source
# File lib/generamba/configuration/user_preferences.rb, line 9 def self.obtain_username path = obtain_user_preferences_path file_contents = open(path).read preferences = file_contents.empty? ? {} : YAML.load(file_contents).to_hash return preferences[USERNAME_KEY] end
save_username(username)
click to toggle source
# File lib/generamba/configuration/user_preferences.rb, line 18 def self.save_username(username) path = obtain_user_preferences_path file_contents = open(path).read preferences = file_contents.empty? ? {} : YAML.load(file_contents).to_hash preferences[USERNAME_KEY] = username File.open(path, 'w+') { |f| f.write(preferences.to_yaml) } end
Private Class Methods
obtain_user_preferences_path()
click to toggle source
# File lib/generamba/configuration/user_preferences.rb, line 30 def self.obtain_user_preferences_path home_path = Pathname.new(ENV['HOME']) .join(GENERAMBA_HOME_DIR) path_exists = Dir.exist?(home_path) unless path_exists FileUtils.mkdir_p home_path end preferences_path = home_path.join(USER_PREFERENCES_FILE) preferences_exist = File.file?(preferences_path) unless preferences_exist File.open(preferences_path, 'w+') { |f| f.write('') } end return preferences_path end