Skip to content

Instantly share code, notes, and snippets.

@BrianJoyce
Created October 14, 2012 07:25
Show Gist options
  • Save BrianJoyce/3887715 to your computer and use it in GitHub Desktop.
Save BrianJoyce/3887715 to your computer and use it in GitHub Desktop.
hospital
#People
# class Database
#
# attr_accessor :records
#
# @@max_record_id = 0
# @@records = []
#
# def next_id
# @@max_record_id += 1
# end
#
# end
#
# class Record
#
# attr_accessor :data, :record_id, :db
#
# def initialize
# @record_id = nil
# @data = nil
# end
#
# end
class People
attr_accessor :name, :dob, :gender
def initialize(name,dob,gender)
@name = name
@dob = dob
@gender = gender
end
def to_s
"Name: #{@name} DOB:#{@dob} Gender:#{@gender}"
end
#
# def add_record(data)
# rec = Record.new
# rec.record_id = rec.db.next_id
# rec.data = data
# @@records << [rec.record_id,rec.data]
# end
end
class Patient < People
attr_accessor :condition, :medication
def initialize(name,dob,gender,condition,medication)
super(name,dob,gender)
@condition = condition
@medication = medication
end
def to_s
"Name: #{@name} DOB:#{@dob} Gender:#{@gender} Condition: #{@condition} Medication: #{@medication}"
record = {:Name => @name, :dob => @dob, :Gender => @gender, :Condition => @condition, :Medictaion => medication}
record.inspect
end
end
class Employee < People
attr_reader :role, :salary
def initialize(name,dob,gender,role,salary,password)
super(name,dob,gender)
@role = role
@salary = salary
@password = password
end
def to_s
record = {:Name => @name, :dob => @dob, :Gender => @gender, :Role => @role, :Salary => @salary, :Password => @password }
record.inspect
# "Name: #{@name}
# DOB: #{@dob}
# Gender: #{@gender}
# Role: #{@role}
# Salary: $#{@salary}
# Password: #{@password}"
end
end
class Doctor < Employee
end
class Nurse < Employee
end
class Janitor < Employee
end
#people testing
# p = People.new("Joe","08/04/1987","M" )
# puts p.to_s
#sally = Patient.new("Sally","08/04/1989","F","AIDS","Time")
#p sally
# emp = Doctor.new("Dr. Phil","08/04/1965","M","Doctor",200_000,"stinky_fool")
# p emp
#dr = Doctor.new("Dr. Phil","08/04/1965","M","Doctor",200_000,"stinky_fool")
#p dr
# new_rec = People.new("Dr. Phil","08/04/1965","M")
# p new_rec.add_record(new_rec.to_s)
class Hospital
@@records = []
attr_accessor :name, :location, :beds
def initialize(name,location,beds)
@name = name
@location = location
@beds = beds
end
def add_patient(name,dob,gender,condition,medication)
add_record(Patient.new(name,dob,gender,condition,medication))
end
def add_employee(name,dob,gender,role,salary,password)
add_record(Employee.new(name,dob,gender,role,salary,password))
end
def add_record(data)
# puts data.inspect
@@records << data
# puts data
end
end
class Record
def initialize
#File.open('patient_records.txt', 'a') { |f| f.write("SMB\n")}
@@records = {}
end
def add_record
end
end
#
# a = Record.new
# a.write_record
h = Hospital.new("St.Marys","123 Slag Street",4)
puts h.add_patient("Sally","08/04/1989","F","AIDS","Time")
puts h.add_employee("Joe","08/04/1989","M","Janitor",350_000,"I like sex with Sally")
# puts Hospital.Records
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment