class Atomically::OnDuplicateSqlService
Public Class Methods
new(klass, columns)
click to toggle source
# File lib/atomically/on_duplicate_sql_service.rb, line 4 def initialize(klass, columns) @klass = klass @columns = columns end
Public Instance Methods
mysql_quote_columns_for_plus()
click to toggle source
# File lib/atomically/on_duplicate_sql_service.rb, line 9 def mysql_quote_columns_for_plus return @columns.map do |column| quoted_column = quote_column(column) next "#{quoted_column} = #{quoted_column} + VALUES(#{quoted_column})" end end
pg_quote_columns_for_plus()
click to toggle source
# File lib/atomically/on_duplicate_sql_service.rb, line 16 def pg_quote_columns_for_plus return @columns.map do |column| quoted_column = quote_column(column) next "#{quoted_column} = #{@klass.quoted_table_name}.#{quoted_column} + excluded.#{quoted_column}" end end
Private Instance Methods
quote_column(column)
click to toggle source
# File lib/atomically/on_duplicate_sql_service.rb, line 25 def quote_column(column) @klass.connection.quote_column_name(column) end