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.
- data/lib/hangry.rb +3 -1
- data/lib/hangry/data_vocabulary_recipe_parser.rb +3 -3
- data/lib/hangry/hrecipe_parser.rb +23 -7
- data/lib/hangry/parser_class_selecter.rb +3 -1
- data/lib/hangry/parsers/non_standard/all_recipes_parser.rb +1 -2
- data/lib/hangry/parsers/non_standard/eating_well_parser.rb +2 -6
- data/lib/hangry/parsers/non_standard/taste_of_home_parser.rb +22 -0
- data/lib/hangry/recipe_attribute_cleaner.rb +56 -0
- data/lib/hangry/recipe_parser.rb +4 -17
- data/lib/hangry/schema_org_recipe_parser.rb +8 -11
- data/lib/hangry/version.rb +1 -1
- data/spec/fixtures/bbc.co.uk.html +713 -0
- data/spec/fixtures/chow.com.html +1016 -0
- data/spec/fixtures/cooking.com.html +3655 -0
- data/spec/fixtures/cooks.com.html +623 -0
- data/spec/fixtures/copykat.com.html +782 -0
- data/spec/fixtures/food.com.html +2334 -0
- data/spec/fixtures/foodandwine.com.html +1667 -0
- data/spec/fixtures/heart.org.html +1188 -0
- data/spec/fixtures/pillsbury.com.html +1657 -0
- data/spec/fixtures/saveur.com.html +1527 -0
- data/spec/fixtures/tarladalal.com.html +865 -0
- data/spec/fixtures/taste.com.au.html +2034 -0
- data/spec/fixtures/tasteofhome.com.html +2527 -0
- data/spec/real_examples/bbc_co_uk_spec.rb +75 -0
- data/spec/real_examples/big_oven_spec.rb +15 -1
- data/spec/real_examples/chow_com_spec.rb +78 -0
- data/spec/real_examples/cooking_com_spec.rb +60 -0
- data/spec/real_examples/cooks_com_spec.rb +67 -0
- data/spec/real_examples/copykat_spec.rb +55 -0
- data/spec/real_examples/food_and_wine_spec.rb +58 -0
- data/spec/real_examples/food_com_spec.rb +108 -0
- data/spec/real_examples/heart_org_spec.rb +46 -0
- data/spec/real_examples/pillsbury_spec.rb +59 -0
- data/spec/real_examples/saveur_com_spec.rb +41 -0
- data/spec/real_examples/tarladalal_com_spec.rb +65 -0
- data/spec/real_examples/taste_com_au_spec.rb +41 -0
- data/spec/real_examples/taste_of_home_spec.rb +70 -0
- 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.
|
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: &
|
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: *
|
24
|
+
version_requirements: *70365485650760
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
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: *
|
35
|
+
version_requirements: *70365485650320
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: pry
|
38
|
-
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: *
|
46
|
+
version_requirements: *70365485649880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: activesupport
|
49
|
-
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: *
|
57
|
+
version_requirements: *70365485649360
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: iso8601
|
60
|
-
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: *
|
68
|
+
version_requirements: *70365485648840
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: nokogiri
|
71
|
-
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: *
|
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
|