hangry 0.0.11 → 0.0.12

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.
Files changed (39) hide show
  1. data/lib/hangry.rb +3 -1
  2. data/lib/hangry/data_vocabulary_recipe_parser.rb +3 -3
  3. data/lib/hangry/hrecipe_parser.rb +23 -7
  4. data/lib/hangry/parser_class_selecter.rb +3 -1
  5. data/lib/hangry/parsers/non_standard/all_recipes_parser.rb +1 -2
  6. data/lib/hangry/parsers/non_standard/eating_well_parser.rb +2 -6
  7. data/lib/hangry/parsers/non_standard/taste_of_home_parser.rb +22 -0
  8. data/lib/hangry/recipe_attribute_cleaner.rb +56 -0
  9. data/lib/hangry/recipe_parser.rb +4 -17
  10. data/lib/hangry/schema_org_recipe_parser.rb +8 -11
  11. data/lib/hangry/version.rb +1 -1
  12. data/spec/fixtures/bbc.co.uk.html +713 -0
  13. data/spec/fixtures/chow.com.html +1016 -0
  14. data/spec/fixtures/cooking.com.html +3655 -0
  15. data/spec/fixtures/cooks.com.html +623 -0
  16. data/spec/fixtures/copykat.com.html +782 -0
  17. data/spec/fixtures/food.com.html +2334 -0
  18. data/spec/fixtures/foodandwine.com.html +1667 -0
  19. data/spec/fixtures/heart.org.html +1188 -0
  20. data/spec/fixtures/pillsbury.com.html +1657 -0
  21. data/spec/fixtures/saveur.com.html +1527 -0
  22. data/spec/fixtures/tarladalal.com.html +865 -0
  23. data/spec/fixtures/taste.com.au.html +2034 -0
  24. data/spec/fixtures/tasteofhome.com.html +2527 -0
  25. data/spec/real_examples/bbc_co_uk_spec.rb +75 -0
  26. data/spec/real_examples/big_oven_spec.rb +15 -1
  27. data/spec/real_examples/chow_com_spec.rb +78 -0
  28. data/spec/real_examples/cooking_com_spec.rb +60 -0
  29. data/spec/real_examples/cooks_com_spec.rb +67 -0
  30. data/spec/real_examples/copykat_spec.rb +55 -0
  31. data/spec/real_examples/food_and_wine_spec.rb +58 -0
  32. data/spec/real_examples/food_com_spec.rb +108 -0
  33. data/spec/real_examples/heart_org_spec.rb +46 -0
  34. data/spec/real_examples/pillsbury_spec.rb +59 -0
  35. data/spec/real_examples/saveur_com_spec.rb +41 -0
  36. data/spec/real_examples/tarladalal_com_spec.rb +65 -0
  37. data/spec/real_examples/taste_com_au_spec.rb +41 -0
  38. data/spec/real_examples/taste_of_home_spec.rb +70 -0
  39. metadata +67 -13
@@ -0,0 +1,46 @@
1
+ # encoding: UTF-8
2
+ require 'hangry'
3
+
4
+ describe Hangry do
5
+
6
+ context "heart.org recipe" do
7
+ let(:html) { File.read("spec/fixtures/heart.org.html") }
8
+ subject { Hangry.parse(html) }
9
+
10
+ its(:author) { should == nil }
11
+ its(:canonical_url) { should == nil }
12
+ its(:cook_time) { should == nil }
13
+ its(:description) { should == "In this one-skillet supper, we toss dark leafy greens, diced tomatoes and white beans with gnocchi and top it all with gooey mozzarella. Serve with a mixed green salad with vinaigrette." }
14
+ its(:ingredients) { should == [] }
15
+ its(:name) { should == "Skillet Gnocchi with Chard & White Beans" }
16
+ its(:nutrition) do
17
+ should == {
18
+ calories: nil,
19
+ cholesterol: nil,
20
+ fiber: nil,
21
+ protein: nil,
22
+ saturated_fat: nil,
23
+ sodium: nil,
24
+ sugar: nil,
25
+ total_carbohydrates: nil,
26
+ total_fat: nil,
27
+ trans_fat: nil,
28
+ unsaturated_fat: nil
29
+ }
30
+ end
31
+
32
+ its(:instructions) {
33
+ instructions = <<-EOS
34
+ Heat 1 tablespoon oil in a large nonstick skillet over medium heat. Add gnocchi and cook, stirring often, until plumped and starting to brown, 5 to 7 minutes. Transfer to a bowl.Add the remaining 1 teaspoon oil and onion to the pan and cook, stirring, over medium heat, for 2 minutes. Stir in garlic and water. Cover and cook until the onion is soft, 4 to 6 minutes. Add chard (or spinach) and cook, stirring, until starting to wilt, 1 to 2 minutes. Stir in tomatoes, beans and pepper and bring to a simmer. Stir in the gnocchi and sprinkle with mozzarella and Parmesan. Cover and cook until the cheese is melted and the sauce is bubbling, about 3 minutes.
35
+ EOS
36
+ should == instructions.strip
37
+ }
38
+ its(:prep_time) { should == nil }
39
+ its(:published_date) { should == nil }
40
+ its(:total_time) { should == nil }
41
+ its(:yield) { should == "Serves: 6" }
42
+
43
+ end
44
+
45
+ end
46
+
@@ -0,0 +1,59 @@
1
+ # encoding: UTF-8
2
+ require 'hangry'
3
+
4
+ describe Hangry do
5
+
6
+ context "pillsbury.com recipe" do
7
+ let(:html) { File.read("spec/fixtures/pillsbury.com.html") }
8
+ subject { Hangry.parse(html) }
9
+
10
+ its(:author) { should == nil }
11
+ its(:canonical_url) { should == "http://www.pillsbury.com/recipes/big-cheesy-pepperoni-hand-pies/a17766e6-30ce-4a0c-af08-72533bb9b449" }
12
+ its(:cook_time) { should == nil }
13
+ its(:description) { should == "Enjoy these cheesy pepperoni hand pies made using Pillsbury® Big & Flaky dinner rolls – a delicious dinner that’s ready in 25 minutes." }
14
+ its(:ingredients) {
15
+ should == [
16
+ "1 can (12 oz) Pillsbury® Grands ®! Big & Flaky crescent dinner rolls",
17
+ "4 tablespoons marinara sauce",
18
+ "64 slices pepperoni (5 oz)",
19
+ "1 1/3 cups shredded mozzarella cheese (5 oz)",
20
+ "1/4 teaspoon Italian seasoning"
21
+ ]
22
+ }
23
+ its(:name) { should == "Big & Cheesy Pepperoni Hand Pies" }
24
+ its(:nutrition) do
25
+ should == {
26
+ calories: '590',
27
+ cholesterol: '55 mg',
28
+ fiber: '1 g',
29
+ protein: '21 g',
30
+ saturated_fat: '15 g',
31
+ sodium: '1550 mg',
32
+ sugar: '10 g',
33
+ total_carbohydrates: '42 g',
34
+ total_fat: '4 1/2',
35
+ trans_fat: '1/2 g',
36
+ unsaturated_fat: nil
37
+ }
38
+ end
39
+
40
+ its(:instructions) {
41
+ instructions = <<-EOS
42
+ 1
43
+ Heat oven to 375°F. Separate dough into 4 rectangles. Place on ungreased cookie sheet. Press each to 7x5 inches, firmly pressing perforations to seal.
44
+ 2
45
+ Spread 1 tablespoon marinara sauce on each rectangle to within 1/2 inch of edges. Place 8 slices of pepperoni in center of each rectangle; top with 1/3 cup cheese and 8 more slices pepperoni. Bring ends up over filling, overlapping about 1 inch. Press edges with fork to seal. Brush each sandwich with water, and sprinkle with Italian seasoning.
46
+ 3
47
+ Bake 13 to 15 minutes or until golden brown. Immediately remove from cookie sheet. Serve warm.
48
+ EOS
49
+ should == instructions.strip
50
+ }
51
+ its(:prep_time) { should == nil }
52
+ its(:published_date) { should == nil }
53
+ its(:total_time) { should == 25 }
54
+ its(:yield) { should == "1 Serving" }
55
+
56
+ end
57
+
58
+ end
59
+
@@ -0,0 +1,41 @@
1
+ # encoding: UTF-8
2
+ require 'hangry'
3
+
4
+ describe Hangry do
5
+
6
+ context "saveur.com recipe" do
7
+ let(:html) { File.read("spec/fixtures/saveur.com.html") }
8
+ subject { Hangry.parse(html) }
9
+
10
+ its(:author) { should == nil }
11
+ its(:canonical_url) { should == "http://www.saveur.com/article/Recipes/Smoked-Trout-Blinis-with-Creme-Fraiche-and-Dill" }
12
+ its(:cook_time) { should == nil }
13
+ its(:description) { should == "Sweet and supple miniature pancakes are topped with flakes of tender smoked trout and sprinkled with cayenne pepper for a touch of invigorating heat. A dollop of cr�me fra�che and a touch of anisey dill balance the fish's smoky intensity." }
14
+ its(:ingredients) { should == [] }
15
+ its(:name) { should == "Smoked Trout Blinis with Crème Fraîche and Dill" }
16
+ its(:nutrition) do
17
+ should == {
18
+ calories: nil,
19
+ cholesterol: nil,
20
+ fiber: nil,
21
+ protein: nil,
22
+ saturated_fat: nil,
23
+ sodium: nil,
24
+ sugar: nil,
25
+ total_carbohydrates: nil,
26
+ total_fat: nil,
27
+ trans_fat: nil,
28
+ unsaturated_fat: nil
29
+ }
30
+ end
31
+
32
+ its(:instructions) { should == nil }
33
+ its(:prep_time) { should == nil }
34
+ its(:published_date) { should == Date.parse("2013-03-12") }
35
+ its(:total_time) { should == nil }
36
+ its(:yield) { should == nil }
37
+
38
+ end
39
+
40
+ end
41
+
@@ -0,0 +1,65 @@
1
+ # encoding: UTF-8
2
+ require 'hangry'
3
+
4
+ describe Hangry do
5
+
6
+ context "tarladalal.com recipe" do
7
+ let(:html) { File.read("spec/fixtures/tarladalal.com.html") }
8
+ subject { Hangry.parse(html) }
9
+
10
+ its(:author) { should == "Tarla Dalal" }
11
+ its(:canonical_url) { should == nil }
12
+ its(:cook_time) { should == 15 }
13
+ its(:description) { should == "A Jain version of the all-time favourite veggie fried rice!" }
14
+ its(:ingredients) {
15
+ should == [
16
+ "4 cups 80 % cooked Rice",
17
+ "1/4 cup parboiled and sliced french beans",
18
+ "1/2 cup sliced coloured capsicum (green, yellow andred)",
19
+ "1/4 cup shredded cabbage",
20
+ "1/4 cup thinly sliced baby corn",
21
+ "2 tbsp chopped celery",
22
+ "3 tsp Chinese 5 Spice Powder",
23
+ "2 tbsp soy sauce",
24
+ "1 tbsp chilli sauce",
25
+ "2 tbsp oil",
26
+ "salt to taste",
27
+ "2 tbsp chopped coriander (dhania)"
28
+ ]
29
+ }
30
+ its(:name) { should == "5 Spice Vegetable Fried Rice" }
31
+ its(:nutrition) do
32
+ should == {
33
+ calories: nil,
34
+ cholesterol: nil,
35
+ fiber: nil,
36
+ protein: nil,
37
+ saturated_fat: nil,
38
+ sodium: nil,
39
+ sugar: nil,
40
+ total_carbohydrates: nil,
41
+ total_fat: nil,
42
+ trans_fat: nil,
43
+ unsaturated_fat: nil
44
+ }
45
+ end
46
+
47
+ its(:instructions) {
48
+ instructions = <<-EOS
49
+ Heat the oil in a wok over a high flame, add all vegetables and cook for 2 minutes on high flame.
50
+ Add in rice, 5 spice powder, soya sauce, chilli sauce and salt.
51
+ Mix well and cook for 5 minutes.
52
+ Serve hot.
53
+ EOS
54
+ should == instructions.strip
55
+ }
56
+ its(:prep_time) { should == 20 }
57
+ its(:published_date) { should == nil }
58
+ its(:total_time) { should == nil }
59
+ its(:yield) { should == "Serves 4." }
60
+
61
+ end
62
+
63
+ end
64
+
65
+
@@ -0,0 +1,41 @@
1
+ # encoding: UTF-8
2
+ require 'hangry'
3
+
4
+ describe Hangry do
5
+
6
+ context "taste.com.au recipe" do
7
+ let(:html) { File.read("spec/fixtures/taste.com.au.html") }
8
+ subject { Hangry.parse(html) }
9
+
10
+ its(:author) { should == "Sophia Young" }
11
+ its(:canonical_url) { should == "/recipes/24586/lemon+melting+moments" }
12
+ its(:cook_time) { should == 15 }
13
+ its(:description) { should == "Take a trip down memory lane with these buttery biccies. They're great for teatime or with coffee for your next dinner party." }
14
+ its(:ingredients) { should == [] }
15
+ its(:name) { should == "Lemon melting moments" }
16
+ its(:nutrition) do
17
+ should == {
18
+ calories: nil,
19
+ cholesterol: nil,
20
+ fiber: nil,
21
+ protein: nil,
22
+ saturated_fat: nil,
23
+ sodium: nil,
24
+ sugar: nil,
25
+ total_carbohydrates: nil,
26
+ total_fat: nil,
27
+ trans_fat: nil,
28
+ unsaturated_fat: nil
29
+ }
30
+ end
31
+
32
+ its(:instructions) { should == nil }
33
+ its(:prep_time) { should == nil }
34
+ its(:published_date) { should == Date.parse("2010-07-01") }
35
+ its(:total_time) { should == nil }
36
+ its(:yield) { should == "20" }
37
+
38
+ end
39
+
40
+ end
41
+
@@ -0,0 +1,70 @@
1
+ # encoding: UTF-8
2
+ require 'hangry'
3
+
4
+ describe Hangry do
5
+
6
+ context "tasteofhome.com recipe" do
7
+ let(:html) { File.read("spec/fixtures/tasteofhome.com.html") }
8
+ subject { Hangry.parse(html) }
9
+
10
+ it "should use the correct parser" do
11
+ Hangry::ParserClassSelecter.new(html).parser_class.should == Hangry::Parsers::NonStandard::TasteOfHomeParser
12
+ end
13
+
14
+ its(:author) { should == nil }
15
+ its(:canonical_url) { should == 'http://www.tasteofhome.com/Recipes/Rhubarb-Popover-Pie' }
16
+ its(:cook_time) { should == nil }
17
+ its(:description) { should == nil }
18
+ its(:ingredients) {
19
+ should == [
20
+ "1/2 cup all-purpose flour",
21
+ "1/4 teaspoon salt",
22
+ "2 eggs",
23
+ "1/2 cup 2% milk",
24
+ "2 tablespoons butter",
25
+ "FILLING:",
26
+ "1-1/2 cups sliced fresh or frozen rhubarb, thawed",
27
+ "1/2 cup canned pineapple chunks",
28
+ "1/3 cup butter, cubed",
29
+ "1/2 cup packed brown sugar",
30
+ "Whipped cream or vanilla ice cream, optional"
31
+ ]
32
+ }
33
+ its(:name) { should == "Rhubarb Popover Pie Recipe" }
34
+ its(:nutrition) do
35
+ should == {
36
+ calories: nil,
37
+ cholesterol: nil,
38
+ fiber: nil,
39
+ protein: nil,
40
+ saturated_fat: nil,
41
+ sodium: nil,
42
+ sugar: nil,
43
+ total_carbohydrates: nil,
44
+ total_fat: nil,
45
+ trans_fat: nil,
46
+ unsaturated_fat: nil
47
+ }
48
+ end
49
+
50
+ its(:instructions) {
51
+ instructions = <<-EOS
52
+ Directions
53
+ In a large bowl, combine flour and salt. In another bowl, whisk eggs and milk.
54
+ Place butter in an 9-in. pie plate; heat in a 425° oven for 3-5 minutes or until butter is melted. Meanwhile, stir egg mixture into dry ingredients just until moistened.
55
+ Carefully swirl the butter in the pan to coat the sides and bottom of pan; add batter. Bake at 425° for 16-20 minutes or until puffed and golden brown.
56
+ Meanwhile, in a large skillet, saute rhubarb and pineapple in butter until rhubarb is tender. Stir in brown sugar; bring to a boil over medium heat, stirring constantly. Pour into the center of puffed pancake; cut into six wedges. Serve immediately with whipped cream if desired. Yield: 6 servings.
57
+ EOS
58
+ should == instructions.strip
59
+ }
60
+
61
+ its(:prep_time) { should == nil }
62
+ its(:published_date) { should == nil }
63
+ its(:total_time) { should == 45 }
64
+ its(:yield) { should == "Yield: 6 Servings" }
65
+
66
+ end
67
+
68
+ end
69
+
70
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hangry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2013-04-03 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70341803937200 !ruby/object:Gem::Requirement
16
+ requirement: &70365485650760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70341803937200
24
+ version_requirements: *70365485650760
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70341803936680 !ruby/object:Gem::Requirement
27
+ requirement: &70365485650320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70341803936680
35
+ version_requirements: *70365485650320
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: pry
38
- requirement: &70341803936200 !ruby/object:Gem::Requirement
38
+ requirement: &70365485649880 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70341803936200
46
+ version_requirements: *70365485649880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activesupport
49
- requirement: &70341803935580 !ruby/object:Gem::Requirement
49
+ requirement: &70365485649360 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70341803935580
57
+ version_requirements: *70365485649360
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: iso8601
60
- requirement: &70341803934980 !ruby/object:Gem::Requirement
60
+ requirement: &70365485648840 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.4.0
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70341803934980
68
+ version_requirements: *70365485648840
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
- requirement: &70341803934460 !ruby/object:Gem::Requirement
71
+ requirement: &70365485648380 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '1.5'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70341803934460
79
+ version_requirements: *70365485648380
80
80
  description: A recipe microformat parser.
