Class String
In: lib/ultrasphinx/core_extensions.rb
Parent: Object

Filter type coercion methods

Methods

Public Instance methods

Interpolate SQL field names into functions

[Source]

     # 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

[Source]

     # 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

[Validate]