lita-onewheel-baileys 2.1.2 → 3.0.0
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 +4 -4
- data/README.md +16 -10
- data/lib/lita/handlers/onewheel_baileys.rb +21 -2
- data/lita-onewheel-baileys.gemspec +1 -1
- data/spec/lita/handlers/onewheel_baileys_spec.rb +27 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5c55180908443a45a44ddb871d851f02e17024f
|
4
|
+
data.tar.gz: 9b47445d6eeb64b0d93b00816e038beaca726be7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f950435d66827c36660f97bda8d28007d9e56e80f2a24abf1f64c4d9f0706d1a7e124cdfe6869c5d6103c3355c853dd0cc6dcfc13eeab6213833b311315fbe2
|
7
|
+
data.tar.gz: b814d0dd96ed8feda1daacad13c7c5b01421776e5e91dfca3a6def3631cda77174b18dc94a705afc68a034fc9e1ea349ddfa0ff3f4fcbb714d22fac78c07f2e5
|
data/README.md
CHANGED
@@ -1,22 +1,28 @@
|
|
1
|
-
# lita-
|
1
|
+
# lita-onewheel-baileys
|
2
2
|
|
3
|
-
[](https://travis-ci.org/onewheelskyward/lita-onewheel-baileys)
|
4
|
+
[](https://coveralls.io/r/onewheelskyward/lita-onewheel-baileys)
|
5
5
|
|
6
|
-
|
6
|
+
Searches Bailey's Taproom draft list for data and displays it in IRC.
|
7
|
+
|
8
|
+
http://www.baileystaproom.com/draft-list/
|
7
9
|
|
8
10
|
## Installation
|
9
11
|
|
10
|
-
Add lita-
|
12
|
+
Add lita-onewheel-baileys to your Lita instance's Gemfile:
|
11
13
|
|
12
14
|
``` ruby
|
13
|
-
gem
|
15
|
+
gem 'lita-onewheel-baileys'
|
14
16
|
```
|
15
17
|
|
16
|
-
##
|
18
|
+
## Usage
|
17
19
|
|
18
|
-
|
20
|
+
taps
|
19
21
|
|
20
|
-
|
22
|
+
taps 4
|
23
|
+
|
24
|
+
taps nitro
|
25
|
+
|
26
|
+
taps >5%
|
21
27
|
|
22
|
-
|
28
|
+
taps <$5
|
@@ -98,11 +98,19 @@ module Lita
|
|
98
98
|
reply += "#{datum[:name]} "
|
99
99
|
reply += "- #{datum[:desc]}, "
|
100
100
|
# reply += "Served in a #{datum[1]['glass']} glass. "
|
101
|
-
reply += "#{datum[:prices]}, "
|
101
|
+
reply += "#{get_display_prices datum[:prices]}, "
|
102
102
|
reply += "#{datum[:remaining]}"
|
103
103
|
response.reply reply
|
104
104
|
end
|
105
105
|
|
106
|
+
def get_display_prices(prices)
|
107
|
+
price_array = []
|
108
|
+
prices.each do |p|
|
109
|
+
price_array.push "#{p[:size]} - #{p[:cost]}"
|
110
|
+
end
|
111
|
+
price_array.join ' | '
|
112
|
+
end
|
113
|
+
|
106
114
|
def get_baileys
|
107
115
|
response = RestClient.get('http://www.baileystaproom.com/draft-list/')
|
108
116
|
response.gsub! '<div id="responsecontainer"">', ''
|
@@ -167,13 +175,24 @@ module Lita
|
|
167
175
|
# There are a bunch of hidden html fields that get stripped after sanitize.
|
168
176
|
def get_prices(noko)
|
169
177
|
prices_str = noko.css('div#prices').children.to_s.strip
|
170
|
-
Sanitize.clean(prices_str)
|
178
|
+
prices = Sanitize.clean(prices_str)
|
171
179
|
.gsub(/We're Sorry/, '')
|
172
180
|
.gsub(/Inventory Restriction/, '')
|
173
181
|
.gsub(/Inventory Failure/, '')
|
174
182
|
.gsub('Success!', '')
|
175
183
|
.gsub(/\s+/, ' ')
|
176
184
|
.strip
|
185
|
+
price_points = prices.split(/\s\|\s/)
|
186
|
+
prices_array = []
|
187
|
+
price_points.each do |price|
|
188
|
+
size = price.match /\d+(oz|cl)/
|
189
|
+
dollars = price.match /\$\d+\.*\d*/
|
190
|
+
crowler = price.match ' Crowler'
|
191
|
+
size = size.to_s + crowler.to_s
|
192
|
+
p = {size: size, cost: dollars}
|
193
|
+
prices_array.push p
|
194
|
+
end
|
195
|
+
prices_array
|
177
196
|
end
|
178
197
|
|
179
198
|
# Returns 1, 2, Cask 3, Nitro 4...
|
@@ -16,45 +16,63 @@ describe Lita::Handlers::OnewheelBaileys, lita_handler: true do
|
|
16
16
|
|
17
17
|
it 'displays details for tap 4' do
|
18
18
|
send_command 'taps 4'
|
19
|
-
expect(replies.last).to eq('Bailey\'s tap 4) Wild Ride Solidarity - Abbey Dubbel – Barrel Aged (Pinot Noir) 8.2%, 4oz
|
19
|
+
expect(replies.last).to eq('Bailey\'s tap 4) Wild Ride Solidarity - Abbey Dubbel – Barrel Aged (Pinot Noir) 8.2%, 4oz - $4 | 12oz - $7, 26% remaining')
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'doesn\'t explode on 1' do
|
23
23
|
send_command 'taps 1'
|
24
24
|
expect(replies.count).to eq(1)
|
25
|
-
expect(replies.last).to eq('Bailey\'s tap 1) Cider Riot! Plastic Paddy - Apple Cider w/ Irish tea 6.0%, 10oz
|
25
|
+
expect(replies.last).to eq('Bailey\'s tap 1) Cider Riot! Plastic Paddy - Apple Cider w/ Irish tea 6.0%, 10oz - $4 | 20oz - $7 | 32oz Crowler - $10, 48% remaining')
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'gets nitro' do
|
29
29
|
send_command 'taps nitro'
|
30
|
-
expect(replies.last).to eq('Bailey\'s tap Nitro 6) Backwoods Winchester Brown - Brown Ale 6.2%, 10oz
|
30
|
+
expect(replies.last).to eq('Bailey\'s tap Nitro 6) Backwoods Winchester Brown - Brown Ale 6.2%, 10oz - $3 | 20oz - $5, 98% remaining')
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'gets cask' do
|
34
34
|
send_command 'taps cask'
|
35
|
-
expect(replies.last).to eq(
|
35
|
+
expect(replies.last).to eq("Bailey's tap Cask 3) Machine House Crystal Maze - ESB 4.0%, 10oz - $3 | 20oz - $5, 57% remaining")
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'searches for ipa' do
|
39
39
|
send_command 'taps ipa'
|
40
|
-
expect(replies.last).to eq("Bailey's tap 24) Oakshire Perfect Storm - Imperial IPA 9.0%, 10oz
|
40
|
+
expect(replies.last).to eq("Bailey's tap 24) Oakshire Perfect Storm - Imperial IPA 9.0%, 10oz - $4 | 20oz - $6 | 32oz Crowler - $10, 61% remaining")
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'searches for brown' do
|
44
44
|
send_command 'taps brown'
|
45
|
-
expect(replies.last).to eq("Bailey's tap 22) GoodLife 29er - India Brown Ale 6.0%, 10oz
|
45
|
+
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")
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'searches for abv > 9%' do
|
49
49
|
send_command 'taps >9%'
|
50
|
-
expect(replies
|
51
|
-
expect(replies[
|
52
|
-
expect(replies
|
50
|
+
expect(replies.count).to eq(5)
|
51
|
+
expect(replies[0]).to eq("Bailey's tap 8) Fat Head’s Zeus Juice - Belgian Strong Blonde 10.0%, 4oz - $2 | 12oz - $4 | 32oz Crowler - $9, 44% remaining")
|
52
|
+
expect(replies[1]).to eq("Bailey's tap 9) Hopworks Noggin’ Floggin’ - Barleywine 11.0%, 4oz - $3 | 12oz - $6 | 32oz Crowler - $13, 34% remaining")
|
53
|
+
expect(replies[2]).to eq("Bailey's tap 18) Knee Deep Hop Surplus - Triple IPA 10.0%, 4oz - $2 | 12oz - $4 | 32oz Crowler - $10, 25% remaining")
|
54
|
+
expect(replies[3]).to eq("Bailey's tap 20) Knee Deep Dark Horse - Imperial Stout 12.0%, 4oz - $2 | 12oz - $4 | 32oz Crowler - $10, 39% remaining")
|
55
|
+
expect(replies.last).to eq("Bailey's tap 24) Oakshire Perfect Storm - Imperial IPA 9.0%, 10oz - $4 | 20oz - $6 | 32oz Crowler - $10, 61% remaining")
|
53
56
|
end
|
54
57
|
|
55
58
|
it 'searches for abv < 4%' do
|
56
59
|
send_command 'taps <4%'
|
57
60
|
expect(replies.count).to eq(2)
|
61
|
+
expect(replies[0]).to eq("Bailey's tap Cask 3) Machine House Crystal Maze - ESB 4.0%, 10oz - $3 | 20oz - $5, 57% remaining")
|
62
|
+
expect(replies.last).to eq("Bailey's tap 11) Lagunitas Copper Fusion Ale - Copper Ale 4.0%, 10oz - $3 | 20oz - $5 | 32oz Crowler - $8, 19% remaining")
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'searches for prices > $6' do
|
66
|
+
send_command 'taps >$6'
|
67
|
+
# expect(replies.count).to eq(3)
|
68
|
+
expect(replies[0]).to eq("")
|
69
|
+
expect(replies[1]).to eq("")
|
70
|
+
expect(replies.last).to eq("")
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'searches for prices < $4' do
|
74
|
+
send_command 'taps <$4'
|
75
|
+
# expect(replies.count).to eq(2)
|
58
76
|
expect(replies[0]).to eq("Bailey's tap Cask 3) Machine House Crystal Maze - ESB 4.0%, 10oz – $3 | 20oz – $5, 57% remaining")
|
59
77
|
expect(replies.last).to eq("Bailey's tap 11) Lagunitas Copper Fusion Ale - Copper Ale 4.0%, 10oz – $3 | 20oz – $5 | 32oz Crowler $8, 19% remaining")
|
60
78
|
end
|