Class: Bookwatch::Config::Configuration
- Inherits:
-
Object
- Object
- Bookwatch::Config::Configuration
- Defined in:
- lib/bookwatch/config/configuration.rb
Direct Known Subclasses
Constant Summary collapse
- CONFIG_REQUIRED_KEYS =
%w(book_repo public_host)
- CONFIG_OPTIONAL_KEYS =
%w(archive_menu book_repo_url cred_repo cred_repo_url repo_link_enabled repo_links feedback_enabled layout_repo layout_repo_ref layout_repo_url sections)
Instance Attribute Summary collapse
-
#products ⇒ Object
readonly
Returns the value of attribute products.
Class Method Summary collapse
Instance Method Summary collapse
- #==(o) ⇒ Object (also: #eql?)
- #broken_link_exclusions ⇒ Object
- #elastic_search? ⇒ Boolean
- #has_option?(key) ⇒ Boolean
-
#initialize(config) ⇒ Configuration
constructor
A new instance of Configuration.
- #merge(other_configuration) ⇒ Object
- #merge_sections(incoming_sections) ⇒ Object
- #template_variables ⇒ Object
Constructor Details
#initialize(config) ⇒ Configuration
Returns a new instance of Configuration.
54 55 56 57 |
# File 'lib/bookwatch/config/configuration.rb', line 54 def initialize(config) @config = config @products = assemble_products || [] end |
Instance Attribute Details
#products ⇒ Object (readonly)
Returns the value of attribute products.
104 105 106 |
# File 'lib/bookwatch/config/configuration.rb', line 104 def products @products end |
Class Method Details
.parse(input_config) ⇒ Object
11 12 13 14 |
# File 'lib/bookwatch/config/configuration.rb', line 11 def parse(input_config) section_configs = to_section_configs(combined_sections(input_config)) parse_sections(input_config, section_configs) end |
Instance Method Details
#==(o) ⇒ Object Also known as: eql?
98 99 100 |
# File 'lib/bookwatch/config/configuration.rb', line 98 def ==(o) o.class == self.class && o.instance_variable_get(:@config) == @config end |
#broken_link_exclusions ⇒ Object
74 75 76 |
# File 'lib/bookwatch/config/configuration.rb', line 74 def broken_link_exclusions config.fetch(:broken_link_exclusions, /(?!.*)/) end |
#elastic_search? ⇒ Boolean
94 95 96 |
# File 'lib/bookwatch/config/configuration.rb', line 94 def elastic_search? config.fetch(:elastic_search, false) end |
#has_option?(key) ⇒ Boolean
90 91 92 |
# File 'lib/bookwatch/config/configuration.rb', line 90 def has_option?(key) !!config[key.to_sym] end |
#merge(other_configuration) ⇒ Object
82 83 84 |
# File 'lib/bookwatch/config/configuration.rb', line 82 def merge(other_configuration) Configuration.new(config.merge(other_configuration.instance_variable_get(:@config))) end |
#merge_sections(incoming_sections) ⇒ Object
86 87 88 |
# File 'lib/bookwatch/config/configuration.rb', line 86 def merge_sections(incoming_sections) merge(Configuration.new(sections: sections + incoming_sections)) end |
#template_variables ⇒ Object
78 79 80 |
# File 'lib/bookwatch/config/configuration.rb', line 78 def template_variables config.fetch(:template_variables, {}) end |