removing initialize from Company

master
Matt Huntington 8 years ago
parent 6a192c4555
commit 477f329600

@ -1,16 +1,6 @@
class Company class Company
attr_reader :id, :name, :industry, :employees
# connect to postgres # connect to postgres
DB = PG.connect(host: "localhost", port: 5432, dbname: 'contacts') DB = PG.connect({:host => "localhost", :port => 5432, :dbname => 'contacts'})
def initialize(opts = {})
@id = opts["id"].to_i
@name = opts["name"]
@industry = opts["industry"]
if opts["employees"]
@employees = opts["employees"]
end
end
def self.all def self.all
results = DB.exec( results = DB.exec(
@ -31,17 +21,17 @@ class Company
last_company_id = nil; last_company_id = nil;
results.each do |result| results.each do |result|
if result["id"] != last_company_id if result["id"] != last_company_id
company = Company.new({ company = {
"id" => result["id"], "id" => result["id"].to_i,
"name" => result["name"], "name" => result["name"],
"industry" => result["industry"], "industry" => result["industry"],
"employees" => [] "employees" => []
}); };
companies.push(company) companies.push(company)
last_company_id = result["id"] last_company_id = result["id"]
end end
if result["person_id"] if result["person_id"]
companies.last.employees.push({ companies.last["employees"].push({
"id" => result["person_id"].to_i, "id" => result["person_id"].to_i,
"name" => result["person_name"], "name" => result["person_name"],
"age" => result["age"].to_i, "age" => result["age"].to_i,
@ -76,12 +66,12 @@ class Company
}) })
end end
end end
return Company.new({ return {
"id" => results.first["id"], "id" => results.first["id"].to_i,
"name" => results.first["name"], "name" => results.first["name"],
"industry" => results.first["industry"], "industry" => results.first["industry"],
"employees" => employees "employees" => employees
}) }
end end
def self.create(opts={}) def self.create(opts={})
@ -92,12 +82,16 @@ class Company
RETURNING id, name, industry; RETURNING id, name, industry;
SQL SQL
) )
return Company.new(results.first) return {
"id" => results.first["id"].to_i,
"name" => results.first["name"],
"industry" => results.first["industry"]
}
end end
def self.delete(id) def self.delete(id)
results = DB.exec("DELETE FROM companies WHERE id=#{id};") results = DB.exec("DELETE FROM companies WHERE id=#{id};")
return { deleted: true } return { "deleted" => true }
end end
def self.update(id, opts={}) def self.update(id, opts={})
@ -109,6 +103,10 @@ class Company
RETURNING id, name, industry; RETURNING id, name, industry;
SQL SQL
) )
return Company.new(results.first) return {
"id" => results.first["id"].to_i,
"name" => results.first["name"],
"industry" => results.first["industry"]
}
end end
end end

@ -47,11 +47,11 @@ class Person
people.push(new_person) people.push(new_person)
end end
if result["company_id"] if result["company_id"]
employer = Company.new({ employer = {
"id" => result["company_id"], "id" => result["company_id"].to_i,
"name" => result["company"], "name" => result["company"],
"industry" => result["industry"] "industry" => result["industry"]
}) }
people.last["employers"].push(employer) people.last["employers"].push(employer)
end end
end end
@ -94,11 +94,11 @@ class Person
employers = [] employers = []
results.each do |result| results.each do |result|
if result["company_id"] if result["company_id"]
employers.push(Company.new({ employers.push( {
"id" => result["company_id"], "id" => result["company_id"].to_i,
"name" => result["company"], "name" => result["company"],
"industry" => result["industry"], "industry" => result["industry"]
})) })
end end
end end
person = { person = {

Loading…
Cancel
Save