BookMD 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/BookMD-0.1.0.gem +0 -0
- data/BookMD-0.1.1.gem +0 -0
- data/BookMD-0.1.2.gem +0 -0
- data/BookMD.gemspec +5 -0
- data/lib/.DS_Store +0 -0
- data/lib/BookMD/version.rb +1 -1
- data/lib/BookMD.rb +4 -5
- data/lib/Gemfile +5 -1
- data/lib/Gemfile.lock +61 -1
- data/lib/appointments.txt +4 -0
- data/lib/bookMD2.rb +73 -77
- data/lib/patients.txt +254 -0
- data/lib/user.rb +62 -23
- metadata +76 -4
- data/lib/dr_class.rb +0 -10
- data/lib/table +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c27f6072e4989ed8443f6d1212fa58cefda5bdf153e38108f15422631972a7e2
|
|
4
|
+
data.tar.gz: 6ba981bb5cba6ec59a634f9ec0b761f24cd28443dbba9bf3d51447a8ef4d6381
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e38eb27bd781bf5c8375f301758c75c5835a30cb4f71d79465608fde967ea39b3083cf79e5719dfc3983f39a0c3c49ff9ad0636853539033508c9ceca925ff4d
|
|
7
|
+
data.tar.gz: 1e232bb3d6b3458b5335037ad85ad9805adacfd0959fd0141eab1d6e9989c73c6b567f580e1c1efff524d997b24b2617c4e6181e22011cb2437e80c1a6249e28
|
data/.DS_Store
CHANGED
|
Binary file
|
data/BookMD-0.1.0.gem
ADDED
|
Binary file
|
data/BookMD-0.1.1.gem
ADDED
|
Binary file
|
data/BookMD-0.1.2.gem
ADDED
|
Binary file
|
data/BookMD.gemspec
CHANGED
|
@@ -29,4 +29,9 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.add_dependency "tty-prompt", "~> 0.21.0"
|
|
30
30
|
spec.add_dependency "tty-box", "~> 0.5.0"
|
|
31
31
|
spec.add_dependency "tty-table", "~> 0.11.0"
|
|
32
|
+
spec.add_dependency "artii", "~> 2.1.2"
|
|
33
|
+
spec.add_dependency "jeweler", "~> 1.7.3"
|
|
34
|
+
spec.add_dependency "simplecov", "~> 0.9.0"
|
|
35
|
+
spec.add_dependency "rspec", "~> 3.1.0"
|
|
36
|
+
spec.add_dependency "fileutils", "~> 1.4.1"
|
|
32
37
|
end
|
data/lib/.DS_Store
CHANGED
|
Binary file
|
data/lib/BookMD/version.rb
CHANGED
data/lib/BookMD.rb
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
require_relative "BookMD/version"
|
|
2
2
|
require_relative "bookMD2.rb"
|
|
3
3
|
require_relative "user.rb"
|
|
4
|
+
require 'tty-prompt'
|
|
5
|
+
require 'colorize'
|
|
6
|
+
require 'fileutils'
|
|
7
|
+
require 'rubocop'
|
|
4
8
|
start
|
|
5
|
-
printer
|
|
6
|
-
# module BookMD
|
|
7
|
-
# class Error < StandardError; end
|
|
8
|
-
# # Your code goes here...
|
|
9
|
-
# end
|
data/lib/Gemfile
CHANGED
data/lib/Gemfile.lock
CHANGED
|
@@ -1,17 +1,73 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
+
addressable (2.4.0)
|
|
5
|
+
artii (2.1.2)
|
|
6
|
+
builder (3.2.4)
|
|
4
7
|
colorize (0.8.1)
|
|
8
|
+
descendants_tracker (0.0.4)
|
|
9
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
|
10
|
+
docile (1.3.2)
|
|
5
11
|
equatable (0.6.1)
|
|
12
|
+
faraday (0.9.2)
|
|
13
|
+
multipart-post (>= 1.2, < 3)
|
|
14
|
+
fileutils (1.4.1)
|
|
15
|
+
git (1.6.0)
|
|
16
|
+
rchardet (~> 1.8)
|
|
17
|
+
github_api (0.16.0)
|
|
18
|
+
addressable (~> 2.4.0)
|
|
19
|
+
descendants_tracker (~> 0.0.4)
|
|
20
|
+
faraday (~> 0.8, < 0.10)
|
|
21
|
+
hashie (>= 3.4)
|
|
22
|
+
mime-types (>= 1.16, < 3.0)
|
|
23
|
+
oauth2 (~> 1.0)
|
|
24
|
+
hashie (4.1.0)
|
|
25
|
+
highline (2.0.3)
|
|
26
|
+
jeweler (2.3.9)
|
|
27
|
+
builder
|
|
28
|
+
bundler
|
|
29
|
+
git (>= 1.2.5)
|
|
30
|
+
github_api (~> 0.16.0)
|
|
31
|
+
highline (>= 1.6.15)
|
|
32
|
+
nokogiri (>= 1.5.10)
|
|
33
|
+
psych
|
|
34
|
+
rake
|
|
35
|
+
rdoc
|
|
36
|
+
semver2
|
|
37
|
+
jwt (2.2.1)
|
|
38
|
+
mime-types (2.99.3)
|
|
39
|
+
mini_portile2 (2.4.0)
|
|
40
|
+
multi_json (1.14.1)
|
|
41
|
+
multi_xml (0.6.0)
|
|
42
|
+
multipart-post (2.1.1)
|
|
6
43
|
necromancer (0.5.1)
|
|
44
|
+
nokogiri (1.10.9)
|
|
45
|
+
mini_portile2 (~> 2.4.0)
|
|
46
|
+
oauth2 (1.4.4)
|
|
47
|
+
faraday (>= 0.8, < 2.0)
|
|
48
|
+
jwt (>= 1.0, < 3.0)
|
|
49
|
+
multi_json (~> 1.3)
|
|
50
|
+
multi_xml (~> 0.5)
|
|
51
|
+
rack (>= 1.2, < 3)
|
|
7
52
|
pastel (0.7.3)
|
|
8
53
|
equatable (~> 0.6)
|
|
9
54
|
tty-color (~> 0.5)
|
|
55
|
+
psych (3.1.0)
|
|
56
|
+
rack (2.2.2)
|
|
57
|
+
rake (13.0.1)
|
|
58
|
+
rchardet (1.8.0)
|
|
59
|
+
rdoc (6.2.1)
|
|
60
|
+
semver2 (3.4.2)
|
|
61
|
+
simplecov (0.18.5)
|
|
62
|
+
docile (~> 1.1)
|
|
63
|
+
simplecov-html (~> 0.11)
|
|
64
|
+
simplecov-html (0.12.2)
|
|
10
65
|
strings (0.1.8)
|
|
11
66
|
strings-ansi (~> 0.1)
|
|
12
67
|
unicode-display_width (~> 1.5)
|
|
13
68
|
unicode_utils (~> 1.4)
|
|
14
69
|
strings-ansi (0.2.0)
|
|
70
|
+
thread_safe (0.3.6)
|
|
15
71
|
tty-box (0.5.0)
|
|
16
72
|
pastel (~> 0.7.2)
|
|
17
73
|
strings (~> 0.1.6)
|
|
@@ -41,7 +97,11 @@ PLATFORMS
|
|
|
41
97
|
ruby
|
|
42
98
|
|
|
43
99
|
DEPENDENCIES
|
|
44
|
-
|
|
100
|
+
artii
|
|
101
|
+
colorize
|
|
102
|
+
fileutils
|
|
103
|
+
jeweler
|
|
104
|
+
simplecov
|
|
45
105
|
tty-box
|
|
46
106
|
tty-prompt
|
|
47
107
|
tty-table
|
data/lib/bookMD2.rb
CHANGED
|
@@ -1,107 +1,103 @@
|
|
|
1
|
+
|
|
1
2
|
require 'rubygems'
|
|
2
3
|
require 'tty-prompt'
|
|
3
4
|
require 'tty-reader'
|
|
4
5
|
require 'tty-table'
|
|
5
6
|
require 'tty-box'
|
|
7
|
+
require 'artii'
|
|
8
|
+
require 'colorize'
|
|
9
|
+
require 'rubocop'
|
|
6
10
|
prompt = TTY::Prompt.new
|
|
7
11
|
|
|
8
12
|
def drs_info
|
|
9
|
-
box = TTY::Box.frame(width:
|
|
10
|
-
"
|
|
13
|
+
box = TTY::Box.frame(width: 60, height: 20, align: :left) do
|
|
14
|
+
"Our team of doctors offer a comprehensive general practice. All have been practicing for over a decade in our community.
|
|
15
|
+
\nALL DOCTORS OFFER BULK BILLING. \nALL GPS ARE ABLE TO ASSIST WITH WORKCOVER AND TAC CONSULTATIONS.\n \nDr Gregor specialises and has a background in nutrition.\n \nDr. Helen Kouzmin specialises in neurology is a member of the royal australasian collage of physicians.\n \nDr Sade Weatley specialises in womens health and has 6 years of experience in delveries and birth related surgeries at Box Hill public hospital.\n \nPatrick Chan specialises in the treatment and management of chronic pain disorders"
|
|
11
16
|
end
|
|
12
|
-
drs = TTY::Table.new header: ['Dr. Gregor','Dr. Helen Kouzmin','Dr Kooray','Dr. Sade Weatley','Dr. Patrick Chan'], rows: [['Monday', 'Monday','-----','-----','Monday',], ['Tuesday', 'Tuesday','Tuesday','Tuesday','Tuesday'], ['Wednesday', 'Wednesday','Wednesday','-----','Wednesday'],['Thursday', 'Thursday','Thursday','-----','Thursday'],['Friday', 'Friday','Friday','Friday','Friday']]
|
|
17
|
+
drs = TTY::Table.new header: ['Dr. Gregor ','Dr. Helen Kouzmin','Dr Kooray','Dr. Sade Weatley','Dr. Patrick Chan'], rows: [['Monday 8.30, 2.00', 'Monday','-----','-----','Monday',], ['Tuesday', 'Tuesday','Tuesday','Tuesday','Tuesday'], ['Wednesday', 'Wednesday','Wednesday','-----','Wednesday'],['Thursday', 'Thursday','Thursday','-----','Thursday'],['Friday', 'Friday','Friday','Friday','Friday']]
|
|
13
18
|
# drs.render(:ascii)
|
|
14
|
-
|
|
15
|
-
puts box
|
|
16
|
-
puts drs.render(:ascii)
|
|
19
|
+
|
|
20
|
+
puts box.colorize(:color => :black, :background => :white)
|
|
21
|
+
puts drs.render(:ascii).colorize(:color => :black, :background => :white)
|
|
17
22
|
|
|
18
23
|
end
|
|
19
24
|
|
|
20
25
|
|
|
21
26
|
def day_select
|
|
22
|
-
|
|
23
|
-
prompt = TTY::Prompt.new
|
|
27
|
+
prompt = TTY::Prompt.new
|
|
24
28
|
day_choice = prompt.select("Select Appointment Day") do |menu|
|
|
25
|
-
menu.choice 'Monday'
|
|
26
|
-
menu.choice 'Tuesday'
|
|
27
|
-
menu.choice 'Wednesday'
|
|
28
|
-
menu.choice 'Thursday'
|
|
29
|
-
menu.choice 'Friday'
|
|
29
|
+
menu.choice 'Monday', 'Monday'
|
|
30
|
+
menu.choice 'Tuesday', 'Tuesday', disabled: '(no availabilities)'
|
|
31
|
+
menu.choice 'Wednesday', 'Wednesday', disabled: '(no availabilities)'
|
|
32
|
+
menu.choice 'Thursday', 'Thursday', disabled: '(no availabilities)'
|
|
33
|
+
menu.choice 'Friday', 'Friday', disabled: '(no availabilities)'
|
|
30
34
|
end
|
|
31
|
-
|
|
32
|
-
case
|
|
33
|
-
when day_choice == 'Monday'
|
|
34
|
-
dr_selection
|
|
35
|
-
mon_time_selection
|
|
36
|
-
end
|
|
35
|
+
return day_choice
|
|
37
36
|
end
|
|
38
37
|
|
|
39
38
|
|
|
39
|
+
|
|
40
40
|
def mon_time_selection
|
|
41
41
|
prompt = TTY::Prompt.new
|
|
42
|
-
choices = %w("8.30" "
|
|
43
|
-
time_choice = prompt.multi_select("Select time", choices)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
end
|
|
42
|
+
choices = %w("8.30" "2.00")
|
|
43
|
+
time_choice = prompt.multi_select("Select time", choices)
|
|
44
|
+
return time_choice
|
|
45
|
+
end
|
|
47
46
|
|
|
48
47
|
|
|
49
48
|
def dr_selection
|
|
50
49
|
prompt = TTY::Prompt.new
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
def start
|
|
61
|
-
prompt = TTY::Prompt.new
|
|
62
|
-
system("clear")
|
|
63
|
-
first_menu = prompt.select("welcome to bookMD") do |menu|
|
|
64
|
-
menu.choice 'book_appointment'
|
|
65
|
-
menu.choice 'manage_appointments'
|
|
50
|
+
dr = prompt.select("Select Dr") do |menu|
|
|
51
|
+
menu.choice 'Dr Gregor', 'Dr. Gregor'
|
|
52
|
+
menu.choice 'Dr. Helen', 'Dr. Helen', disabled: '(no consultations available)'
|
|
53
|
+
menu.choice 'Dr. Kooray', 'Dr. Kooray', disabled: '(no consultations available)'
|
|
54
|
+
menu.choice 'Dr. Weatley', 'Dr. Weatley', disabled: '(no consultations available)'
|
|
55
|
+
menu.choice 'Dr. Chan', 'Dr. Chan', disabled: '(no consultations available)'
|
|
66
56
|
end
|
|
67
|
-
return
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
57
|
+
return dr
|
|
58
|
+
end
|
|
59
|
+
def start
|
|
60
|
+
system("clear")
|
|
61
|
+
start_title = TTY::Box.frame(width: 50, height: 21, align: :left) do
|
|
62
|
+
"Welcome to BOOKMD\n" "\nTo view dr availability and book an appointment and type 1 and press ENTER. \n \nTo manage and view your appointmrnts type 2 and press ENTER. \n \nTo make an appointment over the phone please call our rooms on 12345893.\n \nIF YOU ARE EXPERIENCING A MEDICAL EMERGENCY DIAL 000.\n \nIF YOU ARE EXPERIENCING FLU LIKE SYMPTOMS: HEADACHE, FEVER, ACHING, COUGHING, RESPATORY ISSUES MUST CALL THE PRACTICE PRIOR TO ATTENDING.\n \nMORE INFORMATION IS AVAILABLE AT THE COVID19 HOTLINE "
|
|
63
|
+
end
|
|
64
|
+
puts start_title.colorize(:color => :black, :background => :white)
|
|
65
|
+
|
|
66
|
+
puts "1. BOOK APPOINTMENT".colorize(:yellow)
|
|
67
|
+
puts "2. VIEW YOUR APPOINTMENTS".colorize(:yellow)
|
|
68
|
+
puts "3. DELETE APPOINTMENT".colorize(:yellow)
|
|
69
|
+
puts " > ".colorize(:yellow)
|
|
70
|
+
|
|
71
|
+
selection = gets.chomp
|
|
72
|
+
case
|
|
73
|
+
when selection == "1"
|
|
74
|
+
system("clear")
|
|
75
|
+
drs_info
|
|
76
|
+
new_appointment
|
|
77
|
+
printer
|
|
78
|
+
appointment_printer
|
|
79
|
+
appointment_message
|
|
80
|
+
sleep(10)
|
|
81
|
+
start
|
|
82
|
+
when selection == "2"
|
|
83
|
+
system("clear")
|
|
84
|
+
appointment_printer
|
|
85
|
+
appointment_message
|
|
86
|
+
sleep(10)
|
|
87
|
+
start
|
|
88
|
+
when selection == "3"
|
|
89
|
+
system("clear")
|
|
90
|
+
delete_appointment
|
|
91
|
+
puts "your appointment was deleted returning home in 10 seconds"
|
|
92
|
+
sleep(10)
|
|
93
|
+
start
|
|
94
|
+
end
|
|
90
95
|
end
|
|
91
|
-
|
|
96
|
+
def appointment_message
|
|
97
|
+
confirm = TTY::Box.frame(width: 30, height: 10, align: :left) do
|
|
98
|
+
"IF YOU NEED TO CANCEL YOUR APPOINTMENT ON THE SAME DAY OF YOUR APPOINTMENT PLEASE CALL THE ROOMS TO DO SO".colorize(:color => :black, :background =>:white)
|
|
99
|
+
end
|
|
100
|
+
puts confirm
|
|
101
|
+
|
|
92
102
|
end
|
|
93
103
|
|
|
94
|
-
def keywords
|
|
95
|
-
@your_appointments.keywords
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
print @your_appointments
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
data/lib/patients.txt
CHANGED
|
@@ -40,3 +40,257 @@ N
|
|
|
40
40
|
|
|
41
41
|
#<Patient:0x00007fb94f01e5e0>
|
|
42
42
|
|
|
43
|
+
{}
|
|
44
|
+
|
|
45
|
+
{}
|
|
46
|
+
|
|
47
|
+
{}
|
|
48
|
+
|
|
49
|
+
n
|
|
50
|
+
|
|
51
|
+
{:Name=>"OOOO", :Phone=>"OOOO", :Email=>"OOOO", :Travel=>"N"}
|
|
52
|
+
|
|
53
|
+
{:Name=>"GEORGIA", :Phone=>"0415357444", :Email=>"GEORGIA.Z.LENG@GMAIL.COM", :Travel=>"N"}
|
|
54
|
+
|
|
55
|
+
{:Name=>"hh", :Phone=>"hh", :Email=>"hh", :Travel=>"n"}
|
|
56
|
+
|
|
57
|
+
{:Name=>"HELLO TEST", :Phone=>"HELLO TEST", :Email=>"HELLO TEST", :Travel=>"N"}
|
|
58
|
+
|
|
59
|
+
{:Name=>"lima", :Phone=>"lima", :Email=>"lima", :Travel=>"n"}
|
|
60
|
+
|
|
61
|
+
{:Name=>"ggg", :Phone=>"ggg", :Email=>"ggg", :Travel=>"n"}
|
|
62
|
+
|
|
63
|
+
{:Name=>"aaaa", :Phone=>"aaa", :Email=>"aaa", :Travel=>"n"}
|
|
64
|
+
|
|
65
|
+
{:Name=>"sss", :Phone=>"sss", :Email=>"sss", :Travel=>"n"}
|
|
66
|
+
|
|
67
|
+
{:Name=>"uuu", :Phone=>"uuu", :Email=>"uu", :Travel=>"n"}
|
|
68
|
+
|
|
69
|
+
{:Name=>"ffff", :Phone=>"ffff", :Email=>"fff", :Travel=>"n"}
|
|
70
|
+
|
|
71
|
+
{:Name=>"555", :Phone=>"555", :Email=>"555", :Travel=>"n"}
|
|
72
|
+
|
|
73
|
+
{:Name=>"gggg", :Phone=>"ggg", :Email=>"ggg", :Travel=>"n"}
|
|
74
|
+
|
|
75
|
+
{:Name=>"kkkkk", :Phone=>"hhhh", :Email=>" bbbb", :Travel=>"n"}
|
|
76
|
+
|
|
77
|
+
{:Name=>"vvvv", :Phone=>"vvvv", :Email=>"vvvv", :Travel=>"n"}
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
{:Name=>"oop", :Phone=>"oop", :Email=>"oop", :Travel=>"n"}
|
|
86
|
+
|
|
87
|
+
{:Name=>"poo", :Phone=>"poo", :Email=>"poo", :Travel=>"n"}
|
|
88
|
+
|
|
89
|
+
{:Name=>"hill", :Phone=>"hill", :Email=>"lll", :Travel=>"n"}
|
|
90
|
+
|
|
91
|
+
{:Name=>"dd", :Phone=>"dd", :Email=>"dd", :Travel=>"n"}
|
|
92
|
+
|
|
93
|
+
{:Name=>"fefe", :Phone=>"fefe", :Email=>"fefe", :Travel=>"n"}
|
|
94
|
+
|
|
95
|
+
{:Name=>"gtg", :Phone=>"gtg", :Email=>"gtg", :Travel=>"n"}
|
|
96
|
+
|
|
97
|
+
{:Name=>"lol", :Phone=>"lol", :Email=>"lol", :Travel=>"n"}
|
|
98
|
+
|
|
99
|
+
{:Name=>"dede", :Phone=>"dede", :Email=>"dede", :Travel=>"n"}
|
|
100
|
+
|
|
101
|
+
{:Name=>"swsw", :Phone=>"swsw", :Email=>"swsw", :Travel=>"n"}
|
|
102
|
+
|
|
103
|
+
{:Name=>"sx", :Phone=>"sx", :Email=>"sx", :Travel=>"n"}
|
|
104
|
+
|
|
105
|
+
{:Name=>"l", :Phone=>"l", :Email=>"l", :Travel=>"n"}
|
|
106
|
+
|
|
107
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
108
|
+
|
|
109
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
110
|
+
|
|
111
|
+
{:Name=>"aa", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
112
|
+
|
|
113
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
114
|
+
|
|
115
|
+
{:Name=>"fuck you", :Phone=>"sad", :Email=>"no", :Travel=>"n"}
|
|
116
|
+
|
|
117
|
+
{:Name=>"HELLO BIG TEST", :Phone=>"HELLO BIG TEST", :Email=>"HELLO BIT ", :Travel=>"N"}
|
|
118
|
+
|
|
119
|
+
{:Name=>"hjhj", :Phone=>"hjhj", :Email=>"hjhj", :Travel=>"n"}
|
|
120
|
+
|
|
121
|
+
{:Name=>"HELLO", :Phone=>"HELLo", :Email=>"HELLo", :Travel=>"n"}
|
|
122
|
+
|
|
123
|
+
{:Name=>"GER", :Phone=>"GGG", :Email=>"GGG", :Travel=>"N"}
|
|
124
|
+
|
|
125
|
+
{:Name=>"rr", :Phone=>"rr", :Email=>"rr", :Travel=>"n"}
|
|
126
|
+
|
|
127
|
+
{:Name=>"y", :Phone=>"y", :Email=>"y", :Travel=>"n"}
|
|
128
|
+
|
|
129
|
+
{:Name=>"gege", :Phone=>"gege", :Email=>"gege", :Travel=>"n"}
|
|
130
|
+
|
|
131
|
+
{:Name=>"dedededede", :Phone=>"edededed", :Email=>"ededed", :Travel=>"n"}
|
|
132
|
+
|
|
133
|
+
{:Name=>"juju", :Phone=>"juju", :Email=>"juju", :Travel=>"n"}
|
|
134
|
+
|
|
135
|
+
{:Name=>"ss", :Phone=>"ss", :Email=>"ss", :Travel=>"n"}
|
|
136
|
+
|
|
137
|
+
{:Name=>"gorgggi", :Phone=>"gooog", :Email=>"ggg", :Travel=>"n"}
|
|
138
|
+
|
|
139
|
+
{:Name=>"gyyyyy", :Phone=>"gyyyy", :Email=>"gyyy", :Travel=>"n"}
|
|
140
|
+
|
|
141
|
+
{:Name=>"iii", :Phone=>"iii", :Email=>"ii", :Travel=>"n"}
|
|
142
|
+
|
|
143
|
+
{:Name=>"f", :Phone=>"f", :Email=>"f", :Travel=>"n"}
|
|
144
|
+
|
|
145
|
+
{:Name=>"p", :Phone=>"p", :Email=>"p", :Travel=>"n"}
|
|
146
|
+
|
|
147
|
+
{:Name=>"dddeeeeedd", :Phone=>"deeeed", :Email=>"deed", :Travel=>"n"}
|
|
148
|
+
|
|
149
|
+
{:Name=>"georgia", :Phone=>"0415357444", :Email=>"georgia.z.leng@gmaiol.com", :Travel=>"N"}
|
|
150
|
+
|
|
151
|
+
{:Name=>"o", :Phone=>"o", :Email=>"o", :Travel=>"n"}
|
|
152
|
+
|
|
153
|
+
{:Name=>"hi", :Phone=>"hi", :Email=>"hi", :Travel=>"n"}
|
|
154
|
+
|
|
155
|
+
{:Name=>"hi", :Phone=>"hi", :Email=>"hi", :Travel=>"n"}
|
|
156
|
+
|
|
157
|
+
{:Name=>"aaa", :Phone=>"aaa", :Email=>"aa", :Travel=>"n"}
|
|
158
|
+
|
|
159
|
+
{:Name=>"j", :Phone=>"j", :Email=>"j", :Travel=>"n"}
|
|
160
|
+
|
|
161
|
+
{:Name=>"ff", :Phone=>"fff", :Email=>"fff", :Travel=>"n"}
|
|
162
|
+
|
|
163
|
+
{:Name=>"k", :Phone=>"k", :Email=>"k", :Travel=>"n"}
|
|
164
|
+
|
|
165
|
+
{:Name=>"fff", :Phone=>"fff", :Email=>"fff", :Travel=>"n"}
|
|
166
|
+
|
|
167
|
+
{:Name=>"ge", :Phone=>"ge", :Email=>"ge", :Travel=>"n"}
|
|
168
|
+
|
|
169
|
+
{:Name=>"d", :Phone=>"d", :Email=>"d", :Travel=>"n"}
|
|
170
|
+
|
|
171
|
+
{:Name=>"f", :Phone=>"f", :Email=>"f", :Travel=>"n"}
|
|
172
|
+
|
|
173
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
174
|
+
|
|
175
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
176
|
+
|
|
177
|
+
{:Name=>"it might actuall", :Phone=>"work", :Email=>"pllls", :Travel=>"N"}
|
|
178
|
+
|
|
179
|
+
{:Name=>"s", :Phone=>"s", :Email=>"s", :Travel=>"n"}
|
|
180
|
+
|
|
181
|
+
{:Name=>"sad", :Phone=>"aad", :Email=>"ddd", :Travel=>"n"}
|
|
182
|
+
|
|
183
|
+
{:Name=>"z", :Phone=>"z", :Email=>"z", :Travel=>"n"}
|
|
184
|
+
|
|
185
|
+
{:Name=>"q", :Phone=>"q", :Email=>"q", :Travel=>"n"}
|
|
186
|
+
|
|
187
|
+
{:Name=>"we", :Phone=>"we", :Email=>"we", :Travel=>"n"}
|
|
188
|
+
|
|
189
|
+
{:Name=>"geor", :Phone=>"d", :Email=>"d", :Travel=>"n"}
|
|
190
|
+
|
|
191
|
+
{:Name=>"georgia", :Phone=>"0o3235454", :Email=>"georgia.z.leng@gmail.com", :Travel=>"N"}
|
|
192
|
+
|
|
193
|
+
{:Name=>"s", :Phone=>"s", :Email=>"s", :Travel=>"n"}
|
|
194
|
+
|
|
195
|
+
{:Name=>"s", :Phone=>"s", :Email=>"s", :Travel=>"n"}
|
|
196
|
+
|
|
197
|
+
{:Name=>"sss", :Phone=>"sss", :Email=>"sss", :Travel=>"n"}
|
|
198
|
+
|
|
199
|
+
{:Name=>"fsfs", :Phone=>"fsfs", :Email=>"fsfs", :Travel=>"n"}
|
|
200
|
+
|
|
201
|
+
{:Name=>"ss", :Phone=>"s", :Email=>"s", :Travel=>"n"}
|
|
202
|
+
|
|
203
|
+
{:Name=>"", :Phone=>"s", :Email=>"", :Travel=>"n"}
|
|
204
|
+
|
|
205
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
206
|
+
|
|
207
|
+
{:Name=>"", :Phone=>"", :Email=>"", :Travel=>"n"}
|
|
208
|
+
|
|
209
|
+
{:Name=>"", :Phone=>"", :Email=>"", :Travel=>""}
|
|
210
|
+
|
|
211
|
+
{:Name=>" k km", :Phone=>"lm,l", :Email=>"l,l,", :Travel=>"n"}
|
|
212
|
+
|
|
213
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
214
|
+
|
|
215
|
+
{:Name=>"ss", :Phone=>"ss", :Email=>"ss", :Travel=>"n"}
|
|
216
|
+
|
|
217
|
+
{:Name=>"w", :Phone=>"w", :Email=>"w", :Travel=>"n"}
|
|
218
|
+
|
|
219
|
+
{:Name=>"qq", :Phone=>"qq", :Email=>"qq", :Travel=>"n"}
|
|
220
|
+
|
|
221
|
+
{:Name=>"s", :Phone=>"s", :Email=>"s", :Travel=>"n"}
|
|
222
|
+
|
|
223
|
+
{:Name=>"d", :Phone=>"d", :Email=>"d", :Travel=>"n"}
|
|
224
|
+
|
|
225
|
+
{:Name=>"s", :Phone=>"s", :Email=>"s", :Travel=>"s"}
|
|
226
|
+
|
|
227
|
+
{:Name=>"hihihi", :Phone=>"hihihih", :Email=>"hihihi", :Travel=>"m"}
|
|
228
|
+
|
|
229
|
+
{:Name=>"gege", :Phone=>"gege", :Email=>"gege", :Travel=>"n"}
|
|
230
|
+
|
|
231
|
+
{:Name=>"GG", :Phone=>"12345", :Email=>"gg@g.com", :Travel=>"n"}
|
|
232
|
+
|
|
233
|
+
{:Name=>"Georgia", :Phone=>"0202020202", :Email=>"hfkha", :Travel=>"n"}
|
|
234
|
+
|
|
235
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
236
|
+
|
|
237
|
+
{:Name=>"a", :Phone=>"a", :Email=>"a", :Travel=>"n"}
|
|
238
|
+
|
|
239
|
+
{:Name=>"Georgia", :Phone=>"0000", :Email=>"gzln@gmail.com", :Travel=>"M"}
|
|
240
|
+
|
|
241
|
+
{:Name=>"hi", :Phone=>"fe", :Email=>"fe", :Travel=>"n"}
|
|
242
|
+
|
|
243
|
+
{:Name=>"s", :Phone=>"s", :Email=>"s", :Travel=>"s"}
|
|
244
|
+
|
|
245
|
+
{:Name=>"q", :Phone=>"q", :Email=>"q", :Travel=>"q"}
|
|
246
|
+
|
|
247
|
+
{:Name=>"s", :Phone=>"s", :Email=>"s", :Travel=>"s"}
|
|
248
|
+
|
|
249
|
+
{:Name=>"e", :Phone=>"e", :Email=>"e", :Travel=>"e"}
|
|
250
|
+
|
|
251
|
+
{:Name=>"HI", :Phone=>"HI", :Email=>"HI", :Travel=>"N"}
|
|
252
|
+
|
|
253
|
+
{:Name=>"g", :Phone=>"g", :Email=>"g", :Travel=>"n"}
|
|
254
|
+
|
|
255
|
+
{:Name=>"g", :Phone=>"g", :Email=>"g", :Travel=>"n"}
|
|
256
|
+
|
|
257
|
+
{:Name=>"f", :Phone=>"f", :Email=>"f", :Travel=>"n"}
|
|
258
|
+
|
|
259
|
+
{:Name=>"Catherine", :Phone=>"0", :Email=>"c", :Travel=>"n"}
|
|
260
|
+
|
|
261
|
+
{:Name=>"georgia", :Phone=>"georgia", :Email=>"georgia", :Travel=>"N"}
|
|
262
|
+
|
|
263
|
+
{:Name=>"d", :Phone=>"d", :Email=>"d", :Travel=>"n"}
|
|
264
|
+
|
|
265
|
+
{:Name=>"r", :Phone=>"r", :Email=>"r", :Travel=>"n"}
|
|
266
|
+
|
|
267
|
+
{:Name=>"h", :Phone=>"h", :Email=>"h", :Travel=>"n"}
|
|
268
|
+
|
|
269
|
+
{:Name=>"i", :Phone=>"i", :Email=>"i", :Travel=>"n"}
|
|
270
|
+
|
|
271
|
+
{:Name=>"f", :Phone=>"f", :Email=>"f", :Travel=>"n"}
|
|
272
|
+
|
|
273
|
+
{:Name=>"h", :Phone=>"h", :Email=>"h", :Travel=>"n"}
|
|
274
|
+
|
|
275
|
+
{:Name=>"g", :Phone=>"g", :Email=>"g", :Travel=>"n"}
|
|
276
|
+
|
|
277
|
+
{:Name=>"f", :Phone=>"f", :Email=>"f", :Travel=>"n"}
|
|
278
|
+
|
|
279
|
+
{:Name=>"h", :Phone=>"h", :Email=>"h", :Travel=>"n"}
|
|
280
|
+
|
|
281
|
+
{:Name=>"j", :Phone=>"j", :Email=>"j", :Travel=>"m"}
|
|
282
|
+
|
|
283
|
+
{:Name=>"j", :Phone=>"j", :Email=>"j", :Travel=>"n"}
|
|
284
|
+
|
|
285
|
+
{:Name=>"hi", :Phone=>"hji", :Email=>"hi", :Travel=>"kj"}
|
|
286
|
+
|
|
287
|
+
{:Name=>"f", :Phone=>"f", :Email=>"f", :Travel=>"n"}
|
|
288
|
+
|
|
289
|
+
{:Name=>"h", :Phone=>"h", :Email=>"h", :Travel=>"h"}
|
|
290
|
+
|
|
291
|
+
{:Name=>"h", :Phone=>"h", :Email=>"h", :Travel=>"n"}
|
|
292
|
+
|
|
293
|
+
{:Name=>"f", :Phone=>"f", :Email=>"f", :Travel=>"f"}
|
|
294
|
+
|
|
295
|
+
{:Name=>"ds", :Phone=>"d", :Email=>"d", :Travel=>"n"}
|
|
296
|
+
|
data/lib/user.rb
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
class Patient
|
|
2
3
|
attr_accessor :name, :phone, :email, :travel
|
|
3
|
-
def initialize
|
|
4
|
+
def initialize(name, phone, email, travel)
|
|
4
5
|
@name = name
|
|
5
6
|
@phone = phone
|
|
6
7
|
@email = email
|
|
7
8
|
@travel = travel
|
|
8
9
|
end
|
|
10
|
+
self
|
|
9
11
|
end
|
|
10
|
-
|
|
11
|
-
|
|
12
12
|
def make_patient #this method makes a patient from user input in terminal
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
new_patient = Patient.new(:name, :phone, :email, :travel)
|
|
14
|
+
patients = {}
|
|
15
|
+
patients.store(:new_patient,())
|
|
16
|
+
print "Please answer each prompt and press ENTER\n".colorize(:yellow)
|
|
15
17
|
print "Name: "
|
|
16
18
|
@name = gets.chomp
|
|
17
19
|
print "Phone: "
|
|
@@ -20,30 +22,67 @@ print "Name: "
|
|
|
20
22
|
@email = gets.chomp
|
|
21
23
|
print "have you been overseas in the last two weeks or in close contact with someone who has? type Y or N: "
|
|
22
24
|
@travel = gets.chomp
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
{
|
|
26
|
+
'Name': @name,
|
|
27
|
+
'Phone': @phone,
|
|
28
|
+
'Email': @email,
|
|
29
|
+
'Travel': @travel
|
|
30
|
+
}
|
|
30
31
|
end
|
|
31
|
-
|
|
32
|
-
def printer(make_patient) #this method takes the patient from make_patient method and adds it to txt file
|
|
32
|
+
def printer #this method takes the patient from make_patient method and adds it to txt file
|
|
33
33
|
separator = ' '
|
|
34
34
|
File.open("patients.txt","a+") do |f| #flag
|
|
35
|
-
|
|
36
35
|
f.puts(make_patient)
|
|
37
36
|
f.puts(separator)
|
|
38
|
-
|
|
37
|
+
# puts patients
|
|
39
38
|
end
|
|
39
|
+
end
|
|
40
|
+
class Appointments
|
|
41
|
+
attr_accessor :dr, :day_choice, :time_choice
|
|
42
|
+
def initialize(dr, day_choice, time_choice)
|
|
43
|
+
@dr #= dr_selection
|
|
44
|
+
@day_choice #= day_select
|
|
45
|
+
@time_choice #= mon_time_selection
|
|
40
46
|
end
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
self
|
|
48
|
+
end
|
|
49
|
+
def new_appointment
|
|
50
|
+
the_appointment = Appointments.new(:dr, :day_choice, :time_choice)
|
|
51
|
+
appointments = {}
|
|
52
|
+
appointments.store(:the_appointment,())
|
|
53
|
+
@dr = dr_selection
|
|
54
|
+
@day_choice = day_select
|
|
55
|
+
@time_choice = mon_time_selection
|
|
56
|
+
#TODO: if you are using symbols as hash keys then you don't need the quotation marks
|
|
57
|
+
new_appointment = {
|
|
58
|
+
dr: @dr,
|
|
59
|
+
day_choice: @day_choice,
|
|
60
|
+
time_choice: @time_choice,
|
|
61
|
+
}
|
|
47
62
|
|
|
63
|
+
File.open("appointments.txt","a+") do |f| #flag
|
|
64
|
+
f.puts("Dr: #{new_appointment[:dr]}")
|
|
65
|
+
f.puts("Day: #{new_appointment[:day_choice]}")
|
|
66
|
+
f.puts("Time: #{new_appointment[:time_choice]}")
|
|
67
|
+
f.puts("\n")
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
#TODO: Modify this to print whatever you like - this will just read the file
|
|
71
|
+
def appointment_printer
|
|
72
|
+
puts("\n\n")
|
|
73
|
+
puts "These are your upcoming appointments:\n"
|
|
74
|
+
File.open("appointments.txt").each do |line|
|
|
75
|
+
puts line
|
|
76
|
+
end
|
|
77
|
+
end
|
|
48
78
|
|
|
49
79
|
|
|
80
|
+
def delete_appointment
|
|
81
|
+
File.open("appointments.txt","w") do |out_file|
|
|
82
|
+
File.foreach("appointments.txt") do |line|
|
|
83
|
+
out_file.puts line unless line =~ /First/
|
|
84
|
+
File.close
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
# FileUtils.mv()
|
|
88
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: BookMD
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- GorginZ
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-03-
|
|
11
|
+
date: 2020-03-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: tty-prompt
|
|
@@ -52,6 +52,76 @@ dependencies:
|
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: 0.11.0
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: artii
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 2.1.2
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: 2.1.2
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: jeweler
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 1.7.3
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 1.7.3
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: simplecov
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: 0.9.0
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: 0.9.0
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: rspec
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: 3.1.0
|
|
104
|
+
type: :runtime
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: 3.1.0
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: fileutils
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: 1.4.1
|
|
118
|
+
type: :runtime
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: 1.4.1
|
|
55
125
|
description: Online appointment booker
|
|
56
126
|
email:
|
|
57
127
|
- georgia.z.leng@gmail.com
|
|
@@ -63,6 +133,9 @@ files:
|
|
|
63
133
|
- ".gitignore"
|
|
64
134
|
- ".rspec"
|
|
65
135
|
- ".travis.yml"
|
|
136
|
+
- BookMD-0.1.0.gem
|
|
137
|
+
- BookMD-0.1.1.gem
|
|
138
|
+
- BookMD-0.1.2.gem
|
|
66
139
|
- BookMD.gemspec
|
|
67
140
|
- CODE_OF_CONDUCT.md
|
|
68
141
|
- Gemfile
|
|
@@ -77,10 +150,9 @@ files:
|
|
|
77
150
|
- lib/Gemfile
|
|
78
151
|
- lib/Gemfile.lock
|
|
79
152
|
- lib/README.md
|
|
153
|
+
- lib/appointments.txt
|
|
80
154
|
- lib/bookMD2.rb
|
|
81
|
-
- lib/dr_class.rb
|
|
82
155
|
- lib/patients.txt
|
|
83
|
-
- lib/table
|
|
84
156
|
- lib/user.rb
|
|
85
157
|
homepage: https://github.com/GorginZ/BookMD/tree/master/lib
|
|
86
158
|
licenses:
|
data/lib/dr_class.rb
DELETED
data/lib/table
DELETED
|
File without changes
|