Class: RubyCoded::UserConfig
- Inherits:
-
Object
- Object
- RubyCoded::UserConfig
- Defined in:
- lib/ruby_coded/config/user_config.rb
Overview
This class is used to manage the users configurations for this gem
Constant Summary collapse
- CONFIG_DIR =
File.join(Dir.home, ".ruby_coded").freeze
- CONFIG_PATH =
File.join(CONFIG_DIR, "config.yaml").freeze
Instance Method Summary collapse
- #directory_trusted?(dir = Dir.pwd) ⇒ Boolean
- #full_config ⇒ Object
- #get_config(key) ⇒ Object
-
#initialize(config_path: CONFIG_PATH) ⇒ UserConfig
constructor
A new instance of UserConfig.
- #save ⇒ Object
- #set_config(key, value) ⇒ Object
- #trust_directory!(dir = Dir.pwd) ⇒ Object
Constructor Details
#initialize(config_path: CONFIG_PATH) ⇒ UserConfig
Returns a new instance of UserConfig.
12 13 14 15 16 |
# File 'lib/ruby_coded/config/user_config.rb', line 12 def initialize(config_path: CONFIG_PATH) @config_path = config_path @config_dir = File.dirname(@config_path) @user_config = find_or_create_config_file end |
Instance Method Details
#directory_trusted?(dir = Dir.pwd) ⇒ Boolean
35 36 37 38 |
# File 'lib/ruby_coded/config/user_config.rb', line 35 def directory_trusted?(dir = Dir.pwd) trusted = get_config("trusted_directories") || [] trusted.include?(resolve_path(dir)) end |
#full_config ⇒ Object
18 19 20 |
# File 'lib/ruby_coded/config/user_config.rb', line 18 def full_config @user_config end |
#get_config(key) ⇒ Object
22 23 24 |
# File 'lib/ruby_coded/config/user_config.rb', line 22 def get_config(key) full_config["user_config"][key] end |
#save ⇒ Object
31 32 33 |
# File 'lib/ruby_coded/config/user_config.rb', line 31 def save File.write(@config_path, full_config.to_yaml) end |
#set_config(key, value) ⇒ Object
26 27 28 29 |
# File 'lib/ruby_coded/config/user_config.rb', line 26 def set_config(key, value) full_config["user_config"][key] = value File.write(@config_path, full_config.to_yaml) end |
#trust_directory!(dir = Dir.pwd) ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/ruby_coded/config/user_config.rb', line 40 def trust_directory!(dir = Dir.pwd) trusted = get_config("trusted_directories") || [] resolved = resolve_path(dir) return if trusted.include?(resolved) trusted << resolved set_config("trusted_directories", trusted) end |