Class: Runcom::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/runcom/configuration.rb

Overview

Default gem configuration with support for custom settings.

Instance Method Summary collapse

Constructor Details

#initialize(file_name:, defaults: {}) ⇒ Configuration

Returns a new instance of Configuration.



11
12
13
14
15
# File 'lib/runcom/configuration.rb', line 11

def initialize file_name:, defaults: {}
  @file_name = file_name
  @defaults = defaults
  @settings = defaults.deep_merge load_settings
end

Instance Method Details

#computed_pathObject



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

def computed_path
  local? ? local_path : global_path
end

#global?Boolean

Returns:

  • (Boolean)


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

def global?
  File.exist? global_path
end

#global_pathObject



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

def global_path
  File.join ENV["HOME"], file_name
end

#local?Boolean

Returns:

  • (Boolean)


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

def local?
  File.exist? local_path
end

#local_pathObject



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

def local_path
  File.join Dir.pwd, file_name
end

#merge(custom_settings) ⇒ Object



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

def merge custom_settings
  settings.deep_merge custom_settings
end

#to_hObject



41
42
43
# File 'lib/runcom/configuration.rb', line 41

def to_h
  settings
end