Class: HashToConditions::StringHelper
- Inherits:
-
Object
- Object
- HashToConditions::StringHelper
- Defined in:
- lib/helpers/string_helper.rb
Overview
This helper class takes an operator tag and convert it to an equivalent SQL operator.
For example:
> helper = StringHelper.new('null')
> helper.to_operator => ' IS NULL'
Supported operator tags:
<table style="border-collapse:collapse; border: 1px solid #999"> <tr> <th style="border: 1px solid #999; width: 80px">Tag</th> <th style="border: 1px solid #999; width: 100px">Output</th> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">eq</td> <td style="border: 1px solid #999; padding-left: 4px">=</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">ne</td> <td style="border: 1px solid #999; padding-left: 4px"><></td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">gt</td> <td style="border: 1px solid #999; padding-left: 4px">></td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">ge</td> <td style="border: 1px solid #999; padding-left: 4px">>=</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">lt</td> <td style="border: 1px solid #999; padding-left: 4px"><</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">le</td> <td style="border: 1px solid #999; padding-left: 4px"><=</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">like</td> <td style="border: 1px solid #999; padding-left: 4px">LIKE</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">null</td> <td style="border: 1px solid #999; padding-left: 4px">IS NULL</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">nnull</td> <td style="border: 1px solid #999; padding-left: 4px">IS NOT NULL</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">in</td> <td style="border: 1px solid #999; padding-left: 4px">IN</td> </tr> <tr> <td style="border: 1px solid #999; padding-left: 4px">between</td> <td style="border: 1px solid #999; padding-left: 4px">BETWEEN</td> </tr> </table>
Constant Summary collapse
- @@operators =
{ 'eq' => '=?', 'ne' => '<>?', 'gt' => '>?', 'ge' => '>=?', 'lt' => '<?', 'le' => '<=?', 'like' => ' LIKE ?', 'null' => ' IS NULL', 'nnull' => ' IS NOT NULL', 'in' => ' IN (?)', 'between' => ' BETWEEN ? AND ?' }
Instance Method Summary collapse
-
#to_operator ⇒ Object
Returns a matching SQL operator for @string, or nil if none found.
Instance Method Details
#to_operator ⇒ Object
Returns a matching SQL operator for @string, or nil if none found.
79 80 81 |
# File 'lib/helpers/string_helper.rb', line 79 def to_operator @@operators[@string.downcase] end |