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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6170956a00e5e543ce4517e6c4bdc7d82449f842ff89a61c2694466b48c407bf
4
- data.tar.gz: 67631bf7c1b070e24fc949f99e6dc141f971bafb0fa7832c94ffb57c810d7042
3
+ metadata.gz: c27f6072e4989ed8443f6d1212fa58cefda5bdf153e38108f15422631972a7e2
4
+ data.tar.gz: 6ba981bb5cba6ec59a634f9ec0b761f24cd28443dbba9bf3d51447a8ef4d6381
5
5
  SHA512:
6
- metadata.gz: 9387d2ca7eb24d1cdc9892faeaba6a1e0270c59043f2f1697323cb315596174418d7420687e7098b86214b3a5699e4aaa603cb407803ec9a8f1cced326615f9e
7
- data.tar.gz: cc78eaa5165a205a259584131b276c3405437799bcd2ef43a3cf7273b2bffe5e14eee18a2bc224db2f1291219fd7afd0b7826111a54e0554de9f8e2ff563e63e
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
@@ -1,3 +1,3 @@
1
1
  module BookMD
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
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
@@ -8,5 +8,9 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
8
8
  gem "tty-prompt"
9
9
  gem "tty-table"
10
10
  gem "tty-box"
11
+ gem "colorize"
12
+ gem "artii"
13
+ gem "simplecov"
14
+ gem "jeweler"
15
+ gem "fileutils"
11
16
 
12
- gem "colorize", "~> 0.8.1"
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
- colorize (~> 0.8.1)
100
+ artii
101
+ colorize
102
+ fileutils
103
+ jeweler
104
+ simplecov
45
105
  tty-box
46
106
  tty-prompt
47
107
  tty-table
@@ -0,0 +1,4 @@
1
+ Dr: Dr. Gregor
2
+ Day: Monday
3
+ Time: ["\"8.30\""]
4
+
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: 30, height: 10, align: :center) do
10
- "info about docs specialisations etc"
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
- puts "availability for all doctors"
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" "9.00")
43
- time_choice = prompt.multi_select("Select time", choices)
44
- # return time_choice
45
- puts time_choice
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
- choices = %w('Dr.Gregor' 'Dr.Kouzmin' 'Dr.Kooray' 'Dr.Weatley' 'Dr.Chan')
52
- dr_choice = prompt.multi_select("Select time", choices)
53
- # return time_choice
54
-
55
- return dr_choice
56
- end
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 first_menu
68
- end
69
-
70
-
71
- start
72
- case
73
- when first_menu = 'book_appointment'
74
- drs_info
75
- day_select
76
- when first_menu = 'manage_appointments'
77
- puts "current appointments"
78
- end
79
-
80
-
81
-
82
- class Appointments
83
- def initialize
84
- @your_appointments = {}
85
- end
86
-
87
- def add(key_value)
88
- key_value.each do |key, value|
89
- @your_appointments[key] = value
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
- self
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
- class Patient
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
- patients = {}
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
- patients = Patient.new #{
24
- # 'Name': name,
25
- # 'Phone': phone,
26
- # 'Email': email,
27
- # 'Travel': travel
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
- p printer(make_patient)
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.2
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-18 00:00:00.000000000 Z
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
@@ -1,10 +0,0 @@
1
- class Dr
2
-
3
-
4
-
5
-
6
-
7
-
8
- end
9
-
10
- if appointment [] nil then +1 /occupy??
data/lib/table DELETED
File without changes