Class: Baid::Config
- Inherits:
-
Object
- Object
- Baid::Config
- Defined in:
- lib/baid/config.rb
Constant Summary collapse
- CONFIG_DIR =
File.("~/.baid")
- CREDENTIALS_FILE =
File.join(CONFIG_DIR, "credentials")
- ACTIVE_WORKSPACE_FILE =
File.join(CONFIG_DIR, "active_workspace")
- PROJECT_CONFIG =
".baid/config.yml"
Class Method Summary collapse
- .load_active_workspace ⇒ Object
- .load_project_config ⇒ Object
- .load_token ⇒ Object
- .save_active_workspace(slug) ⇒ Object
- .save_project_config(config) ⇒ Object
- .save_token(token) ⇒ Object
Class Method Details
.load_active_workspace ⇒ Object
22 23 24 25 26 |
# File 'lib/baid/config.rb', line 22 def self.load_active_workspace return nil unless File.exist?(ACTIVE_WORKSPACE_FILE) File.read(ACTIVE_WORKSPACE_FILE).strip.then { |s| s.empty? ? nil : s } end |
.load_project_config ⇒ Object
33 34 35 36 37 |
# File 'lib/baid/config.rb', line 33 def self.load_project_config return {} unless File.exist?(PROJECT_CONFIG) YAML.safe_load(File.read(PROJECT_CONFIG)) || {} end |
.load_token ⇒ Object
10 11 12 13 14 |
# File 'lib/baid/config.rb', line 10 def self.load_token return nil unless File.exist?(CREDENTIALS_FILE) File.read(CREDENTIALS_FILE).strip end |
.save_active_workspace(slug) ⇒ Object
28 29 30 31 |
# File 'lib/baid/config.rb', line 28 def self.save_active_workspace(slug) FileUtils.mkdir_p(CONFIG_DIR) File.write(ACTIVE_WORKSPACE_FILE, slug) end |
.save_project_config(config) ⇒ Object
39 40 41 42 |
# File 'lib/baid/config.rb', line 39 def self.save_project_config(config) FileUtils.mkdir_p(File.dirname(PROJECT_CONFIG)) File.write(PROJECT_CONFIG, config.to_yaml) end |
.save_token(token) ⇒ Object
16 17 18 19 20 |
# File 'lib/baid/config.rb', line 16 def self.save_token(token) FileUtils.mkdir_p(CONFIG_DIR) File.write(CREDENTIALS_FILE, token) FileUtils.chmod(0o600, CREDENTIALS_FILE) end |