door_code 0.0.1 → 0.0.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.
Files changed (4) hide show
  1. data/README.md +2 -4
  2. data/door_code.gemspec +1 -1
  3. data/lib/index.html +79 -4
  4. metadata +2 -2
data/README.md CHANGED
@@ -4,13 +4,13 @@
4
4
 
5
5
  Install with Bundler:
6
6
 
7
- gem 'door_code', '0.0.1', :git => 'http://github.com/6twenty/door_code.git'
7
+ gem 'door_code', '0.0.2'
8
8
 
9
9
  In config.ru:
10
10
 
11
11
  use DoorCode::RestrictedAccess, :code => '12345'
12
12
 
13
- Or in application.rb (Rails3) or environment.rb (Rails2):
13
+ In application.rb (Rails3) or environment.rb (Rails2):
14
14
 
15
15
  config.middleware.use DoorCode::RestrictedAccess, :code => '12345'
16
16
 
@@ -23,5 +23,3 @@ Or in application.rb (Rails3) or environment.rb (Rails2):
23
23
 
24
24
  * Example app (heroku, sinatra)
25
25
  * Allow specifying domains and paths to restrict access conditionally
26
- * Add no-js/no-base64 version
27
- * Add favicon?
data/door_code.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "door_code"
6
- s.version = '0.0.1'
6
+ s.version = '0.0.3'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Mike Fulcher", "Alex Neill"]
9
9
  s.email = ["mike@plan9design.co.uk", "alex.neill@gmail.com"]
data/lib/index.html CHANGED
@@ -216,6 +216,38 @@
216
216
  }
217
217
 
218
218
  .red #display img.error { display: inline; }
219
+
220
+ #helper {
221
+ height: 425px;
222
+ }
223
+
224
+ #helper p, #helper ul, #helper ol, #helper li {
225
+ margin: 0; padding: 0;
226
+ color: white;
227
+ font-family: Helvetica, Arial, sans-serif;
228
+ text-indent: 0;
229
+ font-size: 12px; line-height: 12px;
230
+ }
231
+
232
+ #helper ul, #helper ol {
233
+ padding: 0 0 0 20px;
234
+ }
235
+
236
+ #helper li { margin-bottom: 5px;}
237
+
238
+ #helper p {
239
+ font-size: 16px; line-height: 16px;
240
+ margin: 10px 0;
241
+ font-weight: bold;
242
+ }
243
+
244
+ #helper p.how { margin-top: 0; }
245
+
246
+ #helper p.close { text-align: center; }
247
+
248
+ #helper p.close a {
249
+ color: white;
250
+ }
219
251
  </style>
220
252
 
221
253
  <script type="text/javascript" charset="utf-8">
@@ -227,6 +259,9 @@
227
259
  var form;
228
260
  var display;
229
261
  var displayLed;
262
+
263
+ var helperContainer;
264
+ var keypadContainer;
230
265
 
231
266
  var validKeys = [ 48,49,50,51,52,53,54,55,56,57,
232
267
  96,97,98,99,100,101,102,103,104,105 ];
@@ -279,15 +314,18 @@
279
314
  keypad = $('#keypad');
280
315
  display = $('#display');
281
316
  displayLed = display.find('.led');
317
+
318
+ helperContainer = $('#helper');
319
+ keypadContainer = $('#display, #keys');
282
320
 
283
321
  // Map clicking on the keys to showing the number in the display
284
- $('a').click(function(e){
322
+ $('#keys a').click(function(e){
285
323
  e.preventDefault();
286
324
  if ($('.clone').length < codeLength) {
287
325
  var num = $(this).attr('rel');
288
326
  if (num === 'clear' || num === 'help') {
289
327
  if (num === 'clear') { reset(); } else
290
- if (num === 'help') { showHelp(); }
328
+ if (num === 'help') { toggleHelp(); }
291
329
  } else {
292
330
  displayNum(num);
293
331
  checkCode();
@@ -324,6 +362,11 @@
324
362
  });
325
363
 
326
364
  $(document).keyup(function(e){ $('#keys a').removeClass('active'); });
365
+
366
+ $('.close a').click(function(e) {
367
+ e.preventDefault();
368
+ toggleHelp();
369
+ });
327
370
 
328
371
  });
329
372
 
@@ -382,8 +425,16 @@
382
425
  keypad.removeClass(failureClass).removeClass(successClass).addClass(defaultClass);
383
426
  }
384
427
 
385
- function showHelp() {
386
- // console.log('You called for help!');
428
+ function toggleHelp() {
429
+ if (helperContainer.is(':visible')) {
430
+ helperContainer.fadeOut(250, function(){
431
+ keypadContainer.fadeIn(250);
432
+ });
433
+ } else {
434
+ keypadContainer.fadeOut(250, function(){
435
+ helperContainer.fadeIn(250);
436
+ });
437
+ }
387
438
  }
388
439
  </script>
389
440
  </head>
@@ -399,6 +450,30 @@
399
450
  <div id="keypad" class="green" style="display:none;">
400
451
  <div id="backlight">
401
452
  <div id="frame">
453
+ <!-- #helper only shown when the HELP key is pressed -->
454
+ <div id="helper" style="display:none;">
455
+ <p class="how">
456
+ How to use this keypad:
457
+ </p>
458
+ <ol>
459
+ <li>Using the code provided to you, enter the digits using either your keyboard using the number keys, or your mouse by clicking the numbers on the keypad</li>
460
+ <li>When you have entered the correct number of digits, the keypad will confirm if you have entered the correct code</li>
461
+ <li>On entering the correct code, the keypad will flash blue with the message "SUCCESS" displayed on the keypad. You will then be redirected to the correct page of the website</li>
462
+ <li>On entering an incorrect code, the keypad will flash red with the message "ERROR" displayed on the keypad. The keypad will then reset, allowing you to re-enter the code</li>
463
+ </ol>
464
+ <p class="tips">
465
+ Tips:
466
+ </p>
467
+ <ul>
468
+ <li>The code will only be checked for validity once the correct number of digits have been entered</li>
469
+ <li>Use the backspace key on your keyboard to erase the last digit entered</li>
470
+ <li>Use the clear key on the keypad to clear the current code and reset the keypad</li>
471
+ </ul>
472
+ <p class="close">
473
+ <a href="#">Close</a>
474
+ </p>
475
+ </div>
476
+
402
477
  <div id="display">
403
478
  <div class="backlight">
404
479
  <div class="led">
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: door_code
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Mike Fulcher
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-02-18 00:00:00 +00:00
14
+ date: 2011-02-20 00:00:00 +00:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency