lita-onewheel-beer-apex 0.2.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 12f871eabb1a0a50b12655f79d6981b6c68899f9
4
+ data.tar.gz: 393726319625775c72ab424bec8d7f5a33ed7670
5
+ SHA512:
6
+ metadata.gz: 482140aa6c45ed052608d6176b2b8500e72001172811b2d8b89a0fb404e7bcd57fdaa19496315e0cb90213bcb30d1014a0947d02238e00586caa7246b14c64c0
7
+ data.tar.gz: b21f2e53f17813220336e7d7acf44edf756a52a085bc2671a7f52ae7af043031793300d589edf9bf405a160503d4ea7f0fbe35de65b2d433820866d46ebbfbab
data/.gitignore ADDED
@@ -0,0 +1,19 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ .idea
19
+ lita_config.rb
data/.travis.yml ADDED
@@ -0,0 +1,16 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.2.4
5
+ - 2.3.0
6
+
7
+ script: bundle exec rspec -fp spec
8
+
9
+ # Travis CI has an outdated version of bundler on older versions of ruby.
10
+ # See bundler/bundler#3558 for more information
11
+ #before_install:
12
+ # - gem update --system
13
+ # - gem update bundler
14
+
15
+ services:
16
+ - redis-server
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ # For local development and base testing
6
+ # gem 'lita-onewheel-beer-base', :github => 'onewheelskyward/lita-onewheel-beer-base', branch: :master
data/README.md ADDED
@@ -0,0 +1,30 @@
1
+ # lita-onewheel-apex-bar
2
+
3
+ [![Build Status](https://travis-ci.org/onewheelskyward/lita-onewheel-apex-bar.png?branch=master)](https://travis-ci.org/onewheelskyward/lita-onewheel-apex-bar)
4
+ [![Coverage Status](https://coveralls.io/repos/onewheelskyward/lita-onewheel-apex-bar/badge.png)](https://coveralls.io/r/onewheelskyward/lita-onewheel-apex-bar)
5
+
6
+ Searches Apex Bar's draft list for data and displays it in IRC.
7
+ http://apexbar.com/menu
8
+
9
+ ## Installation
10
+
11
+ Add lita-onewheel-apex-bar to your Lita instance's Gemfile:
12
+
13
+ ``` ruby
14
+ gem 'lita-onewheel-apex-bar'
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ apex
20
+
21
+ apex 4
22
+
23
+ apex nitro
24
+
25
+ apex >(=)5%
26
+
27
+ apex <(=)$5
28
+
29
+ apex roulette|random
30
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
@@ -0,0 +1,111 @@
1
+ require 'rest-client'
2
+ require 'nokogiri'
3
+ require 'sanitize'
4
+ require 'lita-onewheel-beer-base'
5
+
6
+ module Lita
7
+ module Handlers
8
+ class OnewheelBeerApex < OnewheelBeerBase
9
+ route /^apex$/i,
10
+ :taps_list,
11
+ command: true,
12
+ help: {'taps' => 'Display the current Apex Bar taps.'}
13
+
14
+ route /^apex ([\w ]+)$/i,
15
+ :taps_deets,
16
+ command: true,
17
+ help: {'taps 4' => 'Display the tap 4 deets, including prices.'}
18
+
19
+ route /^apex ([<>=\w.\s]+)%$/i,
20
+ :taps_by_abv,
21
+ command: true,
22
+ help: {'taps >4%' => 'Display beers over 4% ABV.'}
23
+
24
+ route /^apex ([<>=\$\w.\s]+)$/i,
25
+ :taps_by_price,
26
+ command: true,
27
+ help: {'taps <$5' => 'Display beers under $5.'}
28
+
29
+ route /^apex (roulette|random|rand|ran|ra|r)$/i,
30
+ :taps_by_random,
31
+ command: true,
32
+ help: {'taps roulette' => 'Can\'t decide? Let me do it for you!'}
33
+
34
+ route /^apexabvlow$/i,
35
+ :taps_low_abv,
36
+ command: true,
37
+ help: {'tapslow' => 'Show me the lowest abv keg.'}
38
+
39
+ route /^apexabvhigh$/i,
40
+ :taps_high_abv,
41
+ command: true,
42
+ help: {'tapslow' => 'Show me the highest abv keg.'}
43
+
44
+ def send_response(tap, datum, response)
45
+ reply = "Apex tap #{tap}) #{get_tap_type_text(datum[:type])}"
46
+ # reply += "#{datum[:brewery]} "
47
+ reply += "#{datum[:name]} "
48
+ # reply += "- #{datum[:desc]}, "
49
+ # reply += "Served in a #{datum[1]['glass']} glass. "
50
+ # reply += "#{datum[:remaining]}"
51
+ reply += "#{datum[:abv]}%, "
52
+ reply += "$#{datum[:price].to_s.sub '.0', ''}"
53
+
54
+ Lita.logger.info "send_response: Replying with #{reply}"
55
+
56
+ response.reply reply
57
+ end
58
+
59
+ def get_source
60
+ Lita.logger.debug 'get_source started'
61
+ unless (response = redis.get('page_response'))
62
+ Lita.logger.info 'No cached result found, fetching.'
63
+ response = RestClient.get('http://apexbar.com/menu')
64
+ redis.setex('page_response', 1800, response)
65
+ end
66
+ parse_response response
67
+ end
68
+
69
+ # This is the worker bee- decoding the html into our "standard" document.
70
+ # Future implementations could simply override this implementation-specific
71
+ # code to help this grow more widely.
72
+ def parse_response(response)
73
+ Lita.logger.debug 'parse_response started.'
74
+ gimme_what_you_got = {}
75
+ noko = Nokogiri.HTML response
76
+ noko.css('table.table tbody tr').each_with_index do |beer_node, index|
77
+ # gimme_what_you_got
78
+ tap_name = (index + 1).to_s
79
+
80
+ brewery = beer_node.css('td')[2].children.to_s
81
+ beer_name = beer_node.css('td')[0].children.text.to_s
82
+ beer_type = beer_name.match(/\s*-\s*\w+$/).to_s
83
+ beer_type.sub! /\s+-\s+/, ''
84
+ # beer_desc = get_beer_desc(beer_node)
85
+ abv = beer_node.css('td')[4].children.to_s
86
+ full_text_search = "#{brewery} #{beer_name.to_s.gsub /(\d+|')/, ''}" # #{beer_desc.to_s.gsub /\d+\.*\d*%*/, ''}
87
+ price_node = beer_node.css('td')[1].children.to_s
88
+ price = (price_node.sub /\$/, '').to_f
89
+
90
+ Lita.logger.debug "Price #{price}"
91
+
92
+ gimme_what_you_got[tap_name] = {
93
+ # type: tap_type,
94
+ # remaining: remaining,
95
+ brewery: brewery.to_s,
96
+ name: beer_name.to_s,
97
+ desc: beer_type.to_s,
98
+ abv: abv.to_f,
99
+ price: price,
100
+ search: full_text_search
101
+ }
102
+ end
103
+ # puts gimme_what_you_got.inspect
104
+
105
+ gimme_what_you_got
106
+ end
107
+
108
+ Lita.register_handler(self)
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,12 @@
1
+ require 'lita'
2
+
3
+ Lita.load_locales Dir[File.expand_path(
4
+ File.join('..', '..', 'locales', '*.yml'), __FILE__
5
+ )]
6
+
7
+ require 'lita/handlers/onewheel_beer_apex'
8
+
9
+ Lita::Handlers::OnewheelBeerApex.template_root File.expand_path(
10
+ File.join('..', '..', 'templates'),
11
+ __FILE__
12
+ )
@@ -0,0 +1,31 @@
1
+ Gem::Specification.new do |spec|
2
+ spec.name = 'lita-onewheel-beer-apex'
3
+ spec.version = '0.2.2'
4
+ spec.authors = ['Andrew Kreps']
5
+ spec.email = ['andrew.kreps@gmail.com']
6
+ spec.description = %q{Lita interface to Apex Bar's listings.}
7
+ spec.summary = %q{See above.}
8
+ spec.homepage = 'https://github.com/onewheelskyward/lita-onewheel-beer-apex'
9
+ spec.license = 'MIT'
10
+ spec.metadata = { 'lita_plugin_type' => 'handler' }
11
+
12
+ spec.files = `git ls-files`.split($/)
13
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
14
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
15
+ spec.require_paths = ['lib']
16
+
17
+ spec.add_runtime_dependency 'lita', '~> 4.7'
18
+ spec.add_runtime_dependency 'rest-client', '~> 1.8'
19
+ spec.add_runtime_dependency 'nokogiri', '~> 1.6'
20
+ spec.add_runtime_dependency 'sanitize', '~> 4.0'
21
+ spec.add_runtime_dependency 'lita-onewheel-beer-base', '>= 1'
22
+
23
+ spec.add_development_dependency 'bundler', '~> 1.3'
24
+
25
+ # spec.add_development_dependency 'pry-byebug', '~> 3.1'
26
+ spec.add_development_dependency 'rake', '~> 10.4'
27
+ spec.add_development_dependency 'rack-test', '~> 0.6'
28
+ spec.add_development_dependency 'rspec', '~> 3.0'
29
+ spec.add_development_dependency 'simplecov', '~> 0.10'
30
+ spec.add_development_dependency 'coveralls', '~> 0.8'
31
+ end
@@ -0,0 +1,689 @@
1
+
2
+ <!DOCTYPE html>
3
+ <html lang="en" class="no-js">
4
+
5
+
6
+ <head>
7
+ <meta charset="utf-8">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
10
+ <title>Apex Bar PDX</title>
11
+ <link href="/static/css/bootstrap-2.2.1-cyborg.min.css" rel="stylesheet" />
12
+ <link href="/static/css/bootstrap-responsive-2.2.2.min.css" rel="stylesheet" />
13
+ <link rel="stylesheet" href="/static/css/font-awesome.min.css">
14
+ <link href="/static/css/main.css" rel="stylesheet" />
15
+ <link rel="shortcut icon" href="/static/img/favicon.ico" />
16
+
17
+ <style type="text/css">
18
+ table.table { width: auto; }
19
+ .marketing .span12 {margin-top: 90px; }
20
+ .table th {font-weight: bolder; color: #FCFCFC; }
21
+ .table td {font-weight: normal;}
22
+
23
+ .table-striped tbody > tr:nth-child(odd) > td,
24
+ .table-striped tbody > tr:nth-child(odd) > th {
25
+ background-color: #2B2828;
26
+ }
27
+ </style>
28
+
29
+ <script src="/static/js/lib/modernizr-2.6.2.min.js"></script>
30
+ <!-- defer-incapable JS block -->
31
+ </head>
32
+ <body>
33
+ <div id="header">
34
+ <!--suppress HtmlUnknownTarget -->
35
+ <div class="navbar-wrapper">
36
+ <div class="container">
37
+
38
+ <!-- Desktop/Tablet version -->
39
+ <div class="navbar navbar-inverse hidden-phone">
40
+ <div class="navbar-inner">
41
+ <a class="brand" href="/">APEX</a><a class="brand" href="/" style="font-size: 120%; font-style: italic">A Beer Bar</a>
42
+ <ul class="nav pull-right">
43
+
44
+ <li>
45
+ <a href="/faq">FAQ</a>
46
+ </li>
47
+ <!-- <li>
48
+ <a href="/bottlemenu">Bottle Menu</a>
49
+ </li> -->
50
+ <li>
51
+ <a href="/menu">Live Beer Menu</a>
52
+ </li>
53
+ </ul>
54
+ </div><!-- /.navbar .container -->
55
+ </div><!-- /.navbar-inner -->
56
+
57
+ <!-- phone version -->
58
+ <div class="navbar navbar-inverse visible-phone">
59
+ <div class="navbar-inner" style="font-size: 90%">
60
+ <a class="brand" href="/" style="font-size: 180%; font-style: normal">APEX</a>
61
+ <a class="brand" href="/" style="font-size: 150%; font-style: italic">A Beer Bar</a>
62
+ <ul class="nav pull-right">
63
+
64
+ <li>
65
+ <a href="/faq">FAQ</a>
66
+ </li>
67
+ <!-- <li>
68
+ <a href="/bottlemenu">Bottle Menu</a>
69
+ </li> -->
70
+ <li>
71
+ <a href="/menu">Live Beer Menu</a>
72
+ </li>
73
+ </ul>
74
+ </div><!-- /.navbar .container -->
75
+ </div><!-- /.navbar-inner -->
76
+
77
+
78
+ </div>
79
+ </div><!-- /navbar -->
80
+
81
+
82
+ </div>
83
+ <div class="container" id="maincontent">
84
+
85
+
86
+
87
+ <div id="body_content">
88
+
89
+
90
+ <div class="container marketing">
91
+ <div class="row-fluid">
92
+ <div class="span12">
93
+ <h2>Live Beers on Tap</h2>
94
+ <table class="table table-striped table-bordered table-hover table-condensed">
95
+ <thead>
96
+ <tr>
97
+ <th class="span4">Name</th>
98
+ <th class="span1">Price</th>
99
+ <th class="span4">Brewery</th>
100
+ <th class="span1">Origin</th>
101
+ <th class="span1">ABV</th>
102
+ <th class="span1">Size</th>
103
+ </tr>
104
+ </thead>
105
+ <tbody>
106
+
107
+ <tr onclick="window.open('http://www.ratebeer.com/beer/bayreuther-aktien-original/44444/5328/','_blank');">
108
+
109
+ <td>Aktien Helles Lager</td>
110
+
111
+ <td>$5</td>
112
+ <td>Bayreuther</td>
113
+ <td>GER</td>
114
+ <td>5.3</td>
115
+ <td>0.5L</td>
116
+ </tr>
117
+
118
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/23066/63088','_blank');">
119
+
120
+ <td>Armored Fist - Big,Black&amp;Hoppy</td>
121
+
122
+ <td>$5</td>
123
+ <td>Boneyard</td>
124
+ <td>BND</td>
125
+ <td>10</td>
126
+ <td>12oz</td>
127
+ </tr>
128
+
129
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/463/14719/','_blank');">
130
+
131
+ <td>Barrel Aged Old Thunderpussy</td>
132
+
133
+ <td>$5</td>
134
+ <td>Magnolia</td>
135
+ <td>CA</td>
136
+ <td>10.8</td>
137
+ <td>6oz</td>
138
+ </tr>
139
+
140
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/863/22790','_blank');">
141
+
142
+ <td>Blind Pig - IPA</td>
143
+
144
+ <td>$6</td>
145
+ <td>Russian River</td>
146
+ <td>CA</td>
147
+ <td>6.1</td>
148
+ <td>16oz</td>
149
+ </tr>
150
+
151
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/463/4647/','_blank');">
152
+
153
+ <td>Blue Bell Bitter </td>
154
+
155
+ <td>$5</td>
156
+ <td>Magnolia</td>
157
+ <td>CA</td>
158
+ <td>5.4</td>
159
+ <td>16oz</td>
160
+ </tr>
161
+
162
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/23066/59798/','_blank');">
163
+
164
+ <td>Bone-A-Fide - Pale</td>
165
+
166
+ <td>$5</td>
167
+ <td>Boneyard</td>
168
+ <td>BND</td>
169
+ <td>5.5</td>
170
+ <td>16oz</td>
171
+ </tr>
172
+
173
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/23200/159885/','_blank');">
174
+
175
+ <td>Breaking Bud - IPA</td>
176
+
177
+ <td>$5</td>
178
+ <td>Knee Deep</td>
179
+ <td>CA</td>
180
+ <td>6.5</td>
181
+ <td>16oz</td>
182
+ </tr>
183
+
184
+ <tr onclick="window.open('http://yearinbeer.tumblr.com/post/765411490/hamms-premium','_blank');">
185
+
186
+ <td>Cheap, cold</td>
187
+
188
+ <td>$3</td>
189
+ <td>Hamm&#39;s</td>
190
+ <td>USA</td>
191
+ <td>4.7</td>
192
+ <td>16oz</td>
193
+ </tr>
194
+
195
+ <tr onclick="window.open('https://untappd.com/b/two-rivers-cider-company-pomegranate-cider/30498','_blank');">
196
+
197
+ <td>Cider- Huckleberry</td>
198
+
199
+ <td>$5</td>
200
+ <td>Two Rivers</td>
201
+ <td>CA</td>
202
+ <td>5</td>
203
+ <td>16oz</td>
204
+ </tr>
205
+
206
+ <tr onclick="window.open('https://untappd.com/b/cider-riot-never-give-an-inch/749700','_blank');">
207
+
208
+ <td>Cider- NeverGiveAnInch -Rosé </td>
209
+
210
+ <td>$5</td>
211
+ <td>Cider Riot!</td>
212
+ <td>PDX</td>
213
+ <td>6.9</td>
214
+ <td>16oz</td>
215
+ </tr>
216
+
217
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/223/50772','_blank');">
218
+
219
+ <td>Cuvée des Jacobins Rouge*</td>
220
+
221
+ <td>$5</td>
222
+ <td>Bockor</td>
223
+ <td>BEL</td>
224
+ <td>5.5</td>
225
+ <td>6oz</td>
226
+ </tr>
227
+
228
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/463/122803/','_blank');">
229
+
230
+ <td>Delilah Jones &#39;15 - StrongRye</td>
231
+
232
+ <td>$5</td>
233
+ <td>Magnolia</td>
234
+ <td>CA</td>
235
+ <td>10.8</td>
236
+ <td>6oz</td>
237
+ </tr>
238
+
239
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/3120/27604','_blank');">
240
+
241
+ <td>Duet - IPA</td>
242
+
243
+ <td>$5</td>
244
+ <td>Alpine</td>
245
+ <td>CA</td>
246
+ <td>7</td>
247
+ <td>16oz</td>
248
+ </tr>
249
+
250
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/192/210034/','_blank');">
251
+
252
+ <td>Golden - Herbs,Seeds,Spelt</td>
253
+
254
+ <td>$5</td>
255
+ <td>NewBelg&amp;HofTenDormaal</td>
256
+ <td>CO</td>
257
+ <td>7</td>
258
+ <td>12oz</td>
259
+ </tr>
260
+
261
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/817/68049','_blank');">
262
+
263
+ <td>Grapefruit Radler</td>
264
+
265
+ <td>$5</td>
266
+ <td>Stiegl</td>
267
+ <td>AUT</td>
268
+ <td>2.5</td>
269
+ <td>0.5L</td>
270
+ </tr>
271
+
272
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/5077/101316','_blank');">
273
+
274
+ <td>Handtruck - Pale</td>
275
+
276
+ <td>$5</td>
277
+ <td>Barley Brown&#39;s</td>
278
+ <td>OR</td>
279
+ <td>5.5</td>
280
+ <td>16oz</td>
281
+ </tr>
282
+
283
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/5077/61448/','_blank');">
284
+
285
+ <td>Head Shake - IIPA</td>
286
+
287
+ <td>$5</td>
288
+ <td>Barley Brown&#39;s</td>
289
+ <td>OR</td>
290
+ <td>8.75</td>
291
+ <td>12oz</td>
292
+ </tr>
293
+
294
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/23066/72750','_blank');">
295
+
296
+ <td>Hop Venom - IIPA</td>
297
+
298
+ <td>$5</td>
299
+ <td>Boneyard</td>
300
+ <td>BND</td>
301
+ <td>9</td>
302
+ <td>12oz</td>
303
+ </tr>
304
+
305
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/39/133/','_blank');">
306
+
307
+ <td>Jahrhundert - Export Lager</td>
308
+
309
+ <td>$5</td>
310
+ <td>Ayinger</td>
311
+ <td>GER</td>
312
+ <td>5.5</td>
313
+ <td>0.5L</td>
314
+ </tr>
315
+
316
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/463/17590/','_blank');">
317
+
318
+ <td>Kalifornia Kolsch</td>
319
+
320
+ <td>$5</td>
321
+ <td>Magnolia</td>
322
+ <td>CA</td>
323
+ <td>4.8</td>
324
+ <td>16oz</td>
325
+ </tr>
326
+
327
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/252/760','_blank');">
328
+
329
+ <td>Kristallweissbier</td>
330
+
331
+ <td>$6</td>
332
+ <td>Weihenstephan</td>
333
+ <td>GER</td>
334
+ <td>5.4</td>
335
+ <td>0.5L</td>
336
+ </tr>
337
+
338
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/192/26541','_blank');">
339
+
340
+ <td>Le Terroir*</td>
341
+
342
+ <td>$6</td>
343
+ <td>New Belgium</td>
344
+ <td>CO</td>
345
+ <td>7.5</td>
346
+ <td>6oz</td>
347
+ </tr>
348
+
349
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/23200/159480/','_blank');">
350
+
351
+ <td>Lupulin River - IPA</td>
352
+
353
+ <td>$6</td>
354
+ <td>Knee Deep</td>
355
+ <td>CA</td>
356
+ <td>8</td>
357
+ <td>16oz</td>
358
+ </tr>
359
+
360
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/585/2637','_blank');">
361
+
362
+ <td>Maisel&#39;s Weisse - Hefeweizen </td>
363
+
364
+ <td>$5</td>
365
+ <td>Gebruder Maisel</td>
366
+ <td>GER</td>
367
+ <td>5.4</td>
368
+ <td>0.5L</td>
369
+ </tr>
370
+
371
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/173/945/','_blank');">
372
+
373
+ <td>Nitro- Adam -Drinking Tobacco</td>
374
+
375
+ <td>$6</td>
376
+ <td>Hair of the Dog</td>
377
+ <td>PDX</td>
378
+ <td>10</td>
379
+ <td>12oz</td>
380
+ </tr>
381
+
382
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/1141/10330','_blank');">
383
+
384
+ <td>Nitro- Aphrodisiaque - Stout </td>
385
+
386
+ <td>$6</td>
387
+ <td>Dieu du Ciel!</td>
388
+ <td>CAN</td>
389
+ <td>6.5</td>
390
+ <td>12oz</td>
391
+ </tr>
392
+
393
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/112/412/','_blank');">
394
+
395
+ <td>Nitro- Old Rasputin - RIS</td>
396
+
397
+ <td>$4</td>
398
+ <td>North Coast</td>
399
+ <td>CA</td>
400
+ <td>9</td>
401
+ <td>12oz</td>
402
+ </tr>
403
+
404
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/112/410/','_blank');">
405
+
406
+ <td>Nitro- Red Seal - Red</td>
407
+
408
+ <td>$5</td>
409
+ <td>North Coast</td>
410
+ <td>CA</td>
411
+ <td>5.4</td>
412
+ <td>16oz</td>
413
+ </tr>
414
+
415
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/130/101458','_blank');">
416
+
417
+ <td>Nitro- Shake - Choco Porter</td>
418
+
419
+ <td>$8</td>
420
+ <td>Boulder</td>
421
+ <td>CO</td>
422
+ <td>5.9</td>
423
+ <td>1L</td>
424
+ </tr>
425
+
426
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/209/754','_blank');">
427
+
428
+ <td>Nitro- Stout</td>
429
+
430
+ <td>$4</td>
431
+ <td>Guinness</td>
432
+ <td>IRL</td>
433
+ <td>4.1</td>
434
+ <td>20oz</td>
435
+ </tr>
436
+
437
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/23066/70013','_blank');">
438
+
439
+ <td>Notorious - IIIPA</td>
440
+
441
+ <td>$5</td>
442
+ <td>Boneyard</td>
443
+ <td>BND</td>
444
+ <td>11.5</td>
445
+ <td>6oz</td>
446
+ </tr>
447
+
448
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/29415/95513/','_blank');">
449
+
450
+ <td>Off Leash - NW Session Ale</td>
451
+
452
+ <td>$5</td>
453
+ <td>Crux</td>
454
+ <td>BND</td>
455
+ <td>4.5</td>
456
+ <td>16oz</td>
457
+ </tr>
458
+
459
+ <tr onclick="window.open('http://www.ratebeer.com/beer/rogue-old-crustacean-barleywine/594/','_blank');">
460
+
461
+ <td>Old Crustacean &#39;12-Barleywine</td>
462
+
463
+ <td>$4</td>
464
+ <td>Rogue</td>
465
+ <td>OR</td>
466
+ <td>11.5</td>
467
+ <td>6oz</td>
468
+ </tr>
469
+
470
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/5077/81755','_blank');">
471
+
472
+ <td>Pallet Jack - IPA</td>
473
+
474
+ <td>$6</td>
475
+ <td>Barley Brown&#39;s</td>
476
+ <td>OR</td>
477
+ <td>7</td>
478
+ <td>16oz</td>
479
+ </tr>
480
+
481
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/30356/145616/','_blank');">
482
+
483
+ <td>Phantasmagoria - IPA</td>
484
+
485
+ <td>$5</td>
486
+ <td>Prairie</td>
487
+ <td>OK</td>
488
+ <td>8</td>
489
+ <td>12oz</td>
490
+ </tr>
491
+
492
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/2974/799/','_blank');">
493
+
494
+ <td>Pilsner</td>
495
+
496
+ <td>$5</td>
497
+ <td>Radeberger</td>
498
+ <td>GER</td>
499
+ <td>4.8</td>
500
+ <td>0.5L</td>
501
+ </tr>
502
+
503
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/863/7971','_blank');">
504
+
505
+ <td>Pliny The Elder</td>
506
+
507
+ <td>$8</td>
508
+ <td>Russian River</td>
509
+ <td>CA</td>
510
+ <td>8</td>
511
+ <td>16oz</td>
512
+ </tr>
513
+
514
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/30356/148836/','_blank');">
515
+
516
+ <td>Prairie-Vous Francais - Saison&nbsp;&nbsp;<div class="btn btn-danger btn-mini"><i class="icon-star icon-white"></i> Just Tapped<i class="icon-star icon-white"></i></div></td>
517
+
518
+ <td>$5</td>
519
+ <td>Prairie</td>
520
+ <td>OK</td>
521
+ <td>3.9</td>
522
+ <td>12oz</td>
523
+ </tr>
524
+
525
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/463/15217/','_blank');">
526
+
527
+ <td>Proving Ground - IPA</td>
528
+
529
+ <td>$5</td>
530
+ <td>Magnolia</td>
531
+ <td>CA</td>
532
+ <td>7.2</td>
533
+ <td>16oz</td>
534
+ </tr>
535
+
536
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/29415/180807/','_blank');">
537
+
538
+ <td>Prowell Springs - Pilsner</td>
539
+
540
+ <td>$5</td>
541
+ <td>Crux</td>
542
+ <td>BND</td>
543
+ <td>5.5</td>
544
+ <td>16oz</td>
545
+ </tr>
546
+
547
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/637/1717','_blank');">
548
+
549
+ <td>Saison</td>
550
+
551
+ <td>$6</td>
552
+ <td>Dupont</td>
553
+ <td>BEL</td>
554
+ <td>6.5</td>
555
+ <td>12oz</td>
556
+ </tr>
557
+
558
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/463/22214/','_blank');">
559
+
560
+ <td>Saison de Lily</td>
561
+
562
+ <td>$5</td>
563
+ <td>Magnolia</td>
564
+ <td>CA</td>
565
+ <td>7.3</td>
566
+ <td>16oz</td>
567
+ </tr>
568
+
569
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/26850/174328/?ba=StonedTrippin','_blank');">
570
+
571
+ <td>Sho&#39; Nuff - Belgian Pale</td>
572
+
573
+ <td>$5</td>
574
+ <td>Against the Grain</td>
575
+ <td>KY</td>
576
+ <td>4.9</td>
577
+ <td>16oz</td>
578
+ </tr>
579
+
580
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/24299/175395/','_blank');">
581
+
582
+ <td>Simple Life - Lacto Saison*</td>
583
+
584
+ <td>$5</td>
585
+ <td>To Øl</td>
586
+ <td>DEN</td>
587
+ <td>10</td>
588
+ <td>6oz</td>
589
+ </tr>
590
+
591
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/463/17591/','_blank');">
592
+
593
+ <td>Stout of Circumstance</td>
594
+
595
+ <td>$5</td>
596
+ <td>Magnolia</td>
597
+ <td>CA</td>
598
+ <td>6.1</td>
599
+ <td>16oz</td>
600
+ </tr>
601
+
602
+ <tr onclick="window.open('http://www.beeradvocate.com/beer/profile/25888/113523/','_blank');">
603
+
604
+ <td>Sump - Imp Coffee Stout</td>
605
+
606
+ <td>$5</td>
607
+ <td>Perennial </td>
608
+ <td>MO</td>
609
+ <td>10.5</td>
610
+ <td>6oz</td>
611
+ </tr>
612
+
613
+ <tr onclick="window.open('http://www.atgbrewery.com/Menu/Beer/2/Dark/3/Tex-Arcana/431','_blank');">
614
+
615
+ <td>Tex Arcana - Stout</td>
616
+
617
+ <td>$5</td>
618
+ <td>Against the Grain</td>
619
+ <td>KY</td>
620
+ <td>6.5</td>
621
+ <td>12oz</td>
622
+ </tr>
623
+
624
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/202/656','_blank');">
625
+
626
+ <td>Tripel Karmeliet</td>
627
+
628
+ <td>$7</td>
629
+ <td>Bosteels</td>
630
+ <td>BEL</td>
631
+ <td>8</td>
632
+ <td>0.33L</td>
633
+ </tr>
634
+
635
+ <tr onclick="window.open('https://untappd.com/b/gigantic-brewing-company-vivid/1529256/photos','_blank');">
636
+
637
+ <td>Vivid - IIPA</td>
638
+
639
+ <td>$5</td>
640
+ <td>Gigantic</td>
641
+ <td>PDX</td>
642
+ <td>8.5</td>
643
+ <td>12oz</td>
644
+ </tr>
645
+
646
+ <tr onclick="window.open('http://beeradvocate.com/beer/profile/5077/53343','_blank');">
647
+
648
+ <td>WFO - IPA</td>
649
+
650
+ <td>$5</td>
651
+ <td>Barley Brown&#39;s</td>
652
+ <td>OR</td>
653
+ <td>7.5</td>
654
+ <td>16oz</td>
655
+ </tr>
656
+
657
+ </tbody>
658
+ </table>
659
+ </div>
660
+ </div>
661
+ </div>
662
+
663
+
664
+ </div>
665
+ </div><!-- /container -->
666
+
667
+ <footer>
668
+ <div id="footer" class="container">
669
+ <p class="pull-right">&copy; 2012 Apex Bar &middot; All Rights Reserved<br>
670
+ <!-- <a href="/login?continue=/admin">Login</a></p> -->
671
+
672
+ <a href="https://www.google.com/accounts/ServiceLogin?service=ah&amp;passive=true&amp;continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttp://apexbar.com/&amp;ltmpl=gm&amp;shdf=Ch4LEgZhaG5hbWUaEkFwZXggQmFyIEJlZXIgTWVudQwSAmFoIhSC3NC0sX82AlsVtDm3KH3BFt63tigBMhTbqeik6xdNgcwuRV_0PC-q-ffmmQ" style="color: #5A5A5A">Log In</a>
673
+
674
+ </p>
675
+ <!-- footer -->
676
+ </div><!-- /footer -->
677
+ </footer>
678
+
679
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
680
+ <!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> -->
681
+ <!-- <script src="/static/js/lib/jquery-1.8.2.min.js" type="text/javascript" ></script> -->
682
+ <script src="/static/js/lib/bootstrap-2.2.2.min.js"></script>
683
+ <script src="/static/js/main.js"></script>
684
+
685
+
686
+
687
+
688
+ </body>
689
+ </html>
@@ -0,0 +1,155 @@
1
+ require 'spec_helper'
2
+
3
+ describe Lita::Handlers::OnewheelBeerApex, lita_handler: true do
4
+ it { is_expected.to route_command('apex') }
5
+ it { is_expected.to route_command('apex 4') }
6
+ it { is_expected.to route_command('apex nitro') }
7
+ it { is_expected.to route_command('apex CASK') }
8
+ it { is_expected.to route_command('apex <$4') }
9
+ it { is_expected.to route_command('apex < $4') }
10
+ it { is_expected.to route_command('apex <=$4') }
11
+ it { is_expected.to route_command('apex <= $4') }
12
+ it { is_expected.to route_command('apex >4%') }
13
+ it { is_expected.to route_command('apex > 4%') }
14
+ it { is_expected.to route_command('apex >=4%') }
15
+ it { is_expected.to route_command('apex >= 4%') }
16
+ it { is_expected.to route_command('apexabvhigh') }
17
+ it { is_expected.to route_command('apexabvlow') }
18
+
19
+ before do
20
+ mock = File.open('spec/fixtures/apex.html').read
21
+ allow(RestClient).to receive(:get) { mock }
22
+ end
23
+
24
+ it 'shows the Apex taps' do
25
+ send_command 'apex'
26
+ expect(replies.last).to eq("taps: 1) Bayreuther Aktien Helles Lager 2) Boneyard Armored Fist - Big,Black&Hoppy 3) Magnolia Barrel Aged Old Thunderpussy 4) Russian River Blind Pig - IPA 5) Magnolia Blue Bell Bitter 6) Boneyard Bone-A-Fide - Pale 7) Knee Deep Breaking Bud - IPA 8) Hamm's Cheap, cold 9) Two Rivers Cider- Huckleberry 10) Cider Riot! Cider- NeverGiveAnInch -Rosé 11) Bockor Cuvée des Jacobins Rouge* 12) Magnolia Delilah Jones '15 - StrongRye 13) Alpine Duet - IPA 14) NewBelg&amp;HofTenDormaal Golden - Herbs,Seeds,Spelt 15) Stiegl Grapefruit Radler 16) Barley Brown's Handtruck - Pale 17) Barley Brown's Head Shake - IIPA 18) Boneyard Hop Venom - IIPA 19) Ayinger Jahrhundert - Export Lager 20) Magnolia Kalifornia Kolsch 21) Weihenstephan Kristallweissbier 22) New Belgium Le Terroir* 23) Knee Deep Lupulin River - IPA 24) Gebruder Maisel Maisel's Weisse - Hefeweizen 25) Hair of the Dog Nitro- Adam -Drinking Tobacco 26) Dieu du Ciel! Nitro- Aphrodisiaque - Stout 27) North Coast Nitro- Old Rasputin - RIS 28) North Coast Nitro- Red Seal - Red 29) Boulder Nitro- Shake - Choco Porter 30) Guinness Nitro- Stout 31) Boneyard Notorious - IIIPA 32) Crux Off Leash - NW Session Ale 33) Rogue Old Crustacean '12-Barleywine 34) Barley Brown's Pallet Jack - IPA 35) Prairie Phantasmagoria - IPA 36) Radeberger Pilsner 37) Russian River Pliny The Elder 38) Prairie Prairie-Vous Francais - Saison   Just Tapped 39) Magnolia Proving Ground - IPA 40) Crux Prowell Springs - Pilsner 41) Dupont Saison 42) Magnolia Saison de Lily 43) Against the Grain Sho' Nuff - Belgian Pale 44) To Øl Simple Life - Lacto Saison* 45) Magnolia Stout of Circumstance 46) Perennial Sump - Imp Coffee Stout 47) Against the Grain Tex Arcana - Stout 48) Bosteels Tripel Karmeliet 49) Gigantic Vivid - IIPA 50) Barley Brown's WFO - IPA")
27
+ end
28
+
29
+ it 'displays details for tap 4' do
30
+ send_command 'apex 4'
31
+ expect(replies.last).to eq('Apex tap 4) Blind Pig - IPA 6.1%, $6')
32
+ end
33
+
34
+ it 'doesn\'t explode on 1' do
35
+ send_command 'apex 1'
36
+ expect(replies.count).to eq(1)
37
+ expect(replies.last).to eq('Apex tap 1) Aktien Helles Lager 5.3%, $5')
38
+ end
39
+
40
+ it 'gets nitro' do
41
+ send_command 'apex nitro'
42
+ expect(replies.last).to eq('Apex tap 30) Nitro- Stout 4.1%, $4')
43
+ end
44
+
45
+ it 'searches for ipa' do
46
+ send_command 'apex ipa'
47
+ expect(replies.last).to eq('Apex tap 50) WFO - IPA 7.5%, $5')
48
+ end
49
+
50
+ # it 'searches for brown' do
51
+ # send_command 'apex brown'
52
+ # expect(replies.last).to eq("Bailey's tap 22) GoodLife 29er - India Brown Ale 6.0%, 10oz - $3 | 20oz - $5 | 32oz Crowler - $8, 37% remaining")
53
+ # end
54
+
55
+ it 'searches for abv >9%' do
56
+ send_command 'apex >9%'
57
+ expect(replies.count).to eq(8)
58
+ expect(replies[0]).to eq('Apex tap 2) Armored Fist - Big,Black&Hoppy 10.0%, $5')
59
+ expect(replies[1]).to eq('Apex tap 3) Barrel Aged Old Thunderpussy 10.8%, $5')
60
+ expect(replies.last).to eq('Apex tap 46) Sump - Imp Coffee Stout 10.5%, $5')
61
+ end
62
+
63
+ it 'searches for abv > 9%' do
64
+ send_command 'apex > 9%'
65
+ expect(replies.count).to eq(8)
66
+ expect(replies[0]).to eq('Apex tap 2) Armored Fist - Big,Black&Hoppy 10.0%, $5')
67
+ expect(replies[1]).to eq('Apex tap 3) Barrel Aged Old Thunderpussy 10.8%, $5')
68
+ expect(replies.last).to eq('Apex tap 46) Sump - Imp Coffee Stout 10.5%, $5')
69
+ end
70
+
71
+ it 'searches for abv >= 9%' do
72
+ send_command 'apex >= 9%'
73
+ expect(replies.count).to eq(10)
74
+ expect(replies[0]).to eq('Apex tap 2) Armored Fist - Big,Black&Hoppy 10.0%, $5')
75
+ expect(replies.last).to eq('Apex tap 46) Sump - Imp Coffee Stout 10.5%, $5')
76
+ end
77
+
78
+ it 'searches for abv <4.1%' do
79
+ send_command 'apex <4.1%'
80
+ expect(replies.count).to eq(2)
81
+ expect(replies[0]).to eq('Apex tap 15) Grapefruit Radler 2.5%, $5')
82
+ expect(replies.last).to eq('Apex tap 38) Prairie-Vous Francais - Saison   Just Tapped 3.9%, $5')
83
+ end
84
+
85
+ it 'searches for abv <= 4%' do
86
+ send_command 'apex <= 4%'
87
+ expect(replies.count).to eq(2)
88
+ expect(replies[0]).to eq('Apex tap 15) Grapefruit Radler 2.5%, $5')
89
+ expect(replies.last).to eq('Apex tap 38) Prairie-Vous Francais - Saison   Just Tapped 3.9%, $5')
90
+ end
91
+
92
+ it 'searches for prices >$5' do
93
+ send_command 'apex >$5'
94
+ expect(replies.count).to eq(11)
95
+ expect(replies[0]).to eq('Apex tap 4) Blind Pig - IPA 6.1%, $6')
96
+ expect(replies[1]).to eq('Apex tap 21) Kristallweissbier 5.4%, $6')
97
+ end
98
+
99
+ it 'searches for prices >=$6' do
100
+ send_command 'apex >=$6'
101
+ expect(replies.count).to eq(11)
102
+ expect(replies[0]).to eq('Apex tap 4) Blind Pig - IPA 6.1%, $6')
103
+ end
104
+
105
+ it 'searches for prices > $6' do
106
+ send_command 'apex > $6'
107
+ expect(replies.count).to eq(3)
108
+ expect(replies[0]).to eq('Apex tap 29) Nitro- Shake - Choco Porter 5.9%, $8')
109
+ end
110
+
111
+ it 'searches for prices <$4.1' do
112
+ send_command 'apex <$4.1'
113
+ expect(replies.count).to eq(4)
114
+ expect(replies[0]).to eq('Apex tap 8) Cheap, cold 4.7%, $3')
115
+ end
116
+
117
+ it 'searches for prices < $4.01' do
118
+ send_command 'apex < $4.01'
119
+ expect(replies.count).to eq(4)
120
+ expect(replies[0]).to eq('Apex tap 8) Cheap, cold 4.7%, $3')
121
+ end
122
+
123
+ it 'searches for prices <= $4.00' do
124
+ send_command 'apex <= $4.00'
125
+ expect(replies.count).to eq(4)
126
+ expect(replies[0]).to eq('Apex tap 8) Cheap, cold 4.7%, $3')
127
+ end
128
+
129
+ it 'runs a random beer through' do
130
+ send_command 'apex roulette'
131
+ expect(replies.count).to eq(1)
132
+ expect(replies.last).to include('Apex tap')
133
+ end
134
+
135
+ it 'runs a random beer through' do
136
+ send_command 'apex random'
137
+ expect(replies.count).to eq(1)
138
+ expect(replies.last).to include('Apex tap')
139
+ end
140
+
141
+ it 'searches with a space' do
142
+ send_command 'apex cider riot'
143
+ expect(replies.last).to eq('Apex tap 10) Cider- NeverGiveAnInch -Rosé 6.9%, $5')
144
+ end
145
+
146
+ it 'displays low abv' do
147
+ send_command 'apexabvhigh'
148
+ expect(replies.last).to eq('Apex tap 31) Notorious - IIIPA 11.5%, $5')
149
+ end
150
+
151
+ it 'displays high abv' do
152
+ send_command 'apexabvlow'
153
+ expect(replies.last).to eq('Apex tap 15) Grapefruit Radler 2.5%, $5')
154
+ end
155
+ end
@@ -0,0 +1,14 @@
1
+ require 'simplecov'
2
+ require 'coveralls'
3
+ SimpleCov.formatters = [
4
+ SimpleCov::Formatter::HTMLFormatter,
5
+ Coveralls::SimpleCov::Formatter
6
+ ]
7
+ SimpleCov.start { add_filter '/spec/' }
8
+
9
+ require 'lita-onewheel-beer-apex'
10
+ require 'lita/rspec'
11
+
12
+ # A compatibility mode is provided for older plugins upgrading from Lita 3. Since this plugin
13
+ # was generated with Lita 4, the compatibility mode should be left disabled.
14
+ Lita.version_3_compatibility_mode = false
metadata ADDED
@@ -0,0 +1,213 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lita-onewheel-beer-apex
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Kreps
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-05-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: lita
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rest-client
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.6'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sanitize
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: lita-onewheel-beer-base
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rake
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '10.4'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '10.4'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rack-test
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.6'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.6'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.10'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.10'
153
+ - !ruby/object:Gem::Dependency
154
+ name: coveralls
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.8'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0.8'
167
+ description: Lita interface to Apex Bar's listings.
168
+ email:
169
+ - andrew.kreps@gmail.com
170
+ executables: []
171
+ extensions: []
172
+ extra_rdoc_files: []
173
+ files:
174
+ - ".gitignore"
175
+ - ".travis.yml"
176
+ - Gemfile
177
+ - README.md
178
+ - Rakefile
179
+ - lib/lita-onewheel-beer-apex.rb
180
+ - lib/lita/handlers/onewheel_beer_apex.rb
181
+ - lita-onewheel-beer-apex.gemspec
182
+ - spec/fixtures/apex.html
183
+ - spec/lita/handlers/onewheel_apex_bar_spec.rb
184
+ - spec/spec_helper.rb
185
+ homepage: https://github.com/onewheelskyward/lita-onewheel-beer-apex
186
+ licenses:
187
+ - MIT
188
+ metadata:
189
+ lita_plugin_type: handler
190
+ post_install_message:
191
+ rdoc_options: []
192
+ require_paths:
193
+ - lib
194
+ required_ruby_version: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ required_rubygems_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ requirements: []
205
+ rubyforge_project:
206
+ rubygems_version: 2.5.1
207
+ signing_key:
208
+ specification_version: 4
209
+ summary: See above.
210
+ test_files:
211
+ - spec/fixtures/apex.html
212
+ - spec/lita/handlers/onewheel_apex_bar_spec.rb
213
+ - spec/spec_helper.rb