lita-onewheel-beer-craftpourhouse 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +21 -0
- data/.travis.yml +16 -0
- data/Gemfile +6 -0
- data/README.md +30 -0
- data/Rakefile +6 -0
- data/lib/lita/handlers/onewheel_beer_craftpourhouse.rb +117 -0
- data/lib/lita-onewheel-beer-craftpourhouse.rb +3 -0
- data/lita-onewheel-beer-craftpourhouse.gemspec +31 -0
- data/spec/fixtures/craftpourhouse.json +2 -0
- data/spec/lita/handlers/onewheel_beer_craftpourhouse_spec.rb +67 -0
- data/spec/spec_helper.rb +14 -0
- metadata +213 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c9cd73cddbc11f045da2c260c7e3f49d12c694ee
|
4
|
+
data.tar.gz: 6c62bfde2b15bc96d1856632ee38c2d455fd8b61
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d5f630cb3394f095d58c7ec228f0d32173e59d6c63277cbe6e7c100b815f893e9cb29ee9a6ac32d6a5e44dc369b8fecafac75ef4e33d63ba5ed5f3d99da9e40a
|
7
|
+
data.tar.gz: 239d9901e4a7297fc4de305be4e122d387d85a6f57bd2e3691480af89bc3ee63e173494742f69b2aca7f131c43762376171f79b157fb1760c61505cda7c40612
|
data/.gitignore
ADDED
@@ -0,0 +1,21 @@
|
|
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
|
20
|
+
.DS_Store
|
21
|
+
bin/
|
data/.travis.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
language: ruby
|
2
|
+
|
3
|
+
rvm:
|
4
|
+
- 2.2.7
|
5
|
+
- 2.3.4
|
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
data/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# lita-onewheel-craftpourhouse
|
2
|
+
|
3
|
+
[![Build Status](https://travis-ci.org/onewheelskyward/lita-onewheel-beer-craftpourhouse.svg?branch=master)](https://travis-ci.org/onewheelskyward/lita-onewheel-beer-craftpourhouse)
|
4
|
+
[![Coverage Status](https://coveralls.io/repos/onewheelskyward/lita-onewheel-beer-craftpourhouse/badge.png)](https://coveralls.io/r/onewheelskyward/lita-onewheel-beer-craftpourhouse)
|
5
|
+
|
6
|
+
Searches Craftpourhouse's draft list for data and displays it in IRC.
|
7
|
+
http://www.craftpourhouse.com/taps/
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add lita-onewheel-craftpourhouse to your Lita instance's Gemfile:
|
12
|
+
|
13
|
+
``` ruby
|
14
|
+
gem 'lita-onewheel-craftpourhouse'
|
15
|
+
```
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
|
19
|
+
craftpourhouse
|
20
|
+
|
21
|
+
craftpourhouse 4
|
22
|
+
|
23
|
+
craftpourhouse nitro
|
24
|
+
|
25
|
+
craftpourhouse >(=)5%
|
26
|
+
|
27
|
+
craftpourhouse <(=)$5
|
28
|
+
|
29
|
+
craftpourhouse roulette|random
|
30
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,117 @@
|
|
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 OnewheelBeerCraftpourhouse < OnewheelBeerBase
|
9
|
+
route /^cfp$/i,
|
10
|
+
:taps_list,
|
11
|
+
command: true,
|
12
|
+
help: {'cfp' => 'Display the current Craftpourhouse Bar taps.'}
|
13
|
+
|
14
|
+
route /^cfp ([\w ]+)$/i,
|
15
|
+
:taps_deets,
|
16
|
+
command: true,
|
17
|
+
help: {'cfp 4' => 'Display the Craftpourhouse tap 4 deets, including prices.'}
|
18
|
+
|
19
|
+
route /^cfp ([<>=\w.\s]+)%$/i,
|
20
|
+
:taps_by_abv,
|
21
|
+
command: true,
|
22
|
+
help: {'cfp >4%' => 'Display Craftpourhouse beers over 4% ABV.'}
|
23
|
+
|
24
|
+
route /^cfp ([<>=\$\w.\s]+)$/i,
|
25
|
+
:taps_by_price,
|
26
|
+
command: true,
|
27
|
+
help: {'cfp <$5' => 'Display Craftpourhouse beers under $5.'}
|
28
|
+
|
29
|
+
route /^cfp (roulette|random|rand|ran|ra|r)$/i,
|
30
|
+
:taps_by_random,
|
31
|
+
command: true,
|
32
|
+
help: {'cfp roulette' => 'Can\'t decide what to drink at Craftpourhouse? Let me do it for you!'}
|
33
|
+
|
34
|
+
route /^cfpabvlow$/i,
|
35
|
+
:taps_low_abv,
|
36
|
+
command: true,
|
37
|
+
help: {'cfpabvlow' => 'Show me the lowest Craftpourhouse abv keg.'}
|
38
|
+
|
39
|
+
route /^cfpabvhigh$/i,
|
40
|
+
:taps_high_abv,
|
41
|
+
command: true,
|
42
|
+
help: {'cfpabvhigh' => 'Show me the highest Craftpourhouse abv keg.'}
|
43
|
+
|
44
|
+
def send_response(tap, datum, response)
|
45
|
+
reply = "Craftpourhouse tap #{tap}) #{get_tap_type_text(datum[:type])}"
|
46
|
+
# reply += "#{datum[:brewery]} "
|
47
|
+
reply += "#{datum[:name]} "
|
48
|
+
reply += "- #{datum[:desc]}, " if datum[:desc]
|
49
|
+
# reply += "Served in a #{datum[1]['glass']} glass. "
|
50
|
+
# reply += "#{datum[:remaining]}"
|
51
|
+
reply += "#{datum[:abv]}%"
|
52
|
+
if datum[:ibu] > 0
|
53
|
+
reply += ", #{datum[:ibu]}"
|
54
|
+
end
|
55
|
+
# reply += "$#{datum[:price].to_s.sub '.0', ''}"
|
56
|
+
|
57
|
+
Lita.logger.info "send_response: Replying with #{reply}"
|
58
|
+
|
59
|
+
response.reply reply
|
60
|
+
end
|
61
|
+
|
62
|
+
def get_source
|
63
|
+
Lita.logger.debug 'get_source started'
|
64
|
+
unless (response = redis.get('page_response'))
|
65
|
+
Lita.logger.info 'No cached result found, fetching.'
|
66
|
+
response = RestClient.get('http://www.craftpourhouse.com/taps/')
|
67
|
+
redis.setex('page_response', 1800, response)
|
68
|
+
end
|
69
|
+
parse_response response
|
70
|
+
end
|
71
|
+
|
72
|
+
# This is the worker bee- decoding the html into our "standard" document.
|
73
|
+
# Future implementations could simply override this implementation-specific
|
74
|
+
# code to help this grow more widely.
|
75
|
+
def parse_response(response)
|
76
|
+
Lita.logger.debug 'parse_response started.'
|
77
|
+
gimme_what_you_got = {}
|
78
|
+
|
79
|
+
beers = JSON.parse(RestClient.get('https://bu7gqj6j5j.execute-api.us-east-1.amazonaws.com/prod/doTheScrapeyThing'))
|
80
|
+
beers['result'].each_with_index do |beer, index|
|
81
|
+
# abv_node = /\d+\.\d+\%/.match(beer_node.css('span.abvABV').text)
|
82
|
+
# if abv_node
|
83
|
+
# abv = abv_node[0]
|
84
|
+
# abv.sub! /\%/, ''
|
85
|
+
# end
|
86
|
+
#
|
87
|
+
# ibu_node = /IBU: \d+/.match(beer_node.css('span.abvABV').text)
|
88
|
+
# if ibu_node
|
89
|
+
# ibu = ibu_node[0]
|
90
|
+
# ibu.sub! /IBU /, ''
|
91
|
+
# end
|
92
|
+
|
93
|
+
full_text_search = "#{beer['brewery']} #{beer['name'].to_s.gsub /(\d+|')/, ''} #{beer['type']} #{beer['desc'].to_s.gsub(/\d+\.*\d*%*/, '')}"
|
94
|
+
|
95
|
+
# price_node = beer_node.css('td')[1].children.to_s
|
96
|
+
# price = (price_node.sub /\$/, '').to_f
|
97
|
+
|
98
|
+
gimme_what_you_got[beer['tap']] = {
|
99
|
+
# type: tap_type,
|
100
|
+
# remaining: remaining,
|
101
|
+
brewery: beer['brewery'].to_s,
|
102
|
+
name: beer['name'].to_s,
|
103
|
+
abv: beer['abv'].to_f,
|
104
|
+
ibu: beer['ibu'].to_i,
|
105
|
+
desc: beer['desc'].to_s,
|
106
|
+
# price: price,
|
107
|
+
search: full_text_search
|
108
|
+
}
|
109
|
+
end
|
110
|
+
|
111
|
+
gimme_what_you_got
|
112
|
+
end
|
113
|
+
|
114
|
+
Lita.register_handler(self)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = 'lita-onewheel-beer-craftpourhouse'
|
3
|
+
spec.version = '0.0.0'
|
4
|
+
spec.authors = ['Andrew Kreps']
|
5
|
+
spec.email = ['andrew.kreps@gmail.com']
|
6
|
+
spec.description = %q{Lita interface to Craftpourhouse's Barlistings.}
|
7
|
+
spec.summary = %q{See above.}
|
8
|
+
spec.homepage = 'https://github.com/onewheelskyward/lita-onewheel-beer-craftpourhouse'
|
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'
|
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', '~> 2'
|
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,2 @@
|
|
1
|
+
|
2
|
+
{"result":[{"tap":"3","brewery":"Nectar Creek Mead","abv":"6.3","desc":"Barrel aged mead made from raw honey sourced directly from beekeepers, with additions of single estate ceylon tea organic orange peel to create an amazing blend of tannic, herbal, citrus and floral characteristics. ","name":"Apis","type":"Mead"},{"tap":"4","brewery":"Atlas Cider Company","abv":"5.8","desc":"Our flagship apple cider is a celebration of the Northwest. Prominent notes of sweet apple aroma and taste come from freshly pressed Macintosh, Honey Crisp, and Cribbs Pink varieties from our partnering orchards. The sweetness is balanced by the tart flavor from Granny Smiths. An innovative touch of aronia berry gives a slightly dry finish complimenting the apple's tannins that are reminiscent of English ciders. Check out and enjoy this natural, semi-sweet, and bold cider from Bend, OR.","name":"Hard Apple Cider","type":"Cider"},{"tap":"5","brewery":"Jester & Judge","abv":"5.8","desc":"","name":"Sharp Cherry","type":"Cider"},{"tap":"6","brewery":"Flat Tail Brewing","abv":"6","desc":"Sour Blonde dry hopped with Citra and Simcoe and lemon verbena ","name":"DAM Wild: Hops & Lemon Verbena","type":"Sour - Ale"},{"tap":"7","brewery":"Oakshire Brewing","abv":"4","desc":"Berlinner Weisse is a cloudy, sour beer originating in Germany. It is made with a high percentage of wheat and made tart with lactobacillus. Traditionally they were sweetened with syrups at serving, sometimes made of Raspberry or Woodruff.Sun Made is a hazy golden ale with a bready aroma blended with a cool refreshing wiff of cucumber water. It begins with a mild zip of acidity that is refreshing and light. It is light bodied and low in alcohol making for a very refreshing and quaffable beer. It ends clean and refreshing with a lingering melon freshness.We owe it all to the sun, so kick back after a long day in the garden with a tall glass of Sun Made Cucumber Berliner Weisse.","name":"Sun Made Cucumber Berliner Weisse","type":"Sour - Berliner Weisse"},{"tap":"8","brewery":"Stickmen Brewing Company","abv":"5.9","desc":"","name":"Dos Gringos","type":"Lager - Vienna"},{"tap":"9","brewery":"Stickmen Brewing Company","abv":"5.2","desc":"A pungent pale ale brewed with Cascade, Centennial, and Mosaic hops. Big aromas of citrus and tropical fruit with a piney finish. ","name":"Paddle Board Pale","type":"Pale Ale - American"},{"tap":"10","brewery":"Laurelwood Brewing Co.","abv":"5.8","desc":"Welcome to the new age of Laurelwood! This is our first 100% brettanomyces fermented beer, and we’re extremely excited to drink it with you! Brettanomyces (say: Breh-Tan- Oh-My- See’s), (or Brett for short), is a completely different strain of yeast than that of most beers…. Depending on fermentation temperatures and time, brett can give lots of fruit flavors and aroma, tartness, funk, and a dry finish. We used Brett C for its known tropical fruit flavors at warmer fermentation temps, and dry hopped it twice with some of our favorite hops, Mosaic! We hope you love this beer as much as we do! Prost!","name":"The Brettfast Club","type":"Pale Ale - American"},{"tap":"11","brewery":"Rosenstadt Brewery","abv":"5.3","desc":"A full-bodied, golden, Southern German lager. Balanced malt sweetness with slight breadiness shows off delicate German noble hop flavors and aromas. ","name":"Helles Lager","type":"Lager - Helles"},{"tap":"12","brewery":"Stickmen Brewing Company","abv":"4.9","desc":"It’s a fight, but with pillows – it’s an IPA, but super sessionalble. Get your session going with this easy drinking hop forward ISA jam packed with Citra, El Dorado, and Summit hops.","name":"Pillow Fight","type":"IPA - Session / India Session Ale"},{"tap":"13","brewery":"Baerlic Brewing Company","abv":"7.2","desc":"A single-hop IPA featuring Centennial hops.","name":"Shop Class - Centennial","type":"IPA - American"},{"tap":"14","brewery":"Modern Times Beer","abv":"7.2","desc":"Our most palate-crushing IPA to date, Orderville is a sledgehammer of dankness wrapped in a velvety peach pillow, underscored by a dry, chilled out malt bill that keeps your attention focused on the hop fireworks exploding in your mouth. The hop schedule features prominent Mosaic along with a wide assortment of piney, resinous varieties, resulting in a beautiful hop saturation that carries through from aroma to finish.","name":"Orderville","type":"IPA - American"},{"tap":"15","brewery":"Trap Door Brewing","abv":"7.5","desc":"New England Style IPA hopped with over 7 lb per barrel of Amarillo, Citra, and Simcoe.","name":"Glowed Up","type":"IPA - American"},{"tap":"16","brewery":"Pelican Brewing Company","abv":"9.5","desc":"Beak Breaker is our newest homage to big, aromatic IPAs—we reimagined what a double IPA could be in 2016 with all the new hop varieties available today and even a new dry hop injection process we just developed (Mosaic, Citra and Centennial hops)","name":"Beak Breaker","type":"IPA - Imperial / Double"},{"tap":"17","brewery":"Left Hand Brewing Company","abv":"6.8","desc":"Holding the cards to bring you down, Black Jack porter delves deeply beneath the surface to embrace your ace. Espresso and dark chocolate flavors envelop your senses, with herbaceous hop flavors pulling you from the light. You never know what treasures may be lurking in the darkness. Will you play the game?","name":"Black Jack Porter","type":"Porter - English"},{"tap":"18","brewery":"Vanguard Brewing","abv":"8.5","desc":"A sweet, roasty and creamy oatmeal imperial stout. Made with 100 lbs of local clover honey, this beer is a large scale adaption of the owner/brewer's original homebrew recipe which has been brewed and refined for over ten years. It is a family favorite that goes down smooth and silky.","name":"LPR Imperial Stout","type":"Stout - Imperial / Double"},{"tap":"19","brewery":"Waltz Brewing","abv":"6.6","desc":"","name":"El Dorillo Pale Ale","type":"Pale Ale - International"},{"tap":"20","brewery":"Marble Brewery","abv":"6.5","desc":"Bold and bright, our American Red Ale bursts with Pacific-Northwest hops balanced by a blend of caramel and toasted malts.","name":"Red Ale","type":"Red Ale - American Amber / Red"},{"tap":"21","brewery":"Bend Brewing Company","abv":"","desc":"","name":"Cream Ale","type":"Cream Ale"},{"tap":"22","brewery":"Stickmen Brewing Company","abv":"7.5","desc":"Pilsner malt, Tettnanger hops, and Oregon wild blackberry honey combine to create our most popular beer. Smooth and drinkable!","name":"The Bee's Knees","type":"Strong Ale - American"},{"tap":"23","brewery":"The Lost Abbey","abv":"10.5","desc":"A massive beer in every sense of the word. A stronger and more contemplative version of our Lost and Found Ale. Judgment Day is the base beer for our Cuvee de Tomme. Many of the Trappist Breweries produce a version of beer which ages incredibly well for many years to come. And, since none of us knows when the end of the world is coming, we suggest you stock up with lots of Lost Abbey beers so that when the end of the world magically appears from nowhere, you’ll have a beer or two on hand for even the stingiest of angels. Available in 750ml bottles and on draft at select inspired locations","name":"Judgment Day","type":"Belgian Quad"},{"tap":"24","brewery":"Mazama Brewing","abv":"10","desc":"Mazama's Flagship beer. This is a tribute to the late Pierre Celis who resurrected the Belgian Wit style beer. It defies categorization; it shares some attributes of a Belgian Trippel and others of a Belgian Golden Strong Ale. ","name":"Grand Cru","type":"Belgian Tripel"},{"tap":"25","brewery":"Oakshire Brewing","abv":"5.8","desc":" Overcast Espresso Stout is a dark, silky stout brewed with beans from a local Eugene coffee roaster. Rich, smooth and full of coffee flavor and aroma, this beer is quite nice on a gray or sunny day!","name":"Overcast Espresso Stout (Nitro)","type":"Stout - Other"}]}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Lita::Handlers::OnewheelBeerCraftpourhouse, lita_handler: true do
|
4
|
+
it { is_expected.to route_command('cfp') }
|
5
|
+
it { is_expected.to route_command('cfp 4') }
|
6
|
+
it { is_expected.to route_command('cfp nitro') }
|
7
|
+
it { is_expected.to route_command('cfp CASK') }
|
8
|
+
it { is_expected.to route_command('cfp <$4') }
|
9
|
+
it { is_expected.to route_command('cfp < $4') }
|
10
|
+
it { is_expected.to route_command('cfp <=$4') }
|
11
|
+
it { is_expected.to route_command('cfp <= $4') }
|
12
|
+
it { is_expected.to route_command('cfp >4%') }
|
13
|
+
it { is_expected.to route_command('cfp > 4%') }
|
14
|
+
it { is_expected.to route_command('cfp >=4%') }
|
15
|
+
it { is_expected.to route_command('cfp >= 4%') }
|
16
|
+
it { is_expected.to route_command('cfpabvhigh') }
|
17
|
+
it { is_expected.to route_command('cfpabvlow') }
|
18
|
+
|
19
|
+
before do
|
20
|
+
mock = File.open('spec/fixtures/craftpourhouse.json').read
|
21
|
+
allow(RestClient).to receive(:get) { mock }
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'shows the taps' do
|
25
|
+
send_command 'cfp'
|
26
|
+
expect(replies.last).to include('taps: 3) Nectar Creek Mead Apis 4) Atlas Cider Company Hard Apple Cider')
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'displays details for tap 4' do
|
30
|
+
send_command 'cfp 4'
|
31
|
+
expect(replies.last).to include('Craftpourhouse tap 4) Hard Apple Cider - Our flagship apple cider is a celebration of the Northwest')
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'searches for ipa' do
|
35
|
+
send_command 'cfp ipa'
|
36
|
+
expect(replies.last).to include('Craftpourhouse tap 16) Beak Breaker - Beak Breaker is our newest homage to big, aromatic')
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'searches for abv >9%' do
|
40
|
+
send_command 'cfp >9%'
|
41
|
+
expect(replies.count).to eq(3)
|
42
|
+
expect(replies[0]).to include('Craftpourhouse tap 16) Beak Breaker - Beak Breaker is our newest homage to big, aromatic')
|
43
|
+
expect(replies[1]).to include('Craftpourhouse tap 23) Judgment Day - A massive beer in every sense of the word. A stronger and more')
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'runs a random beer through' do
|
47
|
+
send_command 'cfp roulette'
|
48
|
+
expect(replies.count).to eq(1)
|
49
|
+
expect(replies.last).to include('Craftpourhouse tap')
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'runs a random beer through' do
|
53
|
+
send_command 'cfp random'
|
54
|
+
expect(replies.count).to eq(1)
|
55
|
+
expect(replies.last).to include('Craftpourhouse tap')
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'displays hige abv' do
|
59
|
+
send_command 'cfpabvhigh'
|
60
|
+
expect(replies.last).to include('Craftpourhouse tap 23) Judgment Day - A massive beer in every sense of the word.')
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'displays low abv' do
|
64
|
+
send_command 'cfpabvlow'
|
65
|
+
expect(replies.last).to include('Craftpourhouse tap 7) Sun Made Cucumber Berliner Weisse')
|
66
|
+
end
|
67
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -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-craftpourhouse'
|
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-craftpourhouse
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andrew Kreps
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-04-13 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'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4'
|
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: '2'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2'
|
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 Craftpourhouse's Barlistings.
|
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-craftpourhouse.rb
|
180
|
+
- lib/lita/handlers/onewheel_beer_craftpourhouse.rb
|
181
|
+
- lita-onewheel-beer-craftpourhouse.gemspec
|
182
|
+
- spec/fixtures/craftpourhouse.json
|
183
|
+
- spec/lita/handlers/onewheel_beer_craftpourhouse_spec.rb
|
184
|
+
- spec/spec_helper.rb
|
185
|
+
homepage: https://github.com/onewheelskyward/lita-onewheel-beer-craftpourhouse
|
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.2
|
207
|
+
signing_key:
|
208
|
+
specification_version: 4
|
209
|
+
summary: See above.
|
210
|
+
test_files:
|
211
|
+
- spec/fixtures/craftpourhouse.json
|
212
|
+
- spec/lita/handlers/onewheel_beer_craftpourhouse_spec.rb
|
213
|
+
- spec/spec_helper.rb
|