nota_nuc 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +48 -0
  5. data/README.md +41 -0
  6. data/Rakefile +5 -0
  7. data/db/Quarrier.rb +430 -0
  8. data/db/create_db_Penrhyn.rb +186 -0
  9. data/features/commands.feature +119 -0
  10. data/features/cucumber_LICENCE +22 -0
  11. data/features/offline.feature +65 -0
  12. data/features/passwords.feature +37 -0
  13. data/features/step_definitions/command_steps.rb +142 -0
  14. data/features/step_definitions/offline_steps.rb +211 -0
  15. data/features/step_definitions/password_steps.rb +45 -0
  16. data/images/arrowleft_image.png +0 -0
  17. data/images/arrowright_image.png +0 -0
  18. data/images/arrowright_imageone.png +0 -0
  19. data/images/arrowright_imagetwo.png +0 -0
  20. data/images/blue_light.png +0 -0
  21. data/images/error_symbol.png +0 -0
  22. data/images/gift_glow2.png +0 -0
  23. data/images/gift_nonglow2.png +0 -0
  24. data/images/gift_nonglow2_bottom.png +0 -0
  25. data/images/green_light.png +0 -0
  26. data/images/key_glow.png +0 -0
  27. data/images/key_nonglow.png +0 -0
  28. data/images/lock_image.png +0 -0
  29. data/images/new_slate_icon.png +0 -0
  30. data/images/pencil_glow image.png +0 -0
  31. data/images/pencil_glow_image_red.png +0 -0
  32. data/images/pencil_nonglow.png +0 -0
  33. data/images/red_light.png +0 -0
  34. data/images/settings_icon.png +0 -0
  35. data/images/typing_image.png +0 -0
  36. data/images/updating_image.png +0 -0
  37. data/images/yellow_light.png +0 -0
  38. data/lib/Billboard_module.rb +372 -0
  39. data/lib/Exercitus_romanorum.rb +572 -0
  40. data/lib/error_choose_a_slate.rb +20 -0
  41. data/lib/final_eye.rb +777 -0
  42. data/lib/nota_nuc.rb +5 -0
  43. data/lib/nota_nuc/version.rb +3 -0
  44. data/log/history.log +3 -0
  45. data/log/slate.log +3 -0
  46. data/nota_nuc.gemspec +36 -0
  47. metadata +196 -0
@@ -0,0 +1,211 @@
1
+ require_relative '../../db/Quarrier.rb'
2
+ include Quarrier
3
+ require 'sqlite3'
4
+ require 'test/unit'
5
+ include Test::Unit::Assertions
6
+
7
+
8
+
9
+ db = SQLite3::Database.open "db/Penrhyn.db"
10
+
11
+
12
+
13
+ Given /^A user wants to switch to another slate$/ do
14
+ #make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
15
+ sql = db.execute "SELECT COUNT(*) FROM slates"
16
+ resultstr = sql.join("")
17
+ resultnum = resultstr.to_i
18
+ assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
19
+ sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
20
+ num_viewed = sql2.length
21
+ assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
22
+ end
23
+
24
+ Then /^A user clicks the (\w+) arrow$/ do |direction|
25
+ direc = direction.to_s
26
+ if direc == "right"
27
+ sql = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
28
+ first_view = sql.join("")
29
+ sql2 = db.execute "SELECT slatename FROM slates"
30
+ @index_of_view = sql2.index "#{first_view}"
31
+ if sql2.last == "#{first_view}"
32
+ nextindex = 0
33
+ else
34
+ nextindex = @index_of_view.to_i + 1
35
+ end
36
+ next_slatename = sql2[nextindex]
37
+ switch_maintext_R
38
+ sql3 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
39
+ next_view = sql3.join("")
40
+ assert_equal( next_view, next_slatename, "The next viewed slatename should be #{next_slatename} but was found to be #{next_view}" )
41
+ elsif direc == "left"
42
+ sql = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
43
+ first_view = sql.join("")
44
+ sql2 = db.execute "SELECT slatename FROM slates"
45
+ index_of_view = sql2.index"#{first_view}"
46
+ if sql2.first == "#{first_view}"
47
+ previousindex = -1
48
+ else
49
+ previousindex = index_of_view - 1
50
+ end
51
+ previous_slatename = sql2[previousindex]
52
+ switch_maintext_L
53
+ sql3 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
54
+ previous_view = sql3.join("")
55
+ assert_equal( next_view, previous_slatename, "The next viewed slatename should be #{next_slatename} but was found to be #{next_view}" )
56
+ else
57
+ assert_equal( direction, nothing, "The direction left or right was not seen by the code" )
58
+ end
59
+ end
60
+
61
+ And /^A user wants to switch back to the first slate$/ do
62
+ #make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
63
+ sql = db.execute "SELECT COUNT(*) FROM slates"
64
+ resultstr = sql.join("")
65
+ resultnum = resultstr.to_i
66
+ assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
67
+ sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
68
+ num_viewed = sql2.length
69
+ assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
70
+ end
71
+
72
+ And /^The program switches to the (\w+) slate$/ do |switch|
73
+ pending("check on previous or next slate by viewing and get maintext and slatename")
74
+ end
75
+
76
+ When /^A user clicks the (\w+) button$/ do |button|
77
+ pending("This test is waiting for A user gets a new_slate window test below to be created first")
78
+ end
79
+
80
+ Then /^A user gets a (\w+) window$/ do |window|
81
+ pending("view the new slate window")
82
+ #how to check if window popped up? do this one later might have to go into final_eye using some kind of check possibly minitest?
83
+ end
84
+
85
+ And /^A user names the slate pickles$/ do
86
+ #make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
87
+ sql = db.execute "SELECT COUNT(*) FROM slates"
88
+ resultstr = sql.join("")
89
+ resultnum = resultstr.to_i
90
+ assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
91
+ sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
92
+ num_viewed = sql2.length
93
+ assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
94
+ end
95
+
96
+ Then /^A user hits the ok button$/ do
97
+ #pending("run methods that are run when new slate window ok button clicked")
98
+ #new_slate("pickles")
99
+ end
100
+
101
+ Then /^A slate is created with the name pickles$/ do
102
+ pending("check new slate created with same name and settings")
103
+ sql = db.execute "SELECT slatename FROM slates"
104
+ slate = sql.include? 'pickles'
105
+ assert slate, "The Penrhyn database was expected to have the slatename pickles in it"
106
+ end
107
+
108
+ Given /^A user inputs (\w+) into schedule (\w+)$/ do |text, slate|
109
+ pending("user inputs text")
110
+ #set_viewing("schedule")
111
+ #scheduletext = set_maintext_viewing
112
+ #updatedtext = "#{scheduletext}" + "#{text}"
113
+ #updatetext("#{updatedtext}")
114
+ #how to check if text is inputted into the slate?
115
+ #would I just do an update slate here? after getting the text from the db and then adding it and then running update text command from quarrier that final eye uses
116
+ end
117
+
118
+ Then /A user goes back to the first slate and the text is still there$/ do |text|
119
+ pending("check user didn't lose text when go back to first slate")
120
+ end
121
+
122
+ Then /^A user exits the application by clicking the x in the corner$/ do |exit|
123
+ pending("exit the application")
124
+ #I will work on this one later when I know how to test it.
125
+ end
126
+
127
+ When /^A user turns on the application the text is saved in that slate$/ do |start|
128
+ pending("start the application")
129
+ #I will work on this later once I know how to test if stuff is saved if program is stopped
130
+ end
131
+
132
+ Given /^A user wants to go to the next slate$/ do
133
+ #make sure 3 or more slates exist and only one slate is viewed do this with sqlite3 commands
134
+ sql = db.execute "SELECT COUNT(*) FROM slates"
135
+ resultstr = sql.join("")
136
+ resultnum = resultstr.to_i
137
+ #resultstr = exe.next.join("")
138
+ #resultnum = resultstr.to_i
139
+ assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
140
+ sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
141
+ num_viewed = sql2.length
142
+ assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
143
+ end
144
+
145
+ Then /^A user clicks the Ctrl-Right button$/ do
146
+ pending("run the method which runs when you click Ctrl-Right")
147
+ sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
148
+ @first_view = sql2.join("")
149
+ #switch_maintext_R
150
+ end
151
+
152
+ And /^The program switches to the next slate$/ do |slate|
153
+ pending("check that the slate is the one that is next")
154
+ sql = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
155
+ second_view = sql.join("")
156
+ sql2 = db.execute "SELECT slatename FROM slates"
157
+ index_of_view = sql2.index"#{@first_view}"
158
+ if sql2.last == "#{@first_view}"
159
+ nextindex = 0
160
+ else
161
+ nextindex = index_of_view + 1
162
+ end
163
+ next_slatename = sql2[nextindex]
164
+ sql3 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
165
+ next_view = sql3.join("")
166
+ assert_equal( next_view, next_slatename, "The next viewed slatename should be #{next_slatename} but was found to be #{next_view}" )
167
+ end
168
+
169
+ Given /^A user wants to access the (\w+) from the (\w+)$/ do |first, second|
170
+ pending("tests will be created in final_eye.rb for this")
171
+ end
172
+
173
+ Then /^A user clicks the tab button$/ do |keypress|
174
+ pending("tests will be created in final_eye.rb for this")
175
+ end
176
+
177
+ And /^The user can type in the slatetext$/ do |keypress|
178
+ pending("tests will be created in final_eye.rb for this")
179
+ end
180
+
181
+ And /^The commandline is highlighted$/ do |keypress|
182
+ pending("tests will be created in final_eye.rb for this")
183
+ end
184
+
185
+ Given /^A user has some slates and wants to switch to another slate$/ do |number|
186
+ pending("make sure the user has 3 slates")
187
+ sql = db.execute "SELECT COUNT(*) FROM slates"
188
+ resultstr = sql.join("")
189
+ resultnum = resultstr.to_i
190
+ #resultstr = exe.next.join("")
191
+ #resultnum = resultstr.to_i
192
+ assert_operator( resultnum, :>=, 3, "There should be 3 or more slates but there are only #{resultstr} slates" )
193
+ sql2 = db.execute "SELECT slatename FROM slates WHERE viewing='1'"
194
+ num_viewed = sql2.length
195
+ assert_equal( num_viewed, 1, "There should be only one slate with viewed as 1 but there are #{num_viewed} slates being viewed" )
196
+ end
197
+
198
+
199
+
200
+
201
+
202
+
203
+ ### cleanup
204
+ # remove_slate("pickles") !!!!remove pickles slate entry here using mysql code!!!!
205
+ # !!!!remove family-night from schdeule !!!!
206
+ # !!!!remove bigL from Music !!!!
207
+
208
+
209
+ #Developer : Mark Focella (m.focella@gmail.com)
210
+ #Date : February 17, 2014
211
+
@@ -0,0 +1,45 @@
1
+
2
+ Given /^my password is (\w+)$/ do |password|
3
+ pending("I need to design the password functionality")
4
+ end
5
+
6
+ And /^I enter (\w+) at login$/ do |password|
7
+ pending("I need to test if password works")
8
+ end
9
+
10
+ Given /^administrative password is set as Tau5slmper123ASD8809$/ do |pass|
11
+ pending("something")
12
+ end
13
+
14
+ And /^I enter super in the command line$/ do |cmd|
15
+ pending("I need to run the super command by inputting super into the command parsing method")
16
+ end
17
+
18
+ And /^I enter Tau5slmper123ASD8809 in the password window$/ do |password|
19
+ pending("I need to pass above command into method called by editline in password window")
20
+ end
21
+
22
+ Then /^I should be able to open general settings$/ do |click|
23
+ pending("check general settings pops up")
24
+ end
25
+
26
+ And /^I click general setings$/ do |click|
27
+ pending("open up gen settings window")
28
+ end
29
+
30
+ And /^I enter Tau5slmper123ASD8809 at popup window$/ do |ent|
31
+ pending("put password in check where window asks")
32
+ end
33
+
34
+ Then /^I should be able to run new -s pinky$/ do |command|
35
+ pending("run above command and check pinky slate was created")
36
+ end
37
+
38
+ Then /^I get general settings window$/ do |hitok|
39
+ pending("check general settings window popped up")
40
+ end
41
+
42
+
43
+ #Developer : Mark Focella (m.focella@gmail.com)
44
+ #Date : February 17, 2014
45
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,372 @@
1
+ =begin
2
+ green shoes
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
5
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
6
+ =end
7
+
8
+
9
+
10
+
11
+ module Billboard
12
+ require 'green_shoes'
13
+
14
+
15
+ def self.alert_choose_slate
16
+ Billboard.error_choose_slate
17
+ end
18
+
19
+ def alert_slatename_long
20
+ Billboard.error_long_slatename
21
+ end
22
+
23
+ def self.alert_slatename_error #this is used
24
+ Billboard.error_reguarding_slate
25
+ end
26
+
27
+ def alert_duplicate_slatename
28
+ Billboard.error_duplicate_slatename
29
+ end
30
+
31
+ def alert_no_password
32
+ Billboard.no_password
33
+ end
34
+
35
+ def alert_gifts_sent
36
+ Billboard.gifts_sent
37
+ end
38
+
39
+ def alert_updatetime_length
40
+ Billboard.error_updatetime_length
41
+ end
42
+
43
+ def alert_no_updatetime
44
+ Billboard.no_updatetime
45
+ end
46
+
47
+ def self.alert_locktime_length
48
+ Billboard.error_locktime_length
49
+ end
50
+
51
+ def alert_no_locktime
52
+ Billboard.no_locktime
53
+ end
54
+
55
+ def alert_password_length
56
+ Billboard.error_password_length
57
+ end
58
+
59
+ def alert_no_slatename
60
+ Billboard.no_slatename
61
+ end
62
+
63
+ def self.alert_password_error #this is used
64
+ Billboard.error_password
65
+ end
66
+
67
+ def self.alert_updatetime_error #this is used
68
+ Billboard.error_updatetime
69
+ end
70
+
71
+ def self.alert_locktime_error #this is used
72
+ Billboard.error_locktime
73
+ end
74
+
75
+ def self.alert_hostname_error #this is used
76
+ Billboard.error_hostname
77
+ end
78
+
79
+ def self.alert_fatal_error
80
+ Billboard.error_fatal
81
+ end
82
+
83
+ def self.alert_cmd_slatename_error
84
+ Billboard.error_cmd
85
+ end
86
+
87
+ def self.alert_slate_created
88
+ Billboard.slate_created
89
+ end
90
+
91
+ private
92
+
93
+
94
+
95
+
96
+ def Billboard.slate_created
97
+ Shoes.app width: 220, height: 80 do
98
+ background limegreen
99
+ stack do
100
+ stack height: 20 do end
101
+ para "You have created a slate!", align: 'center'
102
+ #@b1 = button "back", margin_left: 68
103
+ #@b1.click{exit}
104
+ end
105
+ end
106
+ end
107
+
108
+ def Billboard.error_cmd
109
+ Shoes.app width: 220, height: 140, title: 'error' do
110
+ background tomato
111
+ stack do
112
+ para "ERROR", align: 'center'
113
+ flow margin_left: 15 do
114
+ @errorsymbol = image"../images/error_symbol.png"
115
+ end
116
+ para "The slatename can't be the same as a command", align: 'center'
117
+ #@b1 = button "back", margin_left: 68
118
+ #@b1.click{exit}
119
+ end
120
+ end
121
+ end
122
+
123
+
124
+ def Billboard.error_fatal
125
+ Shoes.app width: 380, height: 320, title: 'Fatal Error' do
126
+ background tomato
127
+ stack do
128
+ para "Program Fatal Error", align: 'center'
129
+ flow margin_left: 15 do
130
+ @errorsymbol = image"../images/error_symbol.png"
131
+ @errorsymbol = image"../images/error_symbol.png"
132
+ @errorsymbol = image"../images/error_symbol.png"
133
+ end
134
+ para "\nA deadly error has caused this program to crash. \n\nTo report any bugs or issues you have with this application, you can contact !!!!!!!!!!! and report what happened"
135
+ end
136
+ end
137
+ end
138
+
139
+ def Billboard.error_choose_slate
140
+ Shoes.app width: 220, height: 140, title: 'error' do
141
+ background tomato
142
+ stack do
143
+ para "ERROR", align: 'center'
144
+ flow margin_left: 15 do
145
+ @errorsymbol = image"../images/error_symbol.png"
146
+ end
147
+ para "You must choose a slate", align: 'center'
148
+ #@b1 = button "back", margin_left: 68
149
+ #@b1.click{exit}
150
+ end
151
+ end
152
+ end
153
+
154
+ def Billboard.error_hostname
155
+ Shoes.app width: 280, height: 200, title: 'error' do
156
+ background tomato
157
+ stack do
158
+ para "ERROR", align: 'center'
159
+ flow margin_left: 15 do
160
+ @errorsymbol = image"../images/error_symbol.png"
161
+ end
162
+ para "The hostname must be unique and must contain between 2 and 40 characters", align: 'center'
163
+ #@b1 = button "back", margin_left: 68
164
+ #@b1.click{exit}
165
+ end
166
+ end
167
+ end
168
+
169
+
170
+ def Billboard.error_updatetime
171
+ ### ??? do I keep them as Shoes.app or change to window???
172
+ Shoes.app width: 220, height: 140, title: 'error' do
173
+ background tomato
174
+ stack do
175
+ para "ERROR", align: 'center'
176
+ flow margin_left: 15 do
177
+ @errorsymbol = image"../images/error_symbol.png"
178
+ end
179
+ para "The updatetime must be between 1 and 99 seconds", align: 'center'
180
+ #@b1 = button "back", margin_left: 68
181
+ #@b1.click{exit}
182
+ end
183
+ end
184
+ end
185
+
186
+ def Billboard.error_locktime
187
+ ### ??? do I keep them as Shoes.app or change to window???
188
+ Shoes.app width: 220, height: 140, title: 'error' do
189
+ background tomato
190
+ stack do
191
+ para "ERROR", align: 'center'
192
+ flow margin_left: 15 do
193
+ @errorsymbol = image"../images/error_symbol.png"
194
+ end
195
+ para "The locktime must be between 1 and 99 minutes", align: 'center'
196
+ #@b1 = button "back", margin_left: 68
197
+ #@b1.click{exit}
198
+ end
199
+ end
200
+ end
201
+
202
+ def Billboard.error_password
203
+ Shoes.app width: 220, height: 140, title: 'error' do
204
+ background tomato
205
+ stack do
206
+ para "ERROR", align: 'center'
207
+ flow margin_left: 15 do
208
+ @errorsymbol = image"../images/error_symbol.png"
209
+ end
210
+ para "The password must be between 14 and 50 characters long", align: 'center'
211
+ #@b1 = button "back", margin_left: 68
212
+ #@b1.click{exit}
213
+ end
214
+ end
215
+ end
216
+
217
+
218
+ def Billboard.error_reguarding_slate
219
+ ### ??? do I keep them as Shoes.app or change to window???
220
+ Shoes.app width: 220, height: 300, title: 'error' do
221
+ background tomato
222
+ stack do
223
+ para "ERROR", align: 'center'
224
+ flow margin_left: 15 do
225
+ @errorsymbol = image"../images/error_symbol.png"
226
+ end
227
+ para "The slate name must be unique and its length must be between 2 and 18 characters.", align: 'center'
228
+ #@b1 = button "back", margin_left: 68
229
+ #@b1.click{exit}
230
+ end
231
+ end
232
+ end
233
+
234
+
235
+ def Billboard.error_long_slatename
236
+
237
+ Shoes.app width: 280, height: 140, title: 'error' do
238
+ background tomato
239
+ stack do
240
+ para "ERROR", align: 'center'
241
+ para "The slate name is too Long!\nThe name cannot be more than 18 characters", align: 'center'
242
+ @b1 = button "back", margin_left: 153
243
+ @b1.click{exit}
244
+ end
245
+ end
246
+ end
247
+
248
+ def Billboard.error_duplicate_slatename
249
+ Shoes.app width: 220, height: 140, title: 'error' do
250
+ background tomato
251
+ stack do
252
+ para "ERROR", align: 'center'
253
+ para "The slatename must be unique"
254
+ @b1 = button "back", margin_left: 68
255
+ @b1.click{exit}
256
+ end
257
+ end
258
+ end
259
+
260
+ def Billboard.no_slatename
261
+ Shoes.app width: 220, height: 140, title: 'error' do
262
+ background tomato
263
+ stack do
264
+ para "ERROR", align: 'center'
265
+ para "A name must be given for your slate"
266
+ @b1 = button "back", margin_left: 68
267
+ @b1.click{exit}
268
+ end
269
+ end
270
+ end
271
+
272
+
273
+ def Billboard.no_password
274
+ Shoes.app width: 220, height: 140, title: 'error' do
275
+ background tomato
276
+ stack do
277
+ para "ERROR", align: 'center'
278
+ para "There is no password set to lock the slate"
279
+ @b1 = button "back", margin_left: 68
280
+ @b1.click{exit}
281
+ end
282
+ end
283
+ end
284
+
285
+
286
+ def Billboard.gifts_sent
287
+ Shoes.app height: 150, width: 280, title: " " do
288
+ background rosybrown
289
+ # background "#BB27FF"
290
+ stack height: 17 do
291
+ #spacer
292
+ end
293
+ tagline "One or more gifts have been sent!", align: "center", stroke: "#0E0E0E"
294
+ stack height: 11 do
295
+ #spacer
296
+ end
297
+ @b1 = button "ok", margin_left: 126
298
+ @b1.click{exit}
299
+ end
300
+ end
301
+
302
+
303
+ def Billboard.error_updatetime_length
304
+ Shoes.app width: 220, height: 140, title: 'error' do
305
+ background tomato
306
+ stack do
307
+ para "ERROR", align: 'center'
308
+ para "Slates must be updated between 1 and 99 seconds"
309
+ @b1 = button "back", margin_left: 68
310
+ @b1.click{exit}
311
+ end
312
+ end
313
+ end
314
+
315
+ def Billboard.no_updatetime
316
+ Shoes.app width: 220, height: 140, title: 'error' do
317
+ background tomato
318
+ stack do
319
+ para "ERROR", align: 'center'
320
+ para "A time must be entered for slate updates"
321
+ @b1 = button "back", margin_left: 68
322
+ @b1.click{exit}
323
+ end
324
+ end
325
+ end
326
+
327
+ def Billboard.error_locktime_length
328
+ Shoes.app width: 220, height: 140, title: 'error' do
329
+ background tomato
330
+ stack do
331
+ para "ERROR", align: 'center'
332
+ para "The lock slate time must be between 1 and 99 minutes."
333
+ @b1 = button "back", margin_left: 68
334
+ @b1.click{exit}
335
+ end
336
+ end
337
+ end
338
+
339
+ def Billboard.no_locktime
340
+ Shoes.app width: 220, height: 140, title: 'error' do
341
+ background tomato
342
+ stack do
343
+ para "ERROR", align: 'center'
344
+ para "A time must be entered for when you want to lock the slates"
345
+ @b1 = button "back", margin_left: 68
346
+ @b1.click{exit}
347
+ end
348
+ end
349
+ end
350
+
351
+ def Billboard.error_password_length
352
+ Shoes.app width: 220, height: 140, title: 'error' do
353
+ background tomato
354
+ stack do
355
+ para "ERROR", align: 'center'
356
+ para "The password must be between 14 and 50 characters"
357
+ @b1 = button "back", margin_left: 68
358
+ @b1.click{exit}
359
+ end
360
+ end
361
+ end
362
+
363
+ #uncomment below for quick testing
364
+ #Billboard.error_password
365
+ #Billboard.error_fatal
366
+ end
367
+
368
+
369
+
370
+ #Developer : Mark Focella (m.focella@gmail.com)
371
+ #Date : February 17, 2014
372
+