class Dossier::Query
Attributes
report[R]
string[R]
Public Class Methods
new(report)
click to toggle source
# File lib/dossier/query.rb, line 6 def initialize(report) @report = report @string = report.sql.dup end
Public Instance Methods
to_s()
click to toggle source
# File lib/dossier/query.rb, line 11 def to_s compile end
Private Instance Methods
compile()
click to toggle source
# File lib/dossier/query.rb, line 17 def compile string.gsub(/\w*(?<!:):(?!:)[a-z]{1}\w*/) { |match| escape(report.public_send(match[1..-1])) } end
escape(value)
click to toggle source
# File lib/dossier/query.rb, line 21 def escape(value) if value.respond_to?(:map) "(#{value.map { |v| escape(v) }.join(', ')})" else report.dossier_client.escape(value) end end