| 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