Class: DraftjsHtml::OverrideableMap

Inherits:
Object
  • Object
show all
Defined in:
lib/draftjs_html/overrideable_map.rb

Instance Method Summary collapse

Constructor Details

#initialize(defaults = {}) ⇒ OverrideableMap

Returns a new instance of OverrideableMap.



3
4
5
# File 'lib/draftjs_html/overrideable_map.rb', line 3

def initialize(defaults = {})
  @map = defaults.dup.transform_keys(&:to_s)
end

Instance Method Details

#value_of(key) ⇒ Object



21
22
23
# File 'lib/draftjs_html/overrideable_map.rb', line 21

def value_of(key)
  @map.fetch(key.to_s, @default)
end

#value_of!(key) ⇒ Object



17
18
19
# File 'lib/draftjs_html/overrideable_map.rb', line 17

def value_of!(key)
  @map.fetch(key.to_s)
end

#with_default(default) ⇒ Object



12
13
14
15
# File 'lib/draftjs_html/overrideable_map.rb', line 12

def with_default(default)
  @default = default
  self
end

#with_overrides(overrides) ⇒ Object



7
8
9
10
# File 'lib/draftjs_html/overrideable_map.rb', line 7

def with_overrides(overrides)
  @map.merge!((overrides || {}).transform_keys(&:to_s))
  self
end