module Figly::Settings::SettingsHash
Public Instance Methods
[](key)
click to toggle source
# File lib/figly/settings.rb, line 10 def [](key) if self.key?(key.to_s) self.fetch(key.to_s) elsif self.key?(key.to_sym) self.fetch(key.to_sym) end end
method_missing(m, *args, &blk)
click to toggle source
# File lib/figly/settings.rb, line 4 def method_missing(m, *args, &blk) value = self[m] return value.extend(SettingsHash) if value.instance_of? Hash value end
symbolize_keys()
click to toggle source
# File lib/figly/settings.rb, line 18 def symbolize_keys _symbolize_keys(self) end
symbolize_keys!()
click to toggle source
# File lib/figly/settings.rb, line 22 def symbolize_keys! _symbolize_keys(self, in_place: true) end
Private Instance Methods
_symbolize_keys(hash, in_place: false)
click to toggle source
# File lib/figly/settings.rb, line 27 def _symbolize_keys(hash, in_place: false) h = in_place ? hash : hash.dup h.tap do |h| h.keys.each do |key| if key.is_a?(String) val = h.delete(key) h[key.to_sym] = if val.is_a?(Hash) _symbolize_keys(val, in_place: in_place) else val end end end end end