Class: Runcom::Configuration
- Inherits:
-
Object
- Object
- Runcom::Configuration
- Defined in:
- lib/runcom/configuration.rb
Overview
Default gem configuration with support for custom settings.
Instance Method Summary collapse
- #computed_path ⇒ Object
- #global? ⇒ Boolean
- #global_path ⇒ Object
-
#initialize(file_name:, defaults: {}) ⇒ Configuration
constructor
A new instance of Configuration.
- #local? ⇒ Boolean
- #local_path ⇒ Object
- #merge(custom_settings) ⇒ Object
- #to_h ⇒ Object
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_path ⇒ Object
33 34 35 |
# File 'lib/runcom/configuration.rb', line 33 def computed_path local? ? local_path : global_path end |
#global? ⇒ Boolean
21 22 23 |
# File 'lib/runcom/configuration.rb', line 21 def global? File.exist? global_path end |
#global_path ⇒ Object
29 30 31 |
# File 'lib/runcom/configuration.rb', line 29 def global_path File.join ENV["HOME"], file_name end |
#local? ⇒ Boolean
17 18 19 |
# File 'lib/runcom/configuration.rb', line 17 def local? File.exist? local_path end |
#local_path ⇒ Object
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_h ⇒ Object
41 42 43 |
# File 'lib/runcom/configuration.rb', line 41 def to_h settings end |