useless-wait-list 0.0.1 → 0.0.2

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
  SHA1:
3
- metadata.gz: fc84a97d0172c93a1555fd35edb5607cca70ad01
4
- data.tar.gz: 7c39cee2a9e741b6e54f16ea7c0f0d9539a8f437
3
+ metadata.gz: acf3ad7bf2fd27f864f7ec9b3ab551c878bed013
4
+ data.tar.gz: e99e8e1c64ba5b4f2ae0988966657f3c6abb26aa
5
5
  SHA512:
6
- metadata.gz: ed3ad1512718a839c7233b5ffa2f25cb32346048b70b7785152cdad94202cd69e5f2729a0d09a77d660feed1e5b6b97a1a3dd635ad6f4ac2f2d026386af92516
7
- data.tar.gz: 99f04f0d33a9bb88d2f3789b139d5b745ef5e824a1a136b22719b40e5cfef4db29ff3d5629de98c65f606e031c42804dc662aaa3b5c8376de7c2464c50379261
6
+ metadata.gz: 2787c9e01b6bb479429a8d379a07efff3bbb79d6cbafae815a51df274bfae50ba82974693d2f6e7a8cc7b07ffdf643099c4933f09b10a68046fa0dae02a6164f
7
+ data.tar.gz: a39141772f80efc93a58bec013e7dc004470a2adba18a6252ad79eaec4a05871922bee92a4b5c4b3d1c4c697f9142e919c6d0c72f8a69bde7124ab7bb368657e
@@ -4,20 +4,64 @@ require 'useless/doc/server/sinatra'
4
4
 
5
5
  module Useless
6
6
  class WaitList < Sinatra::Base
7
- require 'useless/wait_list/version'
8
-
9
7
  register Useless::Doc::Server::Sinatra
10
8
 
11
9
  doc 'Wait List' do
12
10
  url 'http://wait-list.useless.io'
13
11
 
12
+ concept 'Chris Nace'
13
+ specification 'In Progress', 'Kevin Hyland'
14
+ implementation 'Pending', 'Kevin Hyland'
15
+
14
16
  description <<-DESC
15
- The Wait List API is an idealized specification of how a restaurant
16
- should be able to manage its wait list. The big idea is that
17
- potential patrons should be able to remotely add themselves to the
18
- wait list.
17
+ It is becoming increasingly common for restaurants, especially popular
18
+ ones, to not accept reservations. Instead, they choose to maintain a
19
+ first-come, first-served wait list.
20
+
21
+ Algorithmically, this makes a lot of sense. The wait list can be
22
+ modeled as a set of queues, one per available table size. The
23
+ reservation, however, requires some scheduling algorithm. Queues, in
24
+ general, are easier than scheduling.
25
+
26
+ This is reflected in the real world. Reservations force the restaurant
27
+ to commit to an explicit time that the table will be available, which
28
+ is difficult to do accurately. The simplicity of the wait list, though,
29
+ allows both patron and proprietor to better understand the real time
30
+ that a table will be available.
31
+
32
+ And although patrons appreciate more realistic expectations, the
33
+ overall quality of their experience is decreased when compared to
34
+ reservations. If you live in a neighborhood where most restaurants do
35
+ not take reservations, and you're looking for a restaurant, it's not
36
+ uncommon to walk to a bunch of places and then ultimately walk back to
37
+ the one that had the shortest wait list. The best way to get a good
38
+ spot on a particularly popular wait list is to show up in the early
39
+ afternoon. But it doesn't have to be that way!
40
+
41
+ The goal of the **Wait List API** is to make the process of getting and
42
+ being on a wait list _better_ than that of making a reservation. The
43
+ main idea, of course, is that if a wait list is represented as an
44
+ intuitive JSON API, then there a few ways that the patron experience
45
+ can be signifcantly improved:
46
+
47
+ 1. A patron could browse all the wait lists of all the restaurants in
48
+ his area, ordering them by the estimated time that a table will
49
+ be available for his party size. He could then put himself on the
50
+ wait list that works best.
51
+
52
+ 2. Once on a wait list, the patron could have complete visibility into
53
+ his position in line. He wouldn't have to arrive at the restaurant
54
+ until exactly when his table was ready.
55
+
56
+ 3. For popular restaurants, there could be a flash sale experience
57
+ when the wait list opens for that night's dinner. A patron could
58
+ contend for his position on a wait list from his office computer or
59
+ on his phone.
19
60
 
