Class | Hash |
In: |
lib/ultrasphinx/core_extensions.rb
|
Parent: | Object |
class HashWithIndifferentAccess
# Returns a regular Hash with all string keys. Much faster # than HWIA#merge. def _fast_merge(right) left = Hash[self] left.merge!(self.class.new(right)) end
end
# File lib/ultrasphinx/core_extensions.rb, line 40 40: def _coerce_basic_types 41: # XXX To remove 42: Hash[*self.map do |key, value| 43: [key.to_s, 44: if value.respond_to?(:to_i) && value.to_i.to_s == value 45: value.to_i 46: elsif value == "" 47: nil 48: else 49: value 50: end] 51: end._flatten_once] 52: end
Delete by multiple keys
# File lib/ultrasphinx/core_extensions.rb, line 64 64: def _delete(*args) 65: args.map do |key| 66: self.delete key 67: end 68: end
# File lib/ultrasphinx/core_extensions.rb, line 54 54: def _stringify_all!(*skip) 55: # Stringifies all keys, and stringifies all values except those slotted for keys in 'skip' 56: stringify_keys! 57: self.except(*skip).each do |key, value| 58: self[key] = value.to_s 59: end 60: self 61: end
Convert a hash to a Sphinx-style conf string
# File lib/ultrasphinx/core_extensions.rb, line 71 71: def _to_conf_string(section = nil) 72: inner = self.map do |key, value| 73: " #{key} = #{value}" 74: end.join("\n") 75: section ? "#{section} {\n#{inner}\n}\n" : inner 76: end