Skip to content

Instantly share code, notes, and snippets.

@mcasey8540
Created October 14, 2012 06:24
Show Gist options
  • Select an option

  • Save mcasey8540/3887600 to your computer and use it in GitHub Desktop.

Select an option

Save mcasey8540/3887600 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}"
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
"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
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)
@@records << {:record_id => data, :name => name, :gender => }
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")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment