ratebeer 0.0.8 → 0.1.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/Gemfile.lock +2 -1
- data/lib/ratebeer.rb +6 -7
- data/lib/ratebeer/beer.rb +133 -96
- data/lib/ratebeer/brewery.rb +123 -110
- data/lib/ratebeer/location.rb +30 -20
- data/lib/ratebeer/scraping.rb +6 -3
- data/lib/ratebeer/search.rb +36 -13
- data/lib/ratebeer/style.rb +41 -28
- data/lib/ratebeer/urls.rb +5 -1
- data/spec/lib/ratebeer/beer_spec.rb +15 -15
- data/spec/lib/ratebeer/brewery_spec.rb +25 -18
- data/spec/lib/ratebeer/region_spec.rb +5 -7
- data/spec/lib/ratebeer/search_spec.rb +26 -27
- data/spec/lib/ratebeer_spec.rb +17 -16
- metadata +3 -3
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe RateBeer::Region do
|
4
4
|
before :all do
|
5
|
-
@region = RateBeer::Region.new(
|
5
|
+
@region = RateBeer::Region.new(30) # New Jersey
|
6
6
|
@invalid = RateBeer::Region.new(12345) # Invalid
|
7
7
|
@with_name = RateBeer::Region.new(79, name: "London") # Greater London
|
8
8
|
end
|
@@ -23,7 +23,7 @@ describe RateBeer::Region do
|
|
23
23
|
|
24
24
|
describe "#name" do
|
25
25
|
it "retrives name from RateBeer if not passed as parameter" do
|
26
|
-
expect(@region.name).to eq
|
26
|
+
expect(@region.name).to eq 'New Jersey'
|
27
27
|
end
|
28
28
|
|
29
29
|
it "uses name details if passed as parameter" do
|
@@ -37,11 +37,9 @@ describe RateBeer::Region do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it "returns a series of RateBeer::Brewery instances" do
|
40
|
-
expected_breweries = [
|
41
|
-
|
42
|
-
|
43
|
-
11855,
|
44
|
-
8889].map { |i| RateBeer::Brewery.new(i) }
|
40
|
+
expected_breweries = [25_211,
|
41
|
+
3132,
|
42
|
+
1097].map { |i| RateBeer::Brewery.new(i) }
|
45
43
|
expect(@region.breweries).to include(*expected_breweries)
|
46
44
|
end
|
47
45
|
|
@@ -1,67 +1,66 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe RateBeer::Search do
|
4
|
-
describe
|
4
|
+
describe '#new' do
|
5
5
|
before :all do
|
6
|
-
@search = RateBeer::Search.new(
|
6
|
+
@search = RateBeer::Search.new('Testing Brewers Co Ltd')
|
7
7
|
end
|
8
8
|
|
9
|
-
it
|
9
|
+
it 'creates a search instance' do
|
10
10
|
expect(@search).to be_a RateBeer::Search
|
11
11
|
end
|
12
12
|
|
13
|
-
it
|
14
|
-
expect(@search.query).to_not include(
|
13
|
+
it 'removes generic terms from query parameter' do
|
14
|
+
expect(@search.query).to_not include('Brewers')
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
describe
|
18
|
+
describe '#run_search' do
|
19
19
|
before :all do
|
20
|
-
@failed_search = RateBeer::Search.new(
|
21
|
-
@successful_search = RateBeer::Search.new(
|
20
|
+
@failed_search = RateBeer::Search.new('random param 1234').run_search
|
21
|
+
@successful_search = RateBeer::Search.new('heineken').run_search
|
22
22
|
end
|
23
23
|
|
24
|
-
it
|
24
|
+
it 'executes a search using specified query parameter' do
|
25
25
|
expect(@failed_search).to_not be_nil
|
26
26
|
expect(@successful_search).to_not be_nil
|
27
27
|
end
|
28
28
|
|
29
|
-
it
|
29
|
+
it 'returns nil for beers for non-matching query' do
|
30
30
|
expect(@failed_search.beers).to be_nil
|
31
31
|
end
|
32
32
|
|
33
|
-
it
|
33
|
+
it 'returns nil for breweries for non-matching query' do
|
34
34
|
expect(@failed_search.breweries).to be_nil
|
35
35
|
end
|
36
36
|
|
37
|
-
it
|
37
|
+
it 'returns a list of beers matching query parameter' do
|
38
38
|
expect(@successful_search.beers.count).to be > 0
|
39
39
|
end
|
40
40
|
|
41
|
-
it
|
41
|
+
it 'returns a list of breweries matching query parameter' do
|
42
42
|
expect(@successful_search.breweries.count).to be > 0
|
43
43
|
end
|
44
44
|
|
45
|
-
it
|
45
|
+
it 'returns a list of specific beers matching the query parameter' do
|
46
46
|
beers = @successful_search.beers
|
47
47
|
names = beers.map(&:name)
|
48
|
-
expect(names).to include(
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
48
|
+
expect(names).to include('Heineken',
|
49
|
+
'Heineken Beer',
|
50
|
+
'Heineken Golden Fire Strong',
|
51
|
+
'Heineken Kylian',
|
52
|
+
'Heineken Oud Bruin',
|
53
|
+
'Heineken Tarwebok')
|
55
54
|
end
|
56
55
|
|
57
|
-
it
|
56
|
+
it 'returns a list of specific breweries matching the query parameter' do
|
58
57
|
breweries = @successful_search.breweries
|
59
58
|
names = breweries.map(&:name)
|
60
|
-
expect(names).to include(
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
59
|
+
expect(names).to include('Heineken UK',
|
60
|
+
'Heineken Italia',
|
61
|
+
'Al Ahram (Heineken)',
|
62
|
+
'Pivovar Corgon (Heineken)',
|
63
|
+
'Bralima (Heineken)')
|
65
64
|
end
|
66
65
|
end
|
67
66
|
end
|
data/spec/lib/ratebeer_spec.rb
CHANGED
@@ -1,31 +1,32 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe RateBeer do
|
4
|
-
describe
|
5
|
-
it
|
6
|
-
beer = RateBeer.beer(1234,
|
7
|
-
expect(beer).to eq RateBeer::Beer.new(1234, name:
|
4
|
+
describe '.beer' do
|
5
|
+
it 'creates a new beer' do
|
6
|
+
beer = RateBeer.beer(1234, 'Magic Lager')
|
7
|
+
expect(beer).to eq RateBeer::Beer.new(1234, name: 'Magic Lager')
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
describe
|
12
|
-
it
|
13
|
-
brewery = RateBeer.brewery(456,
|
14
|
-
expect(brewery).to eq RateBeer::Brewery.new(456, name:
|
11
|
+
describe '.brewery' do
|
12
|
+
it 'creates a new brewery' do
|
13
|
+
brewery = RateBeer.brewery(456, 'Magic BrewCo')
|
14
|
+
expect(brewery).to eq RateBeer::Brewery.new(456, name: 'Magic BrewCo')
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
describe
|
19
|
-
it
|
20
|
-
style = RateBeer.style(99,
|
21
|
-
expect(style).to eq RateBeer::Style.new(99, name:
|
18
|
+
describe '.style' do
|
19
|
+
it 'creates a new style' do
|
20
|
+
style = RateBeer.style(99, 'Butter Beer')
|
21
|
+
expect(style).to eq RateBeer::Style.new(99, name: 'Butter Beer')
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
describe
|
26
|
-
it
|
27
|
-
|
28
|
-
|
25
|
+
describe '.search' do
|
26
|
+
it 'runs a new search query' do
|
27
|
+
actual = RateBeer.search('pabst blue ribbon')
|
28
|
+
expected = RateBeer::Search.search('pabst blue ribbon')
|
29
|
+
expect(expected).to eq actual
|
29
30
|
end
|
30
31
|
end
|
31
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ratebeer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Meakin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -38,7 +38,7 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
description: RateBeer provides a way to access
|
41
|
+
description: RateBeer provides a way to access information from RateBeer.com.
|
42
42
|
email: dan@danmeakin.com
|
43
43
|
executables: []
|
44
44
|
extensions: []
|