Class: Wovnrb::Settings
- Inherits:
-
Hash
- Object
- Hash
- Wovnrb::Settings
- Defined in:
- lib/wovnrb/settings.rb
Constant Summary collapse
- DYNAMIC_KEYS =
{ 'wovn_token' => 'project_token', 'wovn_ignore_paths' => 'ignore_paths' }.freeze
Instance Method Summary collapse
- #[](key) ⇒ Object
- #clear_dynamic_settings! ⇒ Object
- #ignore_globs ⇒ Object
-
#initialize(*args, **kwargs) ⇒ Settings
constructor
A new instance of Settings.
- #update_dynamic_settings!(params) ⇒ Object
Constructor Details
#initialize(*args, **kwargs) ⇒ Settings
Returns a new instance of Settings.
3 4 5 6 |
# File 'lib/wovnrb/settings.rb', line 3 def initialize(*args, **kwargs) super(*args, **kwargs) @dynamic_settings = {} end |
Instance Method Details
#[](key) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/wovnrb/settings.rb', line 8 def [](key) return @dynamic_settings[key] if @dynamic_settings.key?(key) return ignore_globs if key == 'ignore_globs' super(key) end |
#clear_dynamic_settings! ⇒ Object
22 23 24 |
# File 'lib/wovnrb/settings.rb', line 22 def clear_dynamic_settings! @dynamic_settings.clear end |
#ignore_globs ⇒ Object
15 16 17 18 19 20 |
# File 'lib/wovnrb/settings.rb', line 15 def ignore_globs ignore_paths = self['ignore_paths'] return [] unless ignore_paths.is_a?(Array) ignore_paths.map { |pattern| Glob.new(pattern) } end |
#update_dynamic_settings!(params) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/wovnrb/settings.rb', line 26 def update_dynamic_settings!(params) # If the user defines dynamic settings for this request, use it instead of the config DYNAMIC_KEYS.each do |params_key, setting_key| value = params[params_key] @dynamic_settings[setting_key] = value if value end end |