class Koine::Repository::Persistence::Adapter::Sql

Attributes

adapter[R]
id_field[R]
table[R]
table_name[R]

Public Class Methods

new(adapter, table_name, id_field = :id) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 8
def initialize(adapter, table_name, id_field = :id)
  @adapter = adapter
  @table_name = table_name
  @table = adapter[table_name]
  @id_field = id_field
end

Public Instance Methods

delete_where(criterias) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 39
def delete_where(criterias)
  find_all_by(criterias).delete
end
exists?(criterias) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 15
def exists?(criterias)
  table.where(criterias).limit(2).count > 0
end
find(id) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 19
def find(id)
  find_one_by(id_field => id)
end
find_all_by(criterias) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 27
def find_all_by(criterias)
  table.where(criterias)
end
find_one_by(criterias) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 23
def find_one_by(criterias)
  table.where(criterias).first
end
insert(values) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 31
def insert(values)
  table.insert(values)
end
update_where(criterias, values) click to toggle source
# File lib/koine/repository/persistence/adapter/sql.rb, line 35
def update_where(criterias, values)
  find_all_by(criterias).update(values)
end