Skip to content

Instantly share code, notes, and snippets.

@juliends
Created January 25, 2018 19:40
Show Gist options
  • Save juliends/1dd262a4a347918deeb99b2738d4045e to your computer and use it in GitHub Desktop.
Save juliends/1dd262a4a347918deeb99b2738d4045e to your computer and use it in GitHub Desktop.
require_relative "../models/employee"
require 'sqlite3'
class EmployeesRepository
def initialize
@db = SQLite3::Database.new('./food_delivery.sqlite3')
@db.results_as_hash = true
@employees = []
load_employees_from_db
end
def find(employee_id)
@employees.find {|employee| employee.id == employee_id}
end
def find_by_username(username)
@employees.find {|employee| employee.login == username}
end
private
def load_employees_from_db
results = @db.execute "SELECT * FROM employees"
results.each do |row|
other_row = {}
row.each do |key, value|
other_row[key.to_sym] = value if key.is_a?(String)
end
@employees << Employee.new(other_row)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment