Class: Wovnrb::Settings
- Inherits:
-
Hash
- Object
- Hash
- Wovnrb::Settings
show all
- Defined in:
- lib/wovnrb/settings.rb
Defined Under Namespace
Classes: IgnoreGlobsWrapper
Constant Summary
collapse
- DYNAMIC_KEYS =
{
'wovn_token' => 'project_token',
'wovn_ignore_paths' => 'ignore_paths'
}.freeze
Instance Method Summary
collapse
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 IgnoreGlobsWrapper.new(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)
DYNAMIC_KEYS.each do |params_key, setting_key|
value = params[params_key]
@dynamic_settings[setting_key] = value if value
end
end
|