class Relationize::PgRelationizer
Constants
- DEFAULT_TYPES
Public Instance Methods
to_s()
click to toggle source
# File lib/relationize/pg_relationizer.rb, line 20 def to_s types = oriented_types columns = @columns.map(&method(:identifer_quote)) tuples = @tuples.map { |tuple| "(#{tuple.map { |v| to_text_literal(v) }.join(', ')})"}.join(", ") expressions = columns.zip(types).map { |(col, type)| "#{col}::#{type}" }.join(', ') "SELECT #{expressions} FROM (VALUES#{tuples}) AS #{identifer_quote(@name)}(#{columns.join(', ')})" end
Private Instance Methods
to_text_literal(obj)
click to toggle source
# File lib/relationize/pg_relationizer.rb, line 30 def to_text_literal(obj) obj.to_s.gsub(/'/, "''").tap do |s| break "'#{s}'" end end