81
81
  email:
82
82
  - ian@iancanderson.com
@@ -100,25 +100,53 @@ files:
100
100
  - lib/hangry/parser_class_selecter.rb
101
101
  - lib/hangry/parsers/non_standard/all_recipes_parser.rb
102
102
  - lib/hangry/parsers/non_standard/eating_well_parser.rb
103
+ - lib/hangry/parsers/non_standard/taste_of_home_parser.rb
104
+ - lib/hangry/recipe_attribute_cleaner.rb
103
105
  - lib/hangry/recipe_parser.rb
104
106
  - lib/hangry/schema_org_recipe_parser.rb
105
107
  - lib/hangry/version.rb
106
108
  - spec/fixtures/allrecipes.html
109
+ - spec/fixtures/bbc.co.uk.html
107
110
  - spec/fixtures/betty_crocker.html
108
111
  - spec/fixtures/bigoven.html
112
+ - spec/fixtures/chow.com.html
113
+ - spec/fixtures/cooking.com.html
114
+ - spec/fixtures/cooks.com.html
115
+ - spec/fixtures/copykat.com.html
109
116
  - spec/fixtures/eatingwell.com.html
110
117
  - spec/fixtures/epicurious.html
118
+ - spec/fixtures/food.com.html
111
119
  - spec/fixtures/food_network_schema_org.html
