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.
216 217 218 219 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 216 def initialize(value, escape = nil) @value = value @escape = escape end |
Class Method Details
.parse(tokens) ⇒ Object
236 237 238 239 240 241 242 243 244 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 236 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
232 233 234 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 232 def escape_string @escape.to_s end |
#to_sql(options = {}) ⇒ Object
221 222 223 224 225 226 227 228 229 230 |
# File 'lib/active_record/turntable/sql_tree_patch.rb', line 221 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 |