class Sequel::SQL::PlaceholderLiteralString

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

Attributes

args[R]

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).

parens[R]

Whether to surround the expression with parantheses

str[R]

The literal string containing placeholders. This can also be an array of strings, where each arg in args goes between the string elements.

Public Class Methods

new(str, args, parens=false) click to toggle source

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

     # File lib/sequel/sql.rb
1558 def initialize(str, args, parens=false)
1559   @str = str
1560   @args = args.is_a?(Array) && args.length == 1 && (v = args[0]).is_a?(Hash) ? v : args
1561   @parens = parens
1562   freeze
1563 end

Public Instance Methods

with_parens() click to toggle source

Return a copy of the that will be surrounded by parantheses.

     # File lib/sequel/sql.rb
1566 def with_parens
1567   @parens ? self : self.class.new(@str, @args, true)
1568 end