112
120
  - spec/fixtures/food_network_with_blank_ingredients.html
121
+ - spec/fixtures/foodandwine.com.html
122
+ - spec/fixtures/heart.org.html
113
123
  - spec/fixtures/myrecipes.com.html
124
+ - spec/fixtures/pillsbury.com.html
125
+ - spec/fixtures/saveur.com.html
126
+ - spec/fixtures/tarladalal.com.html
127
+ - spec/fixtures/taste.com.au.html
128
+ - spec/fixtures/tasteofhome.com.html
114
129
  - spec/hangry_spec.rb
115
130
  - spec/real_examples/all_recipes_spec.rb
131
+ - spec/real_examples/bbc_co_uk_spec.rb
116
132
  - spec/real_examples/betty_crocker_spec.rb
117
133
  - spec/real_examples/big_oven_spec.rb
134
+ - spec/real_examples/chow_com_spec.rb
135
+ - spec/real_examples/cooking_com_spec.rb
136
+ - spec/real_examples/cooks_com_spec.rb
137
+ - spec/real_examples/copykat_spec.rb
118
138
  - spec/real_examples/eating_well_spec.rb
119
139
  - spec/real_examples/epicurious_spec.rb
140
+ - spec/real_examples/food_and_wine_spec.rb
141
+ - spec/real_examples/food_com_spec.rb
120
142
  - spec/real_examples/food_network_spec.rb
