Class: Holivia::Configuration

Inherits:
Object
  • Object
show all
Includes:
EnvManager
Defined in:
lib/holivia/configuration.rb

Constant Summary collapse

CONFIG_DIR =
File.expand_path("~/.holivia")
DEFAULT_ENV =
"staging"
DEFAULT_URL =
"https://staging.holivia.fr"

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from EnvManager

#add_env, #remove_env, #update_env, #use_env

Constructor Details

#initialize(config_dir: CONFIG_DIR) ⇒ Configuration

Returns a new instance of Configuration.



16
17
18
19
# File 'lib/holivia/configuration.rb', line 16

def initialize(config_dir: CONFIG_DIR)
  @config_dir = config_dir
  @config = load_config
end

Instance Attribute Details

#config_dirObject (readonly)

Returns the value of attribute config_dir.



14
15
16
# File 'lib/holivia/configuration.rb', line 14

def config_dir
  @config_dir
end

Instance Method Details

#base_urlObject



29
30
31
# File 'lib/holivia/configuration.rb', line 29

def base_url
  environments.dig(current_env, "url")
end

#credentials_pathObject



33
34
35
# File 'lib/holivia/configuration.rb', line 33

def credentials_path
  File.join(config_dir, "credentials.#{current_env}.json")
end

#current_envObject



21
22
23
# File 'lib/holivia/configuration.rb', line 21

def current_env
  @config["current_env"]
end

#debug?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/holivia/configuration.rb', line 37

def debug?
  environments.dig(current_env, "debug") == true
end

#environmentsObject



25
26
27
# File 'lib/holivia/configuration.rb', line 25

def environments
  @config["environments"]
end