emeals 0.0.1

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.
@@ -0,0 +1,285 @@
1
+ Meals: Side dishes are in ITALICS Ingredients: Instructions:
2
+ Meal 1
3
+ Spicy Sausage and Egg
4
+ Scramble
5
+ Oregano Roasted Zucchini
6
+ Prep Cook Total
7
+ 10m 20m 30m
8
+ ¼ lb ground pork sausage
9
+ ½ small onion, minced
10
+ 4 large eggs, lightly beaten
11
+ ¼ teaspoon kosher salt, ¼ teaspoon pepper
12
+ ---------------------------------------------------------------
13
+ 1 lb fresh zucchini, trimmed and thinly sliced
14
+ 1 tablespoon chopped fresh oregano
15
+ 1 tablespoon olive oil
16
+ ¼ teaspoon kosher salt, ¼ teaspoon pepper
17
+ Heat a nonstick skillet over medium-high heat.
18
+ Add sausage to pan; cook 6 minutes or until
19
+ done. Drain on a paper towel-lined plate,
20
+ reserving 1 tablespoon drippings in pan. Add
21
+ onion to pan over medium heat. Cook 3
22
+ minutes or until lightly browned. Add eggs; cook
23
+ 2 minutes, stirring constantly. Stir in sausage,
24
+ salt and pepper; cook until eggs are thickened
25
+ and set. Note: Remaining pork sausage can be
26
+ frozen for up to 2 months.
27
+ ---------------------------------------------------------------
28
+ Preheat oven to 425 degrees. Toss zucchini,
29
+ oregano, oil, salt and pepper in a large roasting
30
+ pan. Bake 20 minutes or until just tender.
31
+ Meal 2 Slow Cooker
32
+ Tomato and Oregano
33
+ Beef Tips
34
+ Garlicky Cauliflower Rice
35
+ Prep Cook Total
36
+ 10m 4h 4h 10m
37
+ 1½ lb beef stew meat
38
+ ½ teaspoon kosher salt, ½ teaspoon pepper
39
+ 14 oz can diced tomatoes
40
+ 1 cup organic beef broth
41
+ 1 teaspoon minced fresh oregano
42
+ ---------------------------------------------------------------
43
+ 12 oz package fresh cauliflower florets
44
+ 2 large cloves garlic, minced
45
+ 1 tablespoon olive oil
46
+ ¼ teaspoon kosher salt, ¼ teaspoon pepper
47
+ Sprinkle beef evenly with salt and pepper.
48
+ Place in a 3- or 4-quart slow cooker. Pour
49
+ tomatoes and broth over beef. Sprinkle with
50
+ oregano. Cover and cook on Low 4 hours or
51
+ until beef is tender.
52
+ ---------------------------------------------------------------
53
+ Preheat oven to 400 degrees. Pulse cauliflower
54
+ florets in a food processor until rice-like
55
+ consistency. Toss cauliflower, garlic, oil, salt
56
+ and pepper in a jellyroll pan. Bake 20 minutes,
57
+ stirring once, or until tender and slightly
58
+ browned.
59
+ Meal 3
60
+ Baked Almond-Crusted
61
+ Tilapia
62
+ Zucchini Casserole
63
+ Prep Cook Total
64
+ 15m 40m 55m
65
+ 2 (6-oz) tilapia fillets
66
+ ¼ teaspoon kosher salt, ¼ teaspoon pepper
67
+ 1 large egg, lightly beaten
68
+ ¼ cup almond flour
69
+ 1 teaspoon olive oil
70
+ ---------------------------------------------------------------
71
+ ½ lb fresh zucchini, trimmed and thinly sliced
72
+ 2 tablespoons olive oil, divided
73
+ ¼ teaspoon kosher salt, ¼ teaspoon pepper
74
+ 2 large eggs, lightly beaten
75
+ ¼ cup organic mayonnaise
76
+ 1 teaspoon minced fresh basil
77
+ Preheat oven to 425 degrees. Sprinkle fish
78
+ evenly with salt and pepper. Beat eggs in a
79
+ shallow dish. Place almond flour in a separate
80
+ shallow dish. Dip fish in egg mixture; dredge in
81
+ almond flour. Place on a baking sheet rubbed
82
+ with olive oil. Bake 8 minutes or until fish flakes
83
+ with a fork.
84
+ ---------------------------------------------------------------
85
+ Preheat oven to 425 degrees. Toss zucchini, 1
86
+ tablespoon oil, salt and pepper on a large
87
+ baking sheet; spread into a single layer. Bake
88
+ 20 minutes or until browned, turning once. Set
89
+ aside, and cool completely. Transfer cooled
90
+ zucchini to a small baking dish rubbed with
91
+ remaining 1 tablespoon oil. Stir in eggs,
92
+ mayonnaise and basil. Bake 20 minutes or until
93
+ center is set.
94
+ Meal 4 On the Grill
95
+ Simple Greek Grilled
96
+ Chicken
97
+ Antipasto Salad
98
+ Prep Cook Total
99
+ 10m 15m 25m
100
+ 2 boneless, skinless chicken breasts
101
+ 1 tablespoon olive oil
102
+ 1½ teaspoons Greek seasoning
103
+ ½ teaspoon kosher salt, ¼ teaspoon pepper
104
+ 2 cloves garlic, minced
105
+ ---------------------------------------------------------------
106
+ ½ (5-oz) bag baby spinach
107
+ ½ cup drained and chopped roasted red bell
108
+ peppers
109
+ ½ cup pitted kalamata olives, cut in half
110
+ 2 pepperoncini peppers, thinly sliced
111
+ ¼ cup organic balsamic vinaigrette
112
+ Preheat grill. Combine chicken, oil, seasoning,
113
+ salt, pepper and garlic in a large bowl; turn to
114
+ coat. Let stand 10 minutes. Remove chicken,
115
+ and discard oil mixture. Grill chicken 6 minutes
116
+ per side or until done.
117
+ ---------------------------------------------------------------
118
+ Combine spinach, roasted bell peppers, olives,
119
+ pepperoncini peppers and vinaigrette in a large
120
+ bowl; toss well to coat.
121
+ Paleo Plan for Two
122
+ June 26 - July 2, 2013
123
+ Copyright © 2013, eMeals, Inc. 488
124
+ Meals: Side dishes are in ITALICS Ingredients: Instructions:
125
+ Meal 5
126
+ Sweet and Spicy Pork
127
+ Chops
128
+ Sweet Potato Salad
129
+ Prep Cook Total
130
+ 15m 20m 35m
131
+ 2 (8-oz) bone-in pork chops
132
+ 3 tablespoons olive oil, divided
133
+ ¼ cup honey
134
+ 3 cloves garlic, minced
135
+ 1 teaspoon kosher salt
136
+ 1 teaspoon ground cumin
137
+ ½ teaspoon ground coriander
138
+ ½ teaspoon black pepper
139
+ ¼ teaspoon crushed red pepper
140
+ ---------------------------------------------------------------
141
+ 1 lb sweet potatoes, peeled and cut into 1-inch
142
+ chunks
143
+ ¼ cup organic mayonnaise
144
+ 2 tablespoons chopped fresh chives
145
+ 2 tablespoons yellow mustard
146
+ ½ teaspoon kosher salt, ¼ teaspoon pepper
147
+ Preheat oven to 400 degrees. Brown pork
148
+ chops in 1 tablespoon hot oil in a large oven-
149
+ proof skillet over medium-high heat. Combine
150
+ honey, 2 tablespoons oil, garlic, salt, cumin,
151
+ coriander, black pepper and red pepper in a
152
+ bowl. Pour honey mixture over pork chops; turn
153
+ to coat. Transfer skillet to oven. Bake 15 to 20
154
+ minutes or until pork chops are tender.
155
+ ---------------------------------------------------------------
156
+ Place sweet potatoes in a medium saucepan;
157
+ add water to cover. Bring to a boil in water.
158
+ Cook 15 to 18 minutes or until tender. Drain
159
+ and transfer to a large bowl. Stir in mayonnaise,
160
+ chives, mustard, salt and pepper; toss well to
161
+ combine.
162
+ Meal 6 Super Fast
163
+ Baked Cod Provencal
164
+ Roasted Asparagus with Sun-
165
+ Dried Tomatoes
166
+ Prep Cook Total
167
+ 15m 10m 25m
168
+ 2 (6-oz) cod fillets
169
+ 2 cloves garlic, minced
170
+ ½ tablespoon olive oil
171
+ 1 teaspoon dried herbes de Provence
172
+ ¼ teaspoon kosher salt, ¼ teaspoon pepper
173
+ ---------------------------------------------------------------
174
+ 1 lb asparagus, trimmed
175
+ 2 tablespoons julienne-cut sun-dried tomatoes,
176
+ drained
177
+ 1 tablespoon sun-dried tomato oil
178
+ 1 clove garlic, minced
179
+ ¼ teaspoon kosher salt, ¼ teaspoon pepper
180
+ Preheat broiler. Place fish on a baking sheet;
181
+ rub with garlic, oil, herbs, salt and pepper. Broil
182
+ 6 minutes or until fish flakes with a fork. Note: If
183
+ you can't find herbes de Provence, substitute ½
184
+ teaspoon dried thyme, ¼ teaspoon dried
185
+ rosemary and ¼ teaspoon dried basil.
186
+ ---------------------------------------------------------------
187
+ Preheat broiler. Combine asparagus, tomatoes,
188
+ oil, garlic, salt and pepper in a roasting pan.
189
+ Broil 4 minutes or until just tender.
190
+ Meal 7 Marinate Ahead
191
+ Peppery Grilled Ribeye
192
+ Steaks
193
+ Heirloom Tomato and Spinach
194
+ Salad
195
+ Prep Cook Total
196
+ 10m 15m 25m
197
+ 2 (8-oz) boneless ribeye steaks
198
+ 2 tablespoons olive oil
199
+ 3 cloves garlic, minced
200
+ ½ teaspoon coarsely ground black pepper
201
+ ¼ teaspoon crushed red pepper
202
+ ½ teaspoon salt
203
+ ---------------------------------------------------------------
204
+ 2 heirloom tomatoes, chopped
205
+ ¼ cup thinly sliced fresh basil
206
+ ¼ cup organic balsamic vinaigrette
207
+ ½ (5-oz) bag baby spinach
208
+ Place steaks in a baking dish; rub evenly with
209
+ oil, garlic, black pepper and red pepper. Cover
210
+ and refrigerate 4 hours or overnight. Preheat
211
+ grill. Sprinkle steaks with salt. Grill 6 minutes
212
+ per side or to desired degree of doneness.
213
+ ---------------------------------------------------------------
214
+ Combine tomatoes, basil and vinaigrette; toss.
215
+ Let stand 30 minutes before serving, tossing
216
+ occasionally. Serve tomato mixture over baby
217
+ spinach.
218
+ Paleo Plan for Two
219
+ June 26 - July 2, 2013
220
+ Copyright © 2013, eMeals, Inc. 488
221
+ Necessary Staples
222
+ Meal 1
223
+ 1 tablespoon olive oil
224
+ Meal 2
225
+ 1 tablespoon olive oil
226
+ Meal 3
227
+ ¼ cup almond flour
228
+ 2 tablespoons plus 1 teaspoon
229
+ olive oil
230
+ Meal 4
231
+ 1½ teaspoons Greek seasoning
232
+ 1 tablespoon olive oil
233
+ Meal 5
234
+ 2 tablespoons yellow mustard
235
+ ¼ teaspoon crushed red pepper
236
+ ½ teaspoon ground coriander
237
+ 1 teaspoon ground cumin
238
+ ¼ cup honey
239
+ 3 tablespoons olive oil
240
+ Meal 6
241
+ 1 teaspoon dried herbes de
242
+ Provence (or sub dried thyme,
243
+ rosemary and basil)
244
+ ½ tablespoon olive oil
245
+ Meal 7
246
+ 2 tablespoons olive oil
247
+ ½ teaspoon coarsely ground
248
+ black pepper
249
+ ¼ teaspoon crushed red pepper
250
+ Meals ✓ Grocery Items to Purchase
251
+ Produce
252
+ 1 1 small onion, need ½
253
+ 1,2 1 bunch fresh oregano
254
+ 1,3 1½ lb fresh zucchini
255
+ 2 12 oz package fresh cauliflower florets
256
+ 2,4,5,6,7 1 head garlic, need 13 cloves
257
+ 3,7 1 bunch fresh basil
258
+ 4,7 5 oz bag fresh baby spinach
259
+ 5 1 lb sweet potatoes
260
+ 5 1 bunch fresh chives, need 2 tablespoons chopped
261
+ 6 1 lb asparagus
262
+ 7 2 heirloom tomatoes (or sub vine-ripened tomatoes)
263
+ Meat & Seafood
264
+ 1 1 lb ground pork sausage, need ¼ lb
265
+ 2 1½ lb beef stew meat
266
+ 3 2 (6-oz) tilapia fillets
267
+ 4 2 boneless, skinless chicken breasts
268
+ 5 2 (8-oz) bone-in pork chops
269
+ 6 2 (6-oz) cod fillets
270
+ 7 2 (8-oz) boneless ribeye steaks
271
+ Refrigerated
272
+ 1,3 1 dozen large eggs, need 7 eggs
273
+ Canned & Packaged
274
+ 2 14 oz can organic beef broth, need 1 cup
275
+ 2 14 oz can diced tomatoes
276
+ 3,5 12 oz jar organic mayonnaise, need ½ cup
277
+ 4 8 oz jar roasted red bell peppers, need ½ cup chopped
278
+ 4 12 oz jar pepperoncini peppers, need 2 peppers
279
+ 4 8 oz jar pitted kalamata olives, need ½ cup
280
+ 4,7 8 oz bottle organic balsamic vinaigrette, need ½ cup
281
+ 6 7 oz jar julienne-cut sun-dried tomatoes in oil
282
+ Paleo Plan for Two
283
+ June 26 - July 2, 2013
284
+ Copyright © 2013, eMeals, Inc. 488
285
+
@@ -0,0 +1,51 @@
1
+ # encoding: utf-8
2
+
3
+ require 'emeals/dish'
4
+
5
+ include Emeals
6
+
7
+ describe Ingredient do
8
+ describe "#parse" do
9
+
10
+ it "correctly parses lbs" do
11
+ result = Ingredient.new('1/4', 'lb', 'ground pork sausage')
12
+ expect(Ingredient.parse("\xC2\xBC lb ground pork sausage")).to eq result
13
+ end
14
+
15
+ it "correctly parses teaspoons" do
16
+ result = Ingredient.new('1/4', 'teaspoon', 'kosher salt')
17
+ expect(Ingredient.parse("\xC2\xBC teaspoon kosher salt")).to eq result
18
+ end
19
+
20
+ it "correctly parses tablespoons" do
21
+ result = Ingredient.new(1, 'tablespoon', 'olive oil')
22
+ expect(Ingredient.parse("1 tablespoon olive oil")).to eq result
23
+ end
24
+
25
+ it "correctly parses ounces" do
26
+ result = Ingredient.new(14, 'oz', 'can diced tomatoes')
27
+ expect(Ingredient.parse("14 oz can diced tomatoes")).to eq result
28
+ end
29
+
30
+ it "correctly parses cups" do
31
+ result = Ingredient.new(1, 'cup', 'organic beef broth')
32
+ expect(Ingredient.parse("1 cup organic beef broth")).to eq result
33
+ end
34
+
35
+ it "correctly parses cloves" do
36
+ result = Ingredient.new(1, 'clove', 'garlic, minced')
37
+ expect(Ingredient.parse("1 clove garlic, minced")).to eq result
38
+ end
39
+
40
+ it "correctly parses ingredients with no known unit" do
41
+ result = Ingredient.new(1, nil, 'large egg')
42
+ expect(Ingredient.parse("1 large egg")).to eq result
43
+ end
44
+
45
+ it "correctly parses plural units" do
46
+ result = Ingredient.new(2, 'clove', 'garlic, minced')
47
+ expect(Ingredient.parse("2 cloves garlic, minced")).to eq result
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,17 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+ RSpec.configure do |config|
8
+ config.treat_symbols_as_metadata_keys_with_true_values = true
9
+ config.run_all_when_everything_filtered = true
10
+ config.filter_run :focus
11
+
12
+ # Run specs in random order to surface order dependencies. If you find an
13
+ # order dependency and want to debug it, you can fix the order by providing
14
+ # the seed, which is printed after each run.
15
+ # --seed 1234
16
+ config.order = 'random'
17
+ end
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: emeals
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Matt Moriarity
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-07-04 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A client for interpreting eMeals menus.
14
+ email:
15
+ - matt@mattmoriarity.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - .gitignore
21
+ - .rspec
22
+ - .ruby-version
23
+ - .travis.yml
24
+ - Gemfile
25
+ - LICENSE.txt
26
+ - README.md
27
+ - Rakefile
28
+ - emeals.gemspec
29
+ - lib/emeals.rb
30
+ - lib/emeals/client.rb
31
+ - lib/emeals/dish.rb
32
+ - lib/emeals/meal.rb
33
+ - lib/emeals/menu.rb
34
+ - lib/emeals/version.rb
35
+ - spec/client_spec.rb
36
+ - spec/fixtures/menu.pdf
37
+ - spec/fixtures/menu.txt
38
+ - spec/ingredient_spec.rb
39
+ - spec/spec_helper.rb
40
+ homepage: ''
41
+ licenses: []
42
+ metadata: {}
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - '>='
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ requirements: []
58
+ rubyforge_project:
59
+ rubygems_version: 2.0.3
60
+ signing_key:
61
+ specification_version: 4
62
+ summary: eMeals Client
63
+ test_files:
64
+ - spec/client_spec.rb
65
+ - spec/fixtures/menu.pdf
66
+ - spec/fixtures/menu.txt
67
+ - spec/ingredient_spec.rb
68
+ - spec/spec_helper.rb