Class | String |
In: |
lib/ultrasphinx/core_extensions.rb
|
Parent: | Object |
Filter type coercion methods
Interpolate SQL field names into functions
# File lib/ultrasphinx/core_extensions.rb, line 110 110: def _interpolate(*values) 111: if values.size == 1 112: self.gsub('?', values.first) 113: else 114: values.inject(self) { |result, value| result.sub('?', value.to_s) } 115: end 116: end
XXX Not used enough to justify such a strange abstraction
# File lib/ultrasphinx/core_extensions.rb, line 95 95: def _to_numeric 96: zeroless = self.squeeze(" ").strip.sub(/^0+(\d)/, '\1') 97: zeroless.sub!(/(\...*?)0+$/, '\1') 98: if zeroless.to_i.to_s == zeroless 99: zeroless.to_i 100: elsif zeroless.to_f.to_s == zeroless 101: zeroless.to_f 102: elsif date = Chronic.parse(self.gsub(/(\d)([^\d\:\s])/, '\1 \2')) # Improve Chronic's flexibility a little 103: date.to_i 104: else 105: raise Ultrasphinx::UsageError, "#{self.inspect} could not be coerced into a numeric value" 106: end 107: end