Class: Sequel::SQL::PlaceholderLiteralString

Inherits:
Expression show all
Defined in:
lib/sequel/sql.rb

Overview

Represents a literal string with placeholders and arguments. This is necessary to ensure delayed literalization of the arguments required for the prepared statement support

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Expression

#lit, #sql_literal

Constructor Details

#initialize(str, args, parens = false) ⇒ PlaceholderLiteralString

Create an object with the given string, placeholder arguments, and parens flag.



707
708
709
710
711
# File 'lib/sequel/sql.rb', line 707

def initialize(str, args, parens=false)
  @str = str
  @args = args.is_a?(Array) && args.length == 1 && (v = args.at(0)).is_a?(Hash) ? v : args
  @parens = parens
end

Instance Attribute Details

#argsObject (readonly)

The arguments that will be subsituted into the placeholders. Either an array of unnamed placeholders (which will be substituted in order for ? characters), or a hash of named placeholders (which will be substituted for :key phrases).



698
699
700
# File 'lib/sequel/sql.rb', line 698

def args
  @args
end

#parensObject (readonly)

Whether to surround the expression with parantheses



704
705
706
# File 'lib/sequel/sql.rb', line 704

def parens
  @parens
end

#strObject (readonly)

The literal string containing placeholders



701
702
703
# File 'lib/sequel/sql.rb', line 701

def str
  @str
end