module Peictt::Orm::QueryHelpers

Public Instance Methods

destroy(model) click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 13
def destroy(model)
  @id = model.id
  @table = model.class.to_s.to_snake_case.pluralize
  Database.execute_query destroy_query, [@id]
  true
end
destroy_all(table) click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 25
def destroy_all(table)
  @table = table
  Database.execute_query destroy_all_query
end
destroy_all_query() click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 54
def destroy_all_query
  "DELETE FROM #{@table}"
end
destroy_query() click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 50
def destroy_query
  "DELETE FROM #{@table} WHERE id = ?"
end
find_by(model, attributes) click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 4
def find_by(model, attributes)
  @table = model.to_s.downcase.pluralize
  @placeholders, @columns = set_columns_for_instance(attributes.keys)
  @values = attributes.values
  @combined_array = @columns.zip(@placeholders).
                    map { |item| item.join " = " }
  Database.execute_query(find_query, @values)[0]
end
find_query() click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 45
def find_query
  "SELECT * FROM #{@table} WHERE #{@combined_array.join(' AND ')} "\
  " LIMIT 1"
end
get_all(klass) click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 20
def get_all(klass)
  table = klass.to_s.to_snake_case.pluralize
  Database.execute_query "SELECT * FROM #{table}"
end
get_values_for_instance(model, variables) click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 39
def get_values_for_instance(model, variables)
  variables.map do |var|
    model.instance_variable_get var
  end
end
set_columns_for_instance(variables) click to toggle source
# File lib/peictt/orm/query_helpers.rb, line 30
def set_columns_for_instance(variables)
  placeholders = []
  columns = variables.map do |var|
    placeholders << "?"
    var.to_s.sub /[:@]/, ""
  end
  [placeholders, columns]
end