Class: SQLCapsule::Wrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/sql_capsule/wrapper.rb

Defined Under Namespace

Classes: DuplicateColumnNamesError

Instance Method Summary collapse

Constructor Details

#initialize(db) ⇒ Wrapper

Returns a new instance of Wrapper.



8
9
10
# File 'lib/sql_capsule/wrapper.rb', line 8

def initialize(db)
  @db = db
end

Instance Method Details

#run(query, arguments = [ ]) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/sql_capsule/wrapper.rb', line 12

def run(query, arguments = [ ])
  result = db.exec(query, arguments)
  raise DuplicateColumnNamesError.new(result.fields, query) if duplicate_result_columns?(result.fields)

  if block_given?
    result.map do |row|
      yield row
    end
  else
    result.to_a
  end
end