beer_in_the_evening 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.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in beer_in_the_evening.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # BeerInTheEvening
2
+
3
+ It can be hard to decide which pub to go to, right?
4
+
5
+ Wrong.
6
+
7
+
8
+ ## Usage
9
+
10
+ require 'beer_in_the_evening'
11
+ search = BeerInTheEvening::Search.new
12
+ search.tube_station = BeerInTheEvening::Location::Tube::HOLBORN
13
+ search.minimum_rating = 6
14
+ search.real_ale = true
15
+ search.wifi = true
16
+ search.food = true
17
+ random_pub = search.sort_by{rand}.first
18
+ random_pub.to_s
19
+ # => "Lord Clyde, 2.2 miles, 6.7 / 10, http://beerintheevening.com/pubs/s/65/6501/Lord_Clyde/Canonbury"
20
+
21
+
22
+ ## Authors
23
+
24
+ Craig R Webster <http://barkingiguana.com/>
data/Rakefile ADDED
@@ -0,0 +1,71 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ task :generate_tube_locations do
4
+ require 'open-uri'
5
+ require 'nokogiri'
6
+ options = open("http://www.beerintheevening.com/pubs/search.shtml").read
7
+ doc = Nokogiri::HTML options
8
+ nodes = doc.css "select[@name='tu'] option"
9
+ station_options = nodes.to_a.select { |s| s.parent.parent.previous.xpath("./form")[0]['name'] == 'tube_select' }
10
+ stations = station_options.to_a.map do |station|
11
+ id = station['value'].to_i
12
+ name = station.inner_text.to_s.strip
13
+ next if id == 0 || name == "" # Skip blank options
14
+ [ id, name ]
15
+ end.compact
16
+ tube_stations = File.dirname(__FILE__) + '/lib/beer_in_the_evening/location/tube.rb'
17
+ File.open tube_stations, 'w+' do |f|
18
+ f.puts "module BeerInTheEvening"
19
+ f.puts " module Location"
20
+ f.puts " module Tube"
21
+ stations.each do |id, name|
22
+ constant_name = name.dup
23
+ constant_name.upcase!
24
+ constant_name.gsub! /s+/, '_'
25
+ constant_name.gsub! /\'/, ''
26
+ constant_name.gsub! /[^A-Z0-9]/, '_'
27
+ constant_name.gsub! /_+/, '_'
28
+ constant_name.gsub! /^_+|_+$/, ''
29
+ f.puts " #{constant_name} = #{id}"
30
+ end
31
+ f.puts " end"
32
+ f.puts " end"
33
+ f.puts "end"
34
+ end
35
+ end
36
+
37
+ task :generate_dlr_locations do
38
+ require 'open-uri'
39
+ require 'nokogiri'
40
+ options = open("http://www.beerintheevening.com/pubs/search.shtml").read
41
+ doc = Nokogiri::HTML options
42
+ nodes = doc.css "select[@name='tu'] option"
43
+ station_options = nodes.to_a.select { |s| s.parent.parent.previous.xpath("./form")[0]['name'] == 'dlr_select' }
44
+ stations = station_options.to_a.map do |station|
45
+ id = station['value'].to_i
46
+ name = station.inner_text.to_s.strip
47
+ next if id == 0 || name == "" # Skip blank options
48
+ [ id, name ]
49
+ end.compact
50
+ tube_stations = File.dirname(__FILE__) + '/lib/beer_in_the_evening/location/dlr.rb'
51
+ File.open tube_stations, 'w+' do |f|
52
+ f.puts "module BeerInTheEvening"
53
+ f.puts " module Location"
54
+ f.puts " module Dlr"
55
+ stations.each do |id, name|
56
+ constant_name = name.dup
57
+ constant_name.upcase!
58
+ constant_name.gsub! /s+/, '_'
59
+ constant_name.gsub! /\'/, ''
60
+ constant_name.gsub! /[^A-Z0-9]/, '_'
61
+ constant_name.gsub! /_+/, '_'
62
+ constant_name.gsub! /^_+|_+$/, ''
63
+ f.puts " #{constant_name} = #{id}"
64
+ end
65
+ f.puts " end"
66
+ f.puts " end"
67
+ f.puts "end"
68
+ end
69
+ end
70
+
71
+ task :generate => [ :generate_dlr_locations, :generate_tube_locations ]
@@ -0,0 +1,22 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "beer_in_the_evening/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "beer_in_the_evening"
7
+ s.version = BeerInTheEvening::VERSION
8
+ s.authors = ["Craig R Webster"]
9
+ s.email = ["craig@barkingiguana.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Is it pub time?}
12
+ s.description = %q{Search over the Beer In The Evening site looking for suitable pubs}
13
+
14
+ s.rubyforge_project = "beer_in_the_evening"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_runtime_dependency "nokogiri"
22
+ end
@@ -0,0 +1,13 @@
1
+ require "nokogiri"
2
+ require "open-uri"
3
+ require "digest/sha1"
4
+ require "tmpdir"
5
+
6
+ require "beer_in_the_evening/version"
7
+ require "beer_in_the_evening/pub"
8
+ require "beer_in_the_evening/search"
9
+ require "beer_in_the_evening/location/tube"
10
+ require "beer_in_the_evening/location/dlr"
11
+
12
+ module BeerInTheEvening
13
+ end
@@ -0,0 +1,40 @@
1
+ module BeerInTheEvening
2
+ module Location
3
+ module Dlr
4
+ ALL_SAINTS = 6
5
+ BANK = 325
6
+ BECKTON = 21
7
+ BECKTON_PARK = 22
8
+ BLACKWALL = 30
9
+ BOW_CHURCH = 35
10
+ CANARY_WHARF = 328
11
+ CANNING_TOWN = 329
12
+ CROSSHARBOUR_AND_LONDON_ARENA = 69
13
+ CUSTOM_HOUSE = 71
14
+ CUTTY_SARK = 72
15
+ CYPRUS = 73
16
+ DEPTFORD_BRIDGE = 78
17
+ DEVONS_ROAD = 79
18
+ EAST_INDIA = 87
19
+ ELVERSON_ROAD = 94
20
+ GALLIONS_REACH = 107
21
+ GREENWICH = 118
22
+ HERON_QUAYS = 134
23
+ ISLAND_GARDENS = 150
24
+ LEWISHAM = 169
25
+ LIMEHOUSE = 172
26
+ MUDCHUTE = 188
27
+ POPLAR = 219
28
+ PRINCE_REGENT = 221
29
+ PUDDING_MILL_LANE = 222
30
+ ROYAL_ALBERT = 236
31
+ ROYAL_VICTORIA = 238
32
+ SHADWELL = 326
33
+ SOUTH_QUAY = 256
34
+ STRATFORD = 327
35
+ TOWER_GATEWAY = 283
36
+ WEST_INDIA_QUAY = 310
37
+ WESTFERRY = 314
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,297 @@
1
+ module BeerInTheEvening
2
+ module Location
3
+ module Tube
4
+ ACTON = 1
5
+ ACTON_CENTRAL = 2
6
+ ACTON_TOWN = 3
7
+ ALDGATE = 4
8
+ ALDGATE_EAST = 5
9
+ ALPERTON = 7
10
+ AMERSHAM = 8
11
+ ANGEL = 9
12
+ ARCHWAY = 10
13
+ ARNOS_GROVE = 11
14
+ ARSENAL = 12
15
+ BAKER_STREET = 13
16
+ BALHAM = 14
17
+ BANK = 15
18
+ BARBICAN = 16
19
+ BARKING = 17
20
+ BARKINGSIDE = 18
21
+ BARONS_COURT = 19
22
+ BAYSWATER = 20
23
+ BECONTREE = 23
24
+ BELSIZE_PARK = 24
25
+ BERMONDSEY = 25
26
+ BETHNAL_GREEN = 26
27
+ BLACK_HORSE_ROAD = 27
28
+ BLACKFRIARS = 28
29
+ BLACKHORSE_ROAD = 29
30
+ BOND_STREET = 31
31
+ BOROUGH = 32
32
+ BOSTON_MANOR = 33
33
+ BOUNDS_GREEN = 34
34
+ BOW_ROAD = 36
35
+ BRENT_CROSS = 37
36
+ BRIXTON = 38
37
+ BROMLEY_BY_BOW = 39
38
+ BRONDESBURY = 40
39
+ BRONDESBURY_PARK = 41
40
+ BUCKHURST_HILL = 42
41
+ BURNT_OAK = 43
42
+ CALEDONIAN_ROAD = 44
43
+ CALEDONIAN_ROAD_AND_BARNSBURY = 45
44
+ CAMDEN_TOWN = 47
45
+ CANADA_WATER = 48
46
+ CANARY_WHARF = 49
47
+ CANNING_TOWN = 50
48
+ CANNON_STREET = 51
49
+ CANONBURY = 52
50
+ CANONS_PARK = 53
51
+ CHALFONT_AND_LATIMER = 54
52
+ CHALK_FARM = 55
53
+ CHANCERY_LANE = 56
54
+ CHARING_CROSS = 57
55
+ CHESHAM = 58
56
+ CHIGWELL = 59
57
+ CHISWICK_PARK = 60
58
+ CHORLEYWOOD = 61
59
+ CLAPHAM_COMMON = 62
60
+ CLAPHAM_NORTH = 63
61
+ CLAPHAM_SOUTH = 64
62
+ COCKFOSTERS = 65
63
+ COLINDALE = 66
64
+ COLLIERS_WOOD = 67
65
+ COVENT_GARDEN = 68
66
+ CROXLEY = 70
67
+ DAGENHAM_EAST = 74
68
+ DAGENHAM_HEATH = 75
69
+ DALSTON_KINGSLAND = 76
70
+ DEBDEN = 77
71
+ DOLLIS_HILL = 80
72
+ EALING_BROADWAY = 81
73
+ EALING_COMMON = 82
74
+ EARLS_COURT = 83
75
+ EAST_ACTON = 84
76
+ EAST_FINCHLEY = 85
77
+ EAST_HAM = 86
78
+ EAST_PUTNEY = 88
79
+ EASTCOTE = 89
80
+ EDGEWARE = 90
81
+ EDGEWARE_ROAD = 91
82
+ ELEPHANT_AND_CASTLE = 92
83
+ ELM_PARK = 93
84
+ EMBANKMENT = 96
85
+ EPPING = 97
86
+ EUSTON = 98
87
+ EUSTON_SQUARE = 99
88
+ FAIRLOP = 100
89
+ FARRINGDON = 101
90
+ FINCHLEY_CENTRAL = 102
91
+ FINCHLEY_ROAD = 103
92
+ FINCHLEY_ROAD_AND_FROGNAL = 104
93
+ FINSBURY_PARK = 105
94
+ FULHAM_BROADWAY = 106
95
+ GANTS_HILL = 108
96
+ GLOUCESTER_ROAD = 109
97
+ GOLDERS_GREEN = 110
98
+ GOLDHAWK_ROAD = 111
99
+ GOODGE_STREET = 112
100
+ GOSPEL_OAK = 113
101
+ GRANGE_HILL = 114
102
+ GREAT_PORTLAND_STREET = 115
103
+ GREEN_PARK = 116
104
+ GREENFORD = 117
105
+ GUNNERSBURY = 119
106
+ HACKNEY_CENTRAL = 120
107
+ HACKNEY_WICK = 121
108
+ HAINAULT = 122
109
+ HAMMERSMITH = 123
110
+ HAMPSTEAD_HEATH = 124
111
+ HAMSPTEAD = 125
112
+ HANGER_LANE = 126
113
+ HARLESDEN = 127
114
+ HARROW_AND_WEALDSTONE = 128
115
+ HARROW_ON_THE_HILL = 129
116
+ HATTON_CROSS = 130
117
+ HEATHROW_TERMINAL_4 = 131
118
+ HEATHROW_TERMINALS_1_2_3 = 132
119
+ HENDON_CENTRAL = 133
120
+ HIGH_BARNET = 135
121
+ HIGH_STREET_KENSINGTON = 136
122
+ HIGHBURY_AND_ISLINGTON = 137
123
+ HIGHGATE = 138
124
+ HILLINGDON = 139
125
+ HOLBORN = 140
126
+ HOLLAND_PARK = 141
127
+ HOLLOWAY_ROAD = 142
128
+ HOMERTON = 143
129
+ HORNCHURCH = 144
130
+ HOUNSLOW_CENTRAL = 145
131
+ HOUNSLOW_EAST = 146
132
+ HOUNSLOW_WEST = 147
133
+ HYDE_PARK_CORNER = 148
134
+ ICKENHAM = 149
135
+ KENNINGTON = 151
136
+ KENSAL_GREEN = 152
137
+ KENSAL_RISE = 153
138
+ KENSINGTON_OLYMPIA = 154
139
+ KENTISH_TOWN = 155
140
+ KENTISH_TOWN_WEST = 156
141
+ KENTON = 157
142
+ KEW_GARDENS = 158
143
+ KILBURN = 159
144
+ KILBURN_PARK = 160
145
+ KINGS_CROSS_ST_PANCRAS = 161
146
+ KINGSBURY = 162
147
+ KNIGHTSBRIDGE = 163
148
+ LADBROKE_GROVE = 164
149
+ LAMBETH_NORTH = 165
150
+ LANCASTER_GATE = 166
151
+ LATIMER_ROAD = 167
152
+ LEICESTER_SQUARE = 168
153
+ LEYTON = 170
154
+ LEYTONSTONE = 171
155
+ LIVERPOOL_STREET = 173
156
+ LONDON_BRIDGE = 174
157
+ LOUGHTON = 175
158
+ MAIDA_VALE = 176
159
+ MANOR_HOUSE = 177
160
+ MANSION_HOUSE = 178
161
+ MARBLE_ARCH = 179
162
+ MARYLEBONE = 180
163
+ MILE_END = 181
164
+ MILL_HILL_EAST = 182
165
+ MONUMENT = 183
166
+ MOORGATE = 184
167
+ MOORPARK = 185
168
+ MORDEN = 186
169
+ MORNINGTON_CRESCENT = 187
170
+ NEASDEN = 189
171
+ NEW_CROSS = 190
172
+ NEW_CROSS_GATE = 191
173
+ NEWBURY_PARK = 192
174
+ NORTH_ACTON = 193
175
+ NORTH_EALING = 194
176
+ NORTH_GREENWICH = 195
177
+ NORTH_HARROW = 196
178
+ NORTH_WEMBLEY = 197
179
+ NORTH_WOOLWICH = 198
180
+ NORTHFIELDS = 199
181
+ NORTHOLT = 200
182
+ NORTHWICK_PARK = 201
183
+ NORTHWOOD = 202
184
+ NORTHWOOD_HILLS = 203
185
+ NOTTING_HILL_GATE = 204
186
+ OAKWOOD = 206
187
+ OLD_STREET = 207
188
+ OSTERLEY = 208
189
+ OVAL = 209
190
+ OXFORD_CIRCUS = 210
191
+ PADDINGTON = 211
192
+ PARK_ROYAL = 212
193
+ PARSONS_GREEN = 213
194
+ PERIVALE = 214
195
+ PICCADILLY_CIRCUS = 215
196
+ PIMLICO = 216
197
+ PINNER = 217
198
+ PLAISTOW = 218
199
+ PRESTON_ROAD = 220
200
+ PUTNEY_BRIDGE = 223
201
+ QUEENS_PARK = 224
202
+ QUEENSBURY = 225
203
+ QUEENSWAY = 226
204
+ RAVENSCOURT_PARK = 227
205
+ RAYNERS_LANE = 228
206
+ REDBRIDGE = 229
207
+ REGENTS_PARK = 230
208
+ RICHMOND = 231
209
+ RICKMANSWORTH = 232
210
+ RODING_VALLEY = 233
211
+ ROTHERHITHE = 234
212
+ ROTHERITHE = 235
213
+ ROYAL_OAK = 237
214
+ RUISLIP = 239
215
+ RUISLIP_GARDENS = 240
216
+ RUISLIP_MANOR = 241
217
+ RUSSELL_SQUARE = 243
218
+ SEVEN_SISTERS = 244
219
+ SHADWELL = 245
220
+ SHEPHERDS_BUSH = 246
221
+ SHOREDITCH = 247
222
+ SILVERTOWN = 248
223
+ SLOANE_SQUARE = 249
224
+ SNARESBROOK = 250
225
+ SOUTH_ACTON = 251
226
+ SOUTH_EALING = 252
227
+ SOUTH_HARROW = 253
228
+ SOUTH_KENSINGTON = 254
229
+ SOUTH_KENTON = 255
230
+ SOUTH_RUISLIP = 257
231
+ SOUTH_WIMBLEDON = 258
232
+ SOUTH_WOODFORD = 259
233
+ SOUTHFIELDS = 260
234
+ SOUTHGATE = 261
235
+ SOUTHWARK = 262
236
+ ST_JAMESS_PARK = 263
237
+ ST_JOHNS_WOOD = 264
238
+ ST_PAULS = 265
239
+ STAMFORD_BROOK = 266
240
+ STANMORE = 267
241
+ STEPNEY_GREEN = 268
242
+ STOCKWELL = 269
243
+ STONEBRIDGE_PARK = 270
244
+ STRATFORD = 271
245
+ SUDBURY_HILL = 272
246
+ SUDBURY_TOWN = 273
247
+ SURREY_QUAYS = 274
248
+ SWISS_COTTAGE = 275
249
+ TEMPLE = 276
250
+ THEYDON_BOIS = 277
251
+ TOOTING_BEC = 278
252
+ TOOTING_BROADWAY = 279
253
+ TOTTENHAM_COURT_ROAD = 280
254
+ TOTTENHAM_HALE = 281
255
+ TOTTERIDGE_AND_WHETSTONE = 282
256
+ TOWER_HILL = 284
257
+ TUFFNELL_PARK = 285
258
+ TURNHAM_GREEN = 286
259
+ TURNPIKE_LANE = 287
260
+ UPMINSTER = 288
261
+ UPMINSTER_BRIDGE = 289
262
+ UPNEY = 290
263
+ UPTON_PARK = 291
264
+ UXBRIDGE = 292
265
+ VAUXHALL = 293
266
+ VICTORIA = 294
267
+ WALTHAMSTOW_CENTRAL = 295
268
+ WANSTEAD = 296
269
+ WAPPING = 297
270
+ WARREN_STREET = 298
271
+ WARWICK_AVENUE = 299
272
+ WATERLOO = 300
273
+ WATFORD = 301
274
+ WEMBLEY_CENTRAL = 302
275
+ WEMBLEY_PARK = 303
276
+ WEST_ACTON = 304
277
+ WEST_BROMPTON = 305
278
+ WEST_FINCHLEY = 306
279
+ WEST_HAM = 307
280
+ WEST_HAMPSTEAD = 308
281
+ WEST_HARROW = 309
282
+ WEST_KENSINGTON = 311
283
+ WEST_RUISLIP = 312
284
+ WESTBOURNE_PARK = 313
285
+ WESTMINSTER = 315
286
+ WHITE_CITY = 316
287
+ WHITECHAPEL = 317
288
+ WILLESDEN_GREEN = 318
289
+ WILLESDEN_JUNCTION = 319
290
+ WIMBLEDON = 320
291
+ WIMBLEDON_PARK = 321
292
+ WOOD_GREEN = 322
293
+ WOODFORD = 323
294
+ WOODSIDE_PARK = 324
295
+ end
296
+ end
297
+ end
@@ -0,0 +1,33 @@
1
+ module BeerInTheEvening
2
+ class Pub
3
+ def initialize data
4
+ @data = data
5
+ end
6
+
7
+ def name
8
+ @data.css("td b a:first-child")[0].inner_text.to_s
9
+ end
10
+
11
+ def url
12
+ "http://beerintheevening.com" + @data.css("td b a:first-child")[0]['href'].to_s
13
+ end
14
+
15
+ def rating
16
+ results = @data.css("td:nth-child(3)")[0].inner_text.scan /Rating:(.*)\/10/
17
+ results[0][0].to_f if results[0]
18
+ end
19
+
20
+ def visited?
21
+ Meetup.exists? self
22
+ end
23
+
24
+ def distance
25
+ results = @data.css("td:nth-child(2)")[0].inner_text.scan /Distance:(.*)miles/
26
+ results[0][0].to_f if results[0]
27
+ end
28
+
29
+ def to_s
30
+ [ name, "#{distance} miles", "#{rating} / 10", url ].join ', '
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,65 @@
1
+ module BeerInTheEvening
2
+ class Search
3
+ attr_accessor :tube_station
4
+ attr_accessor :real_ale
5
+ attr_accessor :food
6
+ attr_accessor :wifi
7
+ attr_accessor :minimum_rating
8
+
9
+ def number_of_results
10
+ matches = page(0).to_s.scan /showing \d+ to \d+ of (\d+)/
11
+ matches[0][0].to_i
12
+ end
13
+
14
+ def each &block
15
+ current_page = 0
16
+ loop do
17
+ results = results_on_page current_page
18
+ break if results.empty?
19
+ results.each &block
20
+ current_page += 1
21
+ end
22
+ end
23
+ include Enumerable
24
+
25
+ def query_string
26
+ params = []
27
+ params << "tu=#{tube_station}" if tube_station
28
+ params << "ra=on" if real_ale
29
+ params << "f=on" if food
30
+ params << "wireless=on" if wifi
31
+ params << "rating=#{minimum_rating}" if minimum_rating
32
+ params.join '&'
33
+ end
34
+ private :query_string
35
+
36
+ def page n
37
+ uri = "http://www.beerintheevening.com/pubs/results.shtml?#{query_string}&page=#{n}"
38
+ content = read_cache uri do
39
+ open(uri).read
40
+ end
41
+ doc = Nokogiri::HTML content
42
+ end
43
+ private :page
44
+
45
+ def read_cache uri
46
+ cache_dir = Dir.tmpdir + "/beer_in_the_evening-#{BeerInTheEvening::VERSION}"
47
+ Dir.mkdir cache_dir unless File.exists? cache_dir
48
+ cache_file_name = "#{cache_dir}/#{Digest::SHA1.hexdigest(uri)}.html"
49
+ return File.read(cache_file_name) if File.exists? cache_file_name
50
+ data = yield
51
+ File.open cache_file_name, 'w+' do |f|
52
+ f.puts data
53
+ end
54
+ data
55
+ end
56
+ private :read_cache
57
+
58
+ def results_on_page n
59
+ page(n).css('table.pubtable tr.pubtable').to_a.map { |row|
60
+ Pub.new row
61
+ }
62
+ end
63
+ private :results_on_page
64
+ end
65
+ end
@@ -0,0 +1,3 @@
1
+ module BeerInTheEvening
2
+ VERSION = "0.0.3"
3
+ end
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: beer_in_the_evening
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Craig R Webster
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-11-01 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: &70318119693620 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70318119693620
25
+ description: Search over the Beer In The Evening site looking for suitable pubs
26
+ email:
27
+ - craig@barkingiguana.com
28
+ executables: []
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - .gitignore
33
+ - Gemfile
34
+ - README.md
35
+ - Rakefile
36
+ - beer_in_the_evening.gemspec
37
+ - lib/beer_in_the_evening.rb
38
+ - lib/beer_in_the_evening/location/dlr.rb
39
+ - lib/beer_in_the_evening/location/tube.rb
40
+ - lib/beer_in_the_evening/pub.rb
41
+ - lib/beer_in_the_evening/search.rb
42
+ - lib/beer_in_the_evening/version.rb
43
+ homepage: ''
44
+ licenses: []
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements: []
62
+ rubyforge_project: beer_in_the_evening
63
+ rubygems_version: 1.8.10
64
+ signing_key:
65
+ specification_version: 3
66
+ summary: Is it pub time?
67
+ test_files: []