class Masking::InsertStatement::SQLBuilder

Attributes

columns[R]
table[R]
values[R]

Public Class Methods

new(table:, columns:, values:) click to toggle source
# File lib/masking/insert_statement/sql_builder.rb, line 6
def initialize(table:, columns:, values:)
  @table   = table
  @columns = columns
  @values  = values
end

Public Instance Methods

sql() click to toggle source
# File lib/masking/insert_statement/sql_builder.rb, line 12
def sql
  %(INSERT INTO `#{table}` #{columns_section} VALUES #{values_section};\n)
end

Private Instance Methods

columns_section() click to toggle source
# File lib/masking/insert_statement/sql_builder.rb, line 20
def columns_section
  '(' + columns.map { |column| "`#{column}`" }.join(', ') + ')'
end
values_section() click to toggle source
# File lib/masking/insert_statement/sql_builder.rb, line 24
def values_section
  values.map { |value| '(' + value.join(',') + ')' }.join(',')
end