brewery 0.2.0 → 0.3.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/.rspec +1 -1
- data/README.md +13 -9
- data/brewery.gemspec +0 -1
- data/lib/brewery/data/other.json +185 -0
- data/lib/brewery/ingredient.rb +16 -2
- data/lib/brewery/version.rb +1 -1
- data/spec/brewery/ingredient_spec.rb +27 -8
- metadata +3 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b70d094580ccae545b4e47027a3b5c993b893967
|
4
|
+
data.tar.gz: ac1d08470a703b76fdbcc369c4b6cccf3e0516f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e46db66b4fca9fbdd4a9bd3a1f4fd9ff8efd17530d89c8ea64e4044655782fbf9266c48e649ced954df6bc9134ae077e676e4e40604c33e50a7a169047ba9ffd
|
7
|
+
data.tar.gz: 7d0c8e82ae2b23cbcafedb772423ef836c3c5a8850a50329506a66642521b7b6cede460ebab4139b1010b3f5e40b4555dc98e2c1294c661a2c9ae9809463e62b
|
data/.rspec
CHANGED
data/README.md
CHANGED
@@ -95,9 +95,11 @@ fermentables = Brewery.ingredients :fermentables
|
|
95
95
|
fermentables.count
|
96
96
|
# => 187
|
97
97
|
|
98
|
-
|
99
|
-
|
100
|
-
|
98
|
+
fermentables.find_by_name('pale ale')
|
99
|
+
fermentables.find_by_description('alber malt')
|
100
|
+
fermentables.find_by_color('22.000')
|
101
|
+
fermentables.find_by_moisture('3.0')
|
102
|
+
fermentables.find_by_extract('80.0')
|
101
103
|
```
|
102
104
|
|
103
105
|
#### Hops
|
@@ -107,9 +109,9 @@ hops = Brewery.ingredients :hops
|
|
107
109
|
hops.count
|
108
110
|
# => 85
|
109
111
|
|
110
|
-
|
111
|
-
|
112
|
-
|
112
|
+
hops.find_by_name('magnum')
|
113
|
+
hops.find_by_description('Australia')
|
114
|
+
hops.find_by_alpha('15.0')
|
113
115
|
```
|
114
116
|
|
115
117
|
#### Yeast
|
@@ -119,9 +121,11 @@ yeasts = Brewery.ingredients :yeasts
|
|
119
121
|
yeasts.count
|
120
122
|
# => 208
|
121
123
|
|
122
|
-
|
123
|
-
|
124
|
-
|
124
|
+
yeasts.find_by_name('us-05')
|
125
|
+
yeasts.find_by_description('fermenting strain')
|
126
|
+
yeasts.find_by_yeast_type('liquid')
|
127
|
+
yeasts.find_by_beer_type('Ale')
|
128
|
+
yeasts.find_by_beer_attenuation('75.0')
|
125
129
|
```
|
126
130
|
|
127
131
|
## Contributing
|
data/brewery.gemspec
CHANGED
@@ -0,0 +1,185 @@
|
|
1
|
+
{
|
2
|
+
"IngredientType" : "Other",
|
3
|
+
"Ingredients" : [
|
4
|
+
{
|
5
|
+
"description" : "Allows the creation of drier beers than usual by converting longer chain, unfermentable sugars into those fermentable by yeast.",
|
6
|
+
"UUID" : "F4E40EB5-2300-11DA-9C39-001124CAE2A6",
|
7
|
+
"DateLastModified" : "\/\/Date:1372128898.013509",
|
8
|
+
"name" : "Amylase Enzyme"
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"description" : "",
|
12
|
+
"UUID" : "15601EC8-2301-11DA-9C39-001124CAE2A6",
|
13
|
+
"DateLastModified" : "\/\/Date:1372128898.015244",
|
14
|
+
"name" : "Apricot Extract"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"description" : "",
|
18
|
+
"UUID" : "1D61E91B-2301-11DA-9C39-001124CAE2A6",
|
19
|
+
"DateLastModified" : "\/\/Date:1372128898.032827",
|
20
|
+
"name" : "Blackbery Extract"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"description" : "",
|
24
|
+
"UUID" : "FE2B9186-860B-4C06-A6B0-8C209463F415",
|
25
|
+
"DateLastModified" : "\/\/Date:1372128898.036854",
|
26
|
+
"name" : "Cherry Concentrate"
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"description" : "",
|
30
|
+
"UUID" : "241C8472-2301-11DA-9C39-001124CAE2A6",
|
31
|
+
"DateLastModified" : "\/\/Date:1372128898.029880",
|
32
|
+
"name" : "Cherry Extract"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"description" : "",
|
36
|
+
"UUID" : "2BC79C4A-2301-11DA-9C39-001124CAE2A6",
|
37
|
+
"DateLastModified" : "\/\/Date:1372128898.033815",
|
38
|
+
"name" : "Cinnamon Stick"
|
39
|
+
},
|
40
|
+
{
|
41
|
+
"description" : "",
|
42
|
+
"UUID" : "3346B4D6-2301-11DA-9C39-001124CAE2A6",
|
43
|
+
"DateLastModified" : "\/\/Date:1372128898.019550",
|
44
|
+
"name" : "Clearfine"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"description" : "",
|
48
|
+
"UUID" : "602E8257-2EE3-4776-8B0A-1B8AF7B4BC73",
|
49
|
+
"DateLastModified" : "\/\/Date:1372128898.024759",
|
50
|
+
"name" : "Coffee, Ground"
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"description" : "",
|
54
|
+
"UUID" : "48A8E436-2301-11DA-9C39-001124CAE2A6",
|
55
|
+
"DateLastModified" : "\/\/Date:1372128898.017082",
|
56
|
+
"name" : "Coriander Seed"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"description" : "",
|
60
|
+
"UUID" : "4F493C1C-2301-11DA-9C39-001124CAE2A6",
|
61
|
+
"DateLastModified" : "\/\/Date:1372128898.016254",
|
62
|
+
"name" : "Cranberry Extract"
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"description" : "Added to the fermenter to reduce foaming during fermentation. Very handy if you don't have much headspace in your fermenter!",
|
66
|
+
"UUID" : "11423437-C55A-4081-967F-A2D96B531C37",
|
67
|
+
"DateLastModified" : "\/\/Date:1372128898.028884",
|
68
|
+
"name" : "Foam Control (Anti-Foam)"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"description" : "Used as a fining agent to promote sedimentation of yeast.",
|
72
|
+
"UUID" : "5E4BCA2C-2301-11DA-9C39-001124CAE2A6",
|
73
|
+
"DateLastModified" : "\/\/Date:1372128898.026880",
|
74
|
+
"name" : "Gelatine"
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"description" : "",
|
78
|
+
"UUID" : "652C3E80-2301-11DA-9C39-001124CAE2A6",
|
79
|
+
"DateLastModified" : "\/\/Date:1372128898.034810",
|
80
|
+
"name" : "Ginger Root"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"description" : "A kettle fining that promotes the coagulation of proteins in the boil.",
|
84
|
+
"UUID" : "6D775BBA-2301-11DA-9C39-001124CAE2A6",
|
85
|
+
"DateLastModified" : "\/\/Date:1372128898.025801",
|
86
|
+
"name" : "Irish Moss"
|
87
|
+
},
|
88
|
+
{
|
89
|
+
"description" : "Used as a fining agent to promote sedimentation of yeast.",
|
90
|
+
"UUID" : "74CD47B2-2301-11DA-9C39-001124CAE2A6",
|
91
|
+
"DateLastModified" : "\/\/Date:1372128898.022302",
|
92
|
+
"name" : "Isinglass"
|
93
|
+
},
|
94
|
+
{
|
95
|
+
"description" : "Sometimes added to adjust mash pH. May also be added to fermented beers to increase 'sourness'.",
|
96
|
+
"UUID" : "7FD6FEE5-2301-11DA-9C39-001124CAE2A6",
|
97
|
+
"DateLastModified" : "\/\/Date:1372128898.042052",
|
98
|
+
"name" : "Lactic Acid"
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"description" : "",
|
102
|
+
"UUID" : "865267BA-2301-11DA-9C39-001124CAE2A6",
|
103
|
+
"DateLastModified" : "\/\/Date:1372128898.018680",
|
104
|
+
"name" : "Malto-Dextrine"
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"description" : "",
|
108
|
+
"UUID" : "8D3B8A2A-2301-11DA-9C39-001124CAE2A6",
|
109
|
+
"DateLastModified" : "\/\/Date:1372128898.027900",
|
110
|
+
"name" : "Orange Peel, Bitter"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"description" : "",
|
114
|
+
"UUID" : "945C123E-2301-11DA-9C39-001124CAE2A6",
|
115
|
+
"DateLastModified" : "\/\/Date:1372128898.017889",
|
116
|
+
"name" : "Orange Peel, Sweet"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"description" : "A fining agent that removes haze forming proteins from finished beer.",
|
120
|
+
"UUID" : "9D16E85E-2301-11DA-9C39-001124CAE2A6",
|
121
|
+
"DateLastModified" : "\/\/Date:1372128898.040986",
|
122
|
+
"name" : "Polyclar"
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"description" : "A kettle fining that promotes the coagulation of proteins in the boil.",
|
126
|
+
"UUID" : "40130D54-2301-11DA-9C39-001124CAE2A6",
|
127
|
+
"DateLastModified" : "\/\/Date:1372128898.021325",
|
128
|
+
"name" : "Protafloc"
|
129
|
+
},
|
130
|
+
{
|
131
|
+
"description" : "",
|
132
|
+
"UUID" : "085DC41E-5DFB-11DA-92C9-001124CAE2A6",
|
133
|
+
"DateLastModified" : "\/\/Date:1372128898.039949",
|
134
|
+
"name" : "Raisins"
|
135
|
+
},
|
136
|
+
{
|
137
|
+
"description" : "",
|
138
|
+
"UUID" : "A53DB406-2301-11DA-9C39-001124CAE2A6",
|
139
|
+
"DateLastModified" : "\/\/Date:1372128898.023111",
|
140
|
+
"name" : "Raspberry Extract"
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"description" : "",
|
144
|
+
"UUID" : "AC3384C8-2301-11DA-9C39-001124CAE2A6",
|
145
|
+
"DateLastModified" : "\/\/Date:1372128898.037872",
|
146
|
+
"name" : "Sassafras"
|
147
|
+
},
|
148
|
+
{
|
149
|
+
"description" : "",
|
150
|
+
"UUID" : "B348C51F-2301-11DA-9C39-001124CAE2A6",
|
151
|
+
"DateLastModified" : "\/\/Date:1372128898.030855",
|
152
|
+
"name" : "Seeds of Paradise"
|
153
|
+
},
|
154
|
+
{
|
155
|
+
"description" : "",
|
156
|
+
"UUID" : "06BC1F48-2301-11DA-9C39-001124CAE2A6",
|
157
|
+
"DateLastModified" : "\/\/Date:1372128898.020485",
|
158
|
+
"name" : "Star Anise"
|
159
|
+
},
|
160
|
+
{
|
161
|
+
"description" : "",
|
162
|
+
"UUID" : "564EC2FC-2301-11DA-9C39-001124CAE2A6",
|
163
|
+
"DateLastModified" : "\/\/Date:1372128898.035827",
|
164
|
+
"name" : "Sweet Gale"
|
165
|
+
},
|
166
|
+
{
|
167
|
+
"description" : "",
|
168
|
+
"UUID" : "2DC801D7-87D9-45F2-892B-1CE09679F519",
|
169
|
+
"DateLastModified" : "\/\/Date:1372128898.023923",
|
170
|
+
"name" : "Vanilla Beans"
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"description" : "A kettle fining that promotes the coagulation of proteins in the boil.",
|
174
|
+
"UUID" : "BBE9652B-2301-11DA-9C39-001124CAE2A6",
|
175
|
+
"DateLastModified" : "\/\/Date:1372128898.038890",
|
176
|
+
"name" : "Whirlfloc Tablet"
|
177
|
+
},
|
178
|
+
{
|
179
|
+
"description" : "Promotes healthy yeast and strong fermentation by increasing free amino nitrogen and other essential nutrients in the wort.",
|
180
|
+
"UUID" : "C3174634-2301-11DA-9C39-001124CAE2A6",
|
181
|
+
"DateLastModified" : "\/\/Date:1372128898.031842",
|
182
|
+
"name" : "Yeast Nutrient"
|
183
|
+
}
|
184
|
+
]
|
185
|
+
}
|
data/lib/brewery/ingredient.rb
CHANGED
@@ -13,8 +13,18 @@ module Brewery
|
|
13
13
|
@collection.each {|element| yield(Hashie::Mash.new(element)) }
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
|
16
|
+
def method_missing(method, *args)
|
17
|
+
if method.to_s =~ /^find_by_(.*)$/
|
18
|
+
attr = $1.to_sym
|
19
|
+
find_all {|i| i.send(attr) =~ /#{args.first}/i}
|
20
|
+
else
|
21
|
+
super
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def respond_to?(method, include_private = false)
|
26
|
+
return true if method.to_s =~ /^find_by_(.*)$/
|
27
|
+
super
|
18
28
|
end
|
19
29
|
|
20
30
|
private
|
@@ -35,5 +45,9 @@ module Brewery
|
|
35
45
|
class Yeasts
|
36
46
|
include InstanceMethods
|
37
47
|
end
|
48
|
+
|
49
|
+
class Other
|
50
|
+
include InstanceMethods
|
51
|
+
end
|
38
52
|
end
|
39
53
|
end
|
data/lib/brewery/version.rb
CHANGED
@@ -17,9 +17,9 @@ describe Brewery::Ingredient do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
context "search" do
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
%w(description color moisture extract name).each do |attr|
|
21
|
+
it { expect(fermentables).to respond_to("find_by_#{attr}".to_sym) }
|
22
|
+
end
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -37,9 +37,9 @@ describe Brewery::Ingredient do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
context "search" do
|
40
|
-
|
41
|
-
|
42
|
-
|
40
|
+
%w(description alpha name).each do |attr|
|
41
|
+
it { expect(hops).to respond_to("find_by_#{attr}".to_sym) }
|
42
|
+
end
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -59,9 +59,28 @@ describe Brewery::Ingredient do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
context "search" do
|
62
|
-
|
62
|
+
%w(description yeast_type beer_type attenuation name).each do |attr|
|
63
|
+
it { expect(yeasts).to respond_to("find_by_#{attr}".to_sym) }
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context "Other Ingredients" do
|
69
|
+
let(:other) { Brewery.ingredients :other }
|
63
70
|
|
64
|
-
|
71
|
+
it { expect(other.count).to eql(30) }
|
72
|
+
|
73
|
+
context "other ingredients data" do
|
74
|
+
let(:amylase) { other.first }
|
75
|
+
|
76
|
+
it { expect(amylase.description).to include('Allows the creation of drier beers than') }
|
77
|
+
it { expect(amylase.name).to eq('Amylase Enzyme') }
|
78
|
+
end
|
79
|
+
|
80
|
+
context "search" do
|
81
|
+
%w(name description).each do |attr|
|
82
|
+
it { expect(other).to respond_to("find_by_#{attr}".to_sym) }
|
83
|
+
end
|
65
84
|
end
|
66
85
|
end
|
67
86
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brewery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesus Lopes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '2.14'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: fuubar
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '>='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
97
|
description: Tools for Homebrewing
|
112
98
|
email:
|
113
99
|
- jlopes@zigotto.com.br
|
@@ -126,6 +112,7 @@ files:
|
|
126
112
|
- lib/brewery.rb
|
127
113
|
- lib/brewery/data/fermentables.json
|
128
114
|
- lib/brewery/data/hops.json
|
115
|
+
- lib/brewery/data/other.json
|
129
116
|
- lib/brewery/data/styleguide.dtd
|
130
117
|
- lib/brewery/data/styleguide2008.xml
|
131
118
|
- lib/brewery/data/yeasts.json
|