class Sequel::Dataset::PlaceholderLiteralizer::Argument

A placeholder argument used by the PlaceholderLiteralizer. This records the offset that the argument should be used in the resulting SQL.

Public Class Methods

new(recorder, pos, transformer=nil) click to toggle source

Set the recorder, the argument position, and any transforming block to use for this placeholder.

   # File lib/sequel/dataset/placeholder_literalizer.rb
50 def initialize(recorder, pos, transformer=nil)
51   @recorder = recorder
52   @pos = pos
53   @transformer = transformer
54   freeze
55 end

Public Instance Methods

sql_literal_append(ds, sql) click to toggle source

Record the SQL query offset, argument position, and transforming block where the argument should be literalized.

   # File lib/sequel/dataset/placeholder_literalizer.rb
59 def sql_literal_append(ds, sql)
60   if ds.opts[:placeholder_literal_null]
61     ds.send(:literal_append, sql, nil)
62   else
63     @recorder.use(sql, @pos, @transformer)
64   end
65 end
transform(&block) click to toggle source

Return a new Argument object for the same recorder and argument position, but with a different transformer block.

   # File lib/sequel/dataset/placeholder_literalizer.rb
69 def transform(&block)
70   Argument.new(@recorder, @pos, block)
71 end