diff options
| author | mo khan <mo.khan@gmail.com> | 2020-03-28 16:03:21 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-03-28 16:03:21 -0600 |
| commit | d6e53f1fb5f6dae0e329db03689928fafacaac6c (patch) | |
| tree | 013af068484667dce1e2d37745a9ad002c5b9ef7 /assignments/final | |
| parent | 947c7356c9c135f0c52a9a5fb5859fd13d4b9af4 (diff) | |
Create ruby program to for module 3
Diffstat (limited to 'assignments/final')
| -rw-r--r-- | assignments/final/program.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/assignments/final/program.rb b/assignments/final/program.rb new file mode 100644 index 0000000..0cea58a --- /dev/null +++ b/assignments/final/program.rb @@ -0,0 +1,37 @@ +#!/usr/bin/env ruby + +require 'bundler/inline' + +gemfile do + source 'https://rubygems.org' + + gem 'pg' +end + +connection = PG.connect( + dbname: ENV.fetch('PGDBNAME', 'postgres'), + host: ENV.fetch('PGHOST', Pathname.pwd.join('tmp/sockets')) +) + +print "Patient Number: " +sql = <<~SQL +SELECT p.name AS p_name, c.name as c_name, n.name as n_name +FROM Patients p +INNER JOIN Care_centres c ON c.cid = p.care_centre_id +INNER JOIN Nurses n ON n.nid = c.nurse_charge_id +WHERE pid = $1; +SQL +patient_id = gets.to_i +connection.exec_params(sql, [patient_id]) do |result| + result.each do |row| + puts "Patient Name: #{row['p_name']}" + puts "Care Centre Name: #{row['c_name']}" + puts "Name of Nurse-in-Charge: #{row['n_name']}" + end +end +puts "Treatment ID | Treatment Name | Physician ID | Date" +connection.exec_params("SELECT * FROM Treatments WHERE patient_id = $1;", [patient_id]) do |treatments| + treatments.each do |x| + puts [x['tid'].ljust(12), x['treatment_name'].ljust(14), x['physician_id'].ljust(12), x['date']].join(' | ') + end +end |
