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.



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

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

Instance Method Details

#computed_pathObject



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

def computed_path
  local? ? local_path : global_path
end

#global?Boolean

Returns:

  • (Boolean)


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

def global?
  File.exist? global_path
end

#global_pathObject



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

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

#local?Boolean

Returns:

  • (Boolean)


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

def local?
  File.exist? local_path
end

#local_pathObject



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

def local_path
  File.join Dir.pwd, file_name
end

#merge(custom_settings) ⇒ Object



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

def merge custom_settings
  settings.deep_merge custom_settings
end

#to_hObject



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

def to_h
  settings
end