20
- More to come.
61
+ Restaurants would benefit as well. First of all, the task of managing
62
+ the wait list is simplified since the patrons are doing it on their
63
+ own. Secondly, they would have access to all the data captured by the
64
+ API.
21
65
  DESC
22
66
  end
23
67
  end
@@ -1,25 +1,24 @@
1
1
  # coding: utf-8
2
2
  $LOAD_PATH.unshift(File.expand_path('../lib', __FILE__))
3
- require './lib/useless/wait_list'
3
+ # require 'useless/wait_list/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'useless-wait-list'
7
- spec.version = Useless::WaitList::VERSION
8
- spec.authors = ['Kevin Hyland']
9
- spec.email = ['khy@me.com']
10
- spec.description = 'For restaurants that don\'t take reservations'
11
- spec.summary = 'An idealized restaurant wait list API.'
12
- spec.homepage = 'http://wait-list.useless.io'
13
- spec.license = 'MIT'
6
+ spec.name = 'useless-wait-list'
7
+ spec.version = '0.0.2'
8
+ spec.authors = ['Kevin Hyland']
9
+ spec.email = ['khy@me.com']
10
+ spec.summary = 'For restaurants that don\'t take reservations'
11
+ spec.description = 'An idealized restaurant wait list API.'
12
+ spec.homepage = 'http://wait-list.useless.io'
13
+ spec.license = 'MIT'
14
14
 
15
- spec.files = `git ls-files`.split($/)
16
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
- spec.test_files = spec.files.grep(%r{^spec/})
18
- spec.require_paths = ['lib']
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.test_files = spec.files.grep(%r{^spec/})
17
+ spec.require_paths = ['lib']
19
18
 
20
19
  spec.add_runtime_dependency 'sinatra', '~> 1.4.2'
21
20
  spec.add_runtime_dependency 'useless', '~> 0.2.0'
22
- spec.add_runtime_dependency 'useless-doc', '~> 0.6.1'
21
+ spec.add_runtime_dependency 'useless-doc', '~> 0.6.4'
23
22
 
24
23
  spec.add_development_dependency 'bundler', '~> 1.3'
25
24
  spec.add_development_dependency 'rake', '~> 0.9'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: useless-wait-list
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Hyland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-29 00:00:00.000000000 Z
11
+ date: 2013-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.1
47
+ version: 0.6.4
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.1
54
+ version: 0.6.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - ~>
123
123
  - !ruby/object:Gem::Version
124
124
  version: 2.0.10
125
- description: For restaurants that don't take reservations
125
+ description: An idealized restaurant wait list API.
126
126
  email:
127
127
  - khy@me.com
128
128
  executables: []
@@ -135,7 +135,6 @@ files:
135
135
  - README.md
136
136
  - Rakefile
137
137
  - lib/useless/wait_list.rb
138
- - lib/useless/wait_list/version.rb
139
138
  - spec/documentation_spec.rb
140
139
  - spec/spec_helper.rb
141
140
  - useless-wait-list.gemspec
@@ -162,7 +161,7 @@ rubyforge_project:
162
161
  rubygems_version: 2.0.0
163
162
  signing_key:
164
163
  specification_version: 4
165
- summary: An idealized restaurant wait list API.
164
+ summary: For restaurants that don't take reservations
166
165
  test_files:
167
166
  - spec/documentation_spec.rb
168
167
  - spec/spec_helper.rb
@@ -1,5 +0,0 @@
1
- module Useless
2
- class WaitList
3
- VERSION = '0.0.1'
4
- end
5
- end