143
+ - spec/real_examples/heart_org_spec.rb
121
144
  - spec/real_examples/myrecipes_com_spec.rb
145
+ - spec/real_examples/pillsbury_spec.rb
146
+ - spec/real_examples/saveur_com_spec.rb
147
+ - spec/real_examples/tarladalal_com_spec.rb
148
+ - spec/real_examples/taste_com_au_spec.rb
149
+ - spec/real_examples/taste_of_home_spec.rb
122
150
  homepage: https://github.com/iancanderson/hangry
123
151
  licenses: []
124
152
  post_install_message:
@@ -145,18 +173,44 @@ specification_version: 3
145
173
  summary: Parses microformatted recipe HTML into a plain-old-ruby Recipe object.
146
174
  test_files:
147
175
  - spec/fixtures/allrecipes.html
176
+ - spec/fixtures/bbc.co.uk.html
148
177
  - spec/fixtures/betty_crocker.html
149
178
  - spec/fixtures/bigoven.html
179
+ - spec/fixtures/chow.com.html
180
+ - spec/fixtures/cooking.com.html
181
+ - spec/fixtures/cooks.com.html
182
+ - spec/fixtures/copykat.com.html
150
183
  - spec/fixtures/eatingwell.com.html
151
184
  - spec/fixtures/epicurious.html
