Class: Architext::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/architext/settings.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_path: default_config_path) ⇒ Settings

Returns a new instance of Settings.



9
10
11
# File 'lib/architext/settings.rb', line 9

def initialize(config_path: default_config_path)
  @config_path = config_path
end

Instance Attribute Details

#config_pathObject (readonly)

Returns the value of attribute config_path.



7
8
9
# File 'lib/architext/settings.rb', line 7

def config_path
  @config_path
end

Instance Method Details

#clear_default_vaultObject



30
31
32
# File 'lib/architext/settings.rb', line 30

def clear_default_vault
  File.delete(@config_path) if File.file?(@config_path)
end

#default_vaultObject



13
14
15
16
17
18
19
20
# File 'lib/architext/settings.rb', line 13

def default_vault
  return nil unless File.file?(@config_path)

  value = File.read(@config_path).strip
  value.empty? ? nil : value
rescue StandardError
  nil
end

#default_vault=(vault) ⇒ Object

Raises:

  • (ArgumentError)


22
23
24
25
26
27
28
# File 'lib/architext/settings.rb', line 22

def default_vault=(vault)
  value = vault.to_s.strip
  raise ArgumentError, 'default vault cannot be blank' if value.empty?

  FileUtils.mkdir_p(File.dirname(@config_path))
  File.write(@config_path, "#{value}\n")
end