Class: SQLTree::Node::Expression::EscapedValue
- Defined in:
- lib/active_record/turntable/sql_tree_patch.rb
Class Method Summary collapse
Instance Method Summary collapse
- #escape_string ⇒ Object
-
#initialize(value, escape = nil) ⇒ EscapedValue
constructor
A new instance of EscapedValue.
- #to_sql(options = {}) ⇒ Object
Constructor Details
#initialize(value, escape = nil) ⇒ EscapedValue
Returns a new instance of EscapedValue.
264 265 266 267 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 264 def initialize(value, escape = nil) @value = value @escape = escape end |
Class Method Details
.parse(tokens) ⇒ Object
284 285 286 287 288 289 290 291 292 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 284 def self.parse(tokens) escape = tokens.next case tokens.next when SQLTree::Token::String SQLTree::Node::Expression::EscapedValue.new(tokens.current.literal, escape.literal) else raise SQLTree::Parser::UnexpectedToken.new(tokens.current, :literal) end end |
Instance Method Details
#escape_string ⇒ Object
280 281 282 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 280 def escape_string @escape.to_s end |
#to_sql(options = {}) ⇒ Object
269 270 271 272 273 274 275 276 277 278 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 269 def to_sql( = {}) case value when nil; 'NULL' when String; "#{escape_string}#{quote_str(@value)}" when Numeric; @value.to_s when Date; @value.strftime("'%Y-%m-%d'") when DateTime, Time; @value.strftime("'%Y-%m-%d %H:%M:%S'") else raise "Don't know how te represent this value in SQL!" end end |