185
+ - spec/fixtures/food.com.html
152
186
  - spec/fixtures/food_network_schema_org.html
153
187
  - spec/fixtures/food_network_with_blank_ingredients.html
188
+ - spec/fixtures/foodandwine.com.html
189
+ - spec/fixtures/heart.org.html
154
190
  - spec/fixtures/myrecipes.com.html
191
+ - spec/fixtures/pillsbury.com.html
192
+ - spec/fixtures/saveur.com.html
193
+ - spec/fixtures/tarladalal.com.html
194
+ - spec/fixtures/taste.com.au.html
195
+ - spec/fixtures/tasteofhome.com.html
155
196
  - spec/hangry_spec.rb
156
197
  - spec/real_examples/all_recipes_spec.rb
198
+ - spec/real_examples/bbc_co_uk_spec.rb
157
199
  - spec/real_examples/betty_crocker_spec.rb
158
200
  - spec/real_examples/big_oven_spec.rb
201
+ - spec/real_examples/chow_com_spec.rb
202
+ - spec/real_examples/cooking_com_spec.rb
203
+ - spec/real_examples/cooks_com_spec.rb
204
+ - spec/real_examples/copykat_spec.rb
159
205
  - spec/real_examples/eating_well_spec.rb
160
206
  - spec/real_examples/epicurious_spec.rb
207
+ - spec/real_examples/food_and_wine_spec.rb
208
+ - spec/real_examples/food_com_spec.rb
161
209
  - spec/real_examples/food_network_spec.rb
210
+ - spec/real_examples/heart_org_spec.rb
162
211
  - spec/real_examples/myrecipes_com_spec.rb
212
+ - spec/real_examples/pillsbury_spec.rb
213
+ - spec/real_examples/saveur_com_spec.rb
214
+ - spec/real_examples/tarladalal_com_spec.rb
215
+ - spec/real_examples/taste_com_au_spec.rb
216
+ - spec/real_examples/taste_of_home_spec.rb