Module: Sack::Database::Generator
- Defined in:
- lib/sack/database/generator.rb
Overview
Generator Module: Provides SQL generator methods for building queries.
Class Method Summary collapse
-
.fields(schema, table, field_hash) ⇒ String
Generate Field Name List: Builds a list of field names present in field_hash, separated by commas.
-
.marks(field_hash) ⇒ String
Value Marks: Builds a list of field markers (‘?’) for fields present in field_hash, separated by commas.
-
.update_marks(schema, table, field_hash) ⇒ String
Update Marks: Builds a list of field value markers (‘field = ?’) for fields present in field_hash, separated by commas.
-
.values(vals) ⇒ Array
Values: Replaces all symbols in vals by their stringified values.
Class Method Details
.fields(schema, table, field_hash) ⇒ String
Generate Field Name List: Builds a list of field names present in field_hash, separated by commas.
23 24 25 |
# File 'lib/sack/database/generator.rb', line 23 def self.fields schema, table, field_hash field_hash.keys.collect { |k| Sanitizer.field schema, table, k }.join ', ' end |
.marks(field_hash) ⇒ String
Value Marks: Builds a list of field markers (‘?’) for fields present in field_hash, separated by commas.
31 32 33 |
# File 'lib/sack/database/generator.rb', line 31 def self.marks field_hash (['?'] * field_hash.size).join ', ' end |
.update_marks(schema, table, field_hash) ⇒ String
Update Marks: Builds a list of field value markers (‘field = ?’) for fields present in field_hash, separated by commas.
41 42 43 |
# File 'lib/sack/database/generator.rb', line 41 def self.update_marks schema, table, field_hash field_hash.keys.collect { |k| "#{Sanitizer.field schema, table, k} = ?" }.join ', ' end |
.values(vals) ⇒ Array
Values: Replaces all symbols in vals by their stringified values.
49 50 51 |
# File 'lib/sack/database/generator.rb', line 49 def self.values vals vals.collect { |v| v.is_a?(Symbol) ? v.to_s : v } end |