Class: Simple::SQL::Inserter
- Inherits:
-
Object
- Object
- Simple::SQL::Inserter
- Defined in:
- lib/simple/sql/insert.rb
Constant Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
Constructor Details
#initialize(table_name:, columns:) ⇒ Inserter
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/simple/sql/insert.rb', line 36 def initialize(table_name:, columns:) @columns = columns cols = [] vals = [] cols += columns vals += columns.each_with_index.map { |_, idx| "$#{idx + 1}" } = SQL::Reflection.(table_name) - columns.map(&:to_s) cols += vals += .map { "now()" } @sql = "INSERT INTO #{table_name} (#{cols.join(',')}) VALUES(#{vals.join(',')}) RETURNING id" end |
Class Method Details
.create(table_name:, columns:) ⇒ Object
28 29 30 |
# File 'lib/simple/sql/insert.rb', line 28 def self.create(table_name:, columns:) @@inserters[[table_name, columns]] ||= new(table_name: table_name, columns: columns) end |