module CustomHash
Public Instance Methods
prefix_deep_values_with(prefix)
click to toggle source
# File lib/custom_hash.rb, line 11 def prefix_deep_values_with(prefix) prefix = "TODO:" if prefix.nil? self.keys.each do |key| self[key].is_a?(Hash) ? self[key].prefix_deep_values_with(prefix) : self[key] = prefix_value(self[key], prefix) end self end
prefix_value(value, prefix)
click to toggle source
# File lib/custom_hash.rb, line 42 def prefix_value(value, prefix) "#{prefix + " " unless value.start_with?(prefix) }#{value}" end
set_deep_values(new_value)
click to toggle source
# File lib/custom_hash.rb, line 4 def set_deep_values(new_value) self.keys.each do |key| self[key].is_a?(Hash) ? self[key].set_deep_values(new_value) : self[key] = new_value end self end
to_yml(identation=0)
click to toggle source
# File lib/custom_hash.rb, line 19 def to_yml(identation=0) yml = "" self.each do |key, value| key = "\"#{key}\"" if key.in? yml_reserved_words if value.is_a?(Hash) yml += "#{ " " * identation }#{key}:\n#{value.to_yml(identation+1)}" else yml += "#{ " " * identation }#{key}: \"#{value.gsub('"', '\\"')}\"\n" end end yml end
yml_reserved_words()
click to toggle source
# File lib/custom_hash.rb, line 34 def yml_reserved_words [ "y", "Y", "yes", "Yes", "YES", "n", "N", "no", "No", "NO", "true", "True", "TRUE", "false", "False", "FALSE", "on", "On", "ON", "off", "Off", "OFF" ] end