einstein 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +5 -6
- data/README.pdf +0 -0
- data/lib/einstein.rb +1 -1
- data/lib/einstein/version.rb +1 -1
- data/spec/einstein_spec.rb +13 -5
- data/spec/fixtures/vcr_cassettes/index.yml +5 -5
- metadata +3 -2
data/README.md
CHANGED
@@ -6,13 +6,13 @@ Follow me on [Twitter](http://twitter.com/linusoleander) or [Github](https://git
|
|
6
6
|
|
7
7
|
## How to use
|
8
8
|
|
9
|
-
### Today's
|
9
|
+
### Today's menu
|
10
10
|
|
11
11
|
```` ruby
|
12
12
|
Einstein.menu_for(:today)
|
13
13
|
````
|
14
14
|
|
15
|
-
###
|
15
|
+
### Menu for any day
|
16
16
|
|
17
17
|
```` ruby
|
18
18
|
Einstein.menu_for(:monday)
|
@@ -21,7 +21,7 @@ Einstein.menu_for(:monday)
|
|
21
21
|
### Push to phone
|
22
22
|
|
23
23
|
*Einstein* has build in support for [Prowl](https://www.prowlapp.com/).
|
24
|
-
|
24
|
+
Just pass you [api key](https://www.prowlapp.com/api_settings.php) to `#push_to` and the menu will be push to you phone within seconds.
|
25
25
|
|
26
26
|
```` ruby
|
27
27
|
Einstein.menu_for(:monday).push_to("6576aa9fa3fc3e18aca8da9914a166b3")
|
@@ -29,17 +29,16 @@ Einstein.menu_for(:monday).push_to("6576aa9fa3fc3e18aca8da9914a166b3")
|
|
29
29
|
|
30
30
|
## What is being returned?
|
31
31
|
|
32
|
-
`#menu_for` returns an array
|
32
|
+
`#menu_for` returns an array of strings containing each dish for the given day.
|
33
33
|
|
34
34
|
## What is being push to the phone?
|
35
35
|
|
36
36
|
![Example push](http://i.imgur.com/lf8Js.png)
|
37
37
|
|
38
|
-
|
39
38
|
## Real world example
|
40
39
|
|
41
40
|
Here is a real world example using [whenever](https://github.com/javan/whenever).
|
42
|
-
|
41
|
+
It will push *today's menu* directly to your iPhone each day at 11:45 AM.
|
43
42
|
|
44
43
|
1 . Install whenever. `gem install whenever`.
|
45
44
|
2 . Navigate to your application, run `wheneverize .`.
|
data/README.pdf
ADDED
Binary file
|
data/lib/einstein.rb
CHANGED
@@ -17,7 +17,7 @@ class Einstein
|
|
17
17
|
def menu_for(whenever)
|
18
18
|
data = content.css("td.bg_lunchmeny p").to_a[1..-2].map do |p|
|
19
19
|
list = p.content.split("\r\n")
|
20
|
-
{list[0].gsub(/"|:|\s+/, "") => list[1..-1].map { |item| item.gsub(
|
20
|
+
{list[0].gsub(/"|:|\s+/, "") => list[1..-1].map { |item| item.gsub(/•/, "").strip }}
|
21
21
|
end.inject({}) { |a, b| a.merge(b) }
|
22
22
|
|
23
23
|
whenever = days.keys[Date.today.wday] if whenever == :today
|
data/lib/einstein/version.rb
CHANGED
data/spec/einstein_spec.rb
CHANGED
@@ -8,15 +8,15 @@ describe Einstein do
|
|
8
8
|
@days = [:monday, :tuesday, :wednesday, :thursday, :friday]
|
9
9
|
@api_key = "6576aa9fa3fc3e18aca8da9914a166b3"
|
10
10
|
@monday = [
|
11
|
-
"
|
12
|
-
"
|
11
|
+
"Varmrökt laxfilé med dillmajonnäs och färskpotatis",
|
12
|
+
"Biff Africana med banan, kokos, jordnötter och ris",
|
13
13
|
"Räksallad med tillbehör"
|
14
14
|
]
|
15
15
|
|
16
16
|
@today = [
|
17
|
-
"Stekt
|
18
|
-
"
|
19
|
-
"
|
17
|
+
"Stekt smörfisk med saffransdoftande skaldjursris & aioli",
|
18
|
+
"Wokad kyckling med gröncurry, kokosmjölk och sweet chili",
|
19
|
+
"Kräftsallad"
|
20
20
|
]
|
21
21
|
end
|
22
22
|
|
@@ -51,6 +51,14 @@ describe Einstein do
|
|
51
51
|
Einstein.menu_for(:today).should include(*@today)
|
52
52
|
a_request(:get, "http://www.butlercatering.se/einstein.html").should have_been_made.once
|
53
53
|
end
|
54
|
+
|
55
|
+
it "should only contain plain text" do
|
56
|
+
@days.each do |day|
|
57
|
+
Einstein.menu_for(day).each do |dish|
|
58
|
+
dish.should_not match(/•/)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
54
62
|
end
|
55
63
|
|
56
64
|
describe "#push_to" do
|
@@ -17,21 +17,21 @@
|
|
17
17
|
message: OK
|
18
18
|
headers:
|
19
19
|
content-length:
|
20
|
-
- "
|
20
|
+
- "12151"
|
21
21
|
content-type:
|
22
22
|
- text/html
|
23
23
|
last-modified:
|
24
|
-
- Mon,
|
24
|
+
- Mon, 16 May 2011 07:31:54 GMT
|
25
25
|
accept-ranges:
|
26
26
|
- bytes
|
27
27
|
etag:
|
28
|
-
- "\"
|
28
|
+
- "\"ec65549b13cc1:d7b\""
|
29
29
|
server:
|
30
30
|
- Microsoft-IIS/6.0
|
31
31
|
x-powered-by:
|
32
32
|
- ASP.NET
|
33
33
|
date:
|
34
|
-
-
|
34
|
+
- Thu, 19 May 2011 11:29:35 GMT
|
35
35
|
body: "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd\">\r\n\
|
36
36
|
<HTML><!-- InstanceBegin template=\"/Templates/template.dwt\" codeOutsideHTMLIsLocked=\"false\" -->\r\n\
|
37
37
|
\r\n\
|
@@ -66,7 +66,7 @@
|
|
66
66
|
<BODY>\r\n\
|
67
67
|
<table width=\"1000\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" id=\"topimg\">\r\n <tr> \r\n <td height=\"83\" colspan=\"4\" class=\"loggatop\"></td>\r\n <td height=\"83\" ></td>\r\n </tr>\r\n <tr> \r\n <td width=\"14\" height=\"19\"><img src=\"img/menu_left.gif\" width=\"14\" height=\"21\"></td>\r\n <td width=\"570\" class=\"menurepeater-top\"> <p> <a href=\"index.html\" target=\"_parent\" class=\"greyunderline\" >Hem \r\n </a>|<a href=\"omoss.html\" target=\"_parent\" class=\"greyunderline\" >Om \r\n Oss</a> | <a href=\"forslag.html\" target=\"_parent\" class=\"greyunderline\"> \r\n Catering </a>| <a href=\"einstein.html\" target=\"_parent\" class=\"greyunderline\">Lunchmeny \r\n </a>| <a href=\"event.html\" target=\"_parent\" class=\"greyunderline\" >Event \r\n </a>| <a href=\"porslinsuthyrning.html\" target=\"_parent\" class=\"greyunderline\">Porslinsuthyrning \r\n </a>| <a href=\"lokaler.html\" target=\"_parent\" class=\"greyunderline\"> \r\n Lokaler </a> | <a href=\"tillbehor.html\" target=\"_parent\" class=\"greyunderline\">Tillbehör</a> \r\n | <a href=\"kontakt.html\" target=\"_parent\" class=\"greyunderline\"> Kontakt \r\n </a>|</p></td>\r\n <td width=\"35\"> <img src=\"img/menu_right.gif\" width=\"9\" height=\"21\"> </td>\r\n <td width=\"209\"><p align=\"right\" class=\"p9\"><a href=\"finstilt.html\" target=\"_parent\" class=\"linkvit\">Finstilt</a> \r\n - <a href=\"samarbetspartners.html\" target=\"_parent\" class=\"linkvit\">Samarbetspartners</a> \r\n - <a href=\"bilder.html\" target=\"_parent\" class=\"linkvit\">Bilder</a></p></td>\r\n <td width=\"172\"><div align=\"right\"></div></td>\r\n </tr>\r\n\
|
68
68
|
</table>\r\n\
|
69
|
-
<table width=\"1000\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n <tr> \r\n <td width=\"829\" valign=\"top\"> \r\n <div id=\"vitcontainer\"> \r\n <div class=\"roundtopvit\"> \r\n <div class=\"r1vit\"></div>\r\n <div class=\"r2vit\"></div>\r\n <div class=\"r3vit\"></div>\r\n <div class=\"r4vit\"></div>\r\n </div>\r\n <div class=\"contentvit\"> \r\n <table width=\"808\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"10\">\r\n <tr> <!-- InstanceBeginEditable name=\"rubrik\" --> \r\n <td width=\"708\" valign=\"top\" class=\"rub-sidor\"> \r\n <p><strong>LUNCHMENY RESTAURANG EINSTEIN </strong></p></td>\r\n <!-- InstanceEndEditable --> <!-- InstanceBeginEditable name=\"utskrift\" --> \r\n <td width=\"56\" valign=\"top\"><div align=\"left\"><a href=\"Einstein_utskrift.dot\" target=\"_blank\"><img src=\"img/print.gif\" alt=\"Skriv ut sidan\" width=\"28\" height=\"20\" border=\"0\"></a></div></td>\r\n <!-- InstanceEndEditable --></tr>\r\n <tr> \r\n <!-- SLUT navigationsmeny -->\r\n <!-- InstanceBeginEditable name=\"inneholl\" -->\r\n <td colspan=\"2\" valign=\"top\"> <table width=\"755\" height=\"599\" border=\"0\" cellspacing=\"3\">\r\n <tr valign=\"top\"> \r\n <td colspan=\"2\"><h1 align=\"center\" class=\"h1_einstein\">RESTAURANG \r\n EINSTEIN</h1>\r\n <h5 align=\"center\" class=\"h1_einstein\">Meny V
|
69
|
+
<table width=\"1000\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n <tr> \r\n <td width=\"829\" valign=\"top\"> \r\n <div id=\"vitcontainer\"> \r\n <div class=\"roundtopvit\"> \r\n <div class=\"r1vit\"></div>\r\n <div class=\"r2vit\"></div>\r\n <div class=\"r3vit\"></div>\r\n <div class=\"r4vit\"></div>\r\n </div>\r\n <div class=\"contentvit\"> \r\n <table width=\"808\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"10\">\r\n <tr> <!-- InstanceBeginEditable name=\"rubrik\" --> \r\n <td width=\"708\" valign=\"top\" class=\"rub-sidor\"> \r\n <p><strong>LUNCHMENY RESTAURANG EINSTEIN </strong></p></td>\r\n <!-- InstanceEndEditable --> <!-- InstanceBeginEditable name=\"utskrift\" --> \r\n <td width=\"56\" valign=\"top\"><div align=\"left\"><a href=\"Einstein_utskrift.dot\" target=\"_blank\"><img src=\"img/print.gif\" alt=\"Skriv ut sidan\" width=\"28\" height=\"20\" border=\"0\"></a></div></td>\r\n <!-- InstanceEndEditable --></tr>\r\n <tr> \r\n <!-- SLUT navigationsmeny -->\r\n <!-- InstanceBeginEditable name=\"inneholl\" -->\r\n <td colspan=\"2\" valign=\"top\"> <table width=\"755\" height=\"599\" border=\"0\" cellspacing=\"3\">\r\n <tr valign=\"top\"> \r\n <td colspan=\"2\"><h1 align=\"center\" class=\"h1_einstein\">RESTAURANG \r\n EINSTEIN</h1>\r\n <h5 align=\"center\" class=\"h1_einstein\">Meny V 20</h5></td>\r\n </tr>\r\n <tr valign=\"top\"> \r\n <td width=\"396\" class=\"bg_666\"><h5 align=\"center\" class=\"h5_einstein\">VECKANS \r\n MENY</h5></td>\r\n <td width=\"346\" class=\"bg_666\"><h5 align=\"center\" class=\"h5_einstein\">VECKANS \r\n "EXTRA" RÄTTER</h5></td>\r\n </tr>\r\n <tr valign=\"top\">\r\n <td width=\"396\" height=\"477\" class=\"bg_lunchmeny\"> \r\n <p><strong>Dagens rätt 70 kr</strong></p>\r\n <p>Mån: <br>\r\n •Varmrökt laxfilé med dillmajonnäs och färskpotatis<br>\r\n • Biff Africana med banan, kokos, jordnötter och ris<br>\r\n • Räksallad med tillbehör </p>\r\n <p>Tis: <br>\r\n • Tapenadbakad fiskfilé med vitvinsås och soltorkade tomater <br>\r\n • Pytt i panna med ägg och rödbetor <br>\r\n • Salami och Briesallad</p>\r\n <p>Ons: <br>\r\n • Fisk och skaldjursgratäng med örtris och rucolakräm<br>\r\n • Stekt pannbiff med persiljemos och rödlökssky<br>\r\n • Ost och skinksallad </p>\r\n <p>Tors: <br>\r\n • Stekt smörfisk med saffransdoftande skaldjursris & aioli<br>\r\n • Wokad kyckling med gröncurry, kokosmjölk och sweet chili <br>\r\n • Kräftsallad<br>\r\n </p>\r\n <p>Fre <br>\r\n • Gravad lax med dillstuvad potatis och hovmästarsås, citron<br>\r\n • Schnitzel med champinjonsås och gräslökspotatis<br>\r\n • Dagens sallad </p>\r\n <p><a href=\"Einstein_utskrift.dot\" target=\"_blank\" class=\"linkvit\">Skriv \r\n ut meny</a></p>\r\n </td>\r\n <td class=\"bg_extrameny\"> <p align=\"center\"><strong>Veckans \r\n pasta 65 kr</strong><br>\r\n Dagens pasta fråga köket (mån-fre)</p>\r\n <p align=\"center\"> <strong>Veckans vegetariska 65 kr<br>\r\n </strong>Dagens vegetariska fråga köket (mån-fre)</p>\r\n <p align=\"center\"> <strong>Veckans paj 65 kr<br>\r\n </strong>Dagenspaj / vegetariskpaj</p>\r\n <p align=\"center\"> <strong>Veckans affärslunch 198kr</strong><br>\r\n Efter önskemål\r\n <br>\r\n <br>\r\n </p>\r\n <p align=\"center\"><a href=\"Einstein_utskrift.dot\" target=\"_blank\" class=\"linkvit\">skriv \r\n ut meny</a></p></td>\r\n </tr>\r\n <tr valign=\"top\"> \r\n <td colspan=\"2\" class=\"bg_666\"><p class=\"txt_fff\">Har ni en \r\n favoritplats i lokalen, är ett större sällskap \r\n eller vill ni boka affärslunch går det bra \r\n att kontakta oss dagen innan. Senast kl 15.00 på \r\n tel 031-772 41 70 eller faxa oss på 031-772 44 70</p></td>\r\n </tr>\r\n </table>\r\n </td>\r\n <!-- InstanceEndEditable --></tr>\r\n </table>\r\n </div>\r\n <div class=\"roundbottomvit\"> \r\n <div class=\"r4vit\"></div>\r\n <div class=\"r3vit\"></div>\r\n <div class=\"r2vit\"></div>\r\n <div class=\"r1vit\"></div>\r\n </div>\r\n </div></td>\r\n <td width=\"171\" valign=\"top\"><div align=\"right\">\r\n <p><img src=\"img/annons.gif\" width=\"170\" height=\"9\"></p>\r\n <p> <a href=\"http://www.cityporslin.se\" target=\"_blank\"><img src=\"img/logo.gif\" width=\"108\" height=\"108\" border=\"0\"></a></p>\r\n <p> <a href=\"http://www.kallsup.se\" target=\"_blank\"><img src=\"img/kallsup.gif\" width=\"151\" height=\"67\" border=\"0\"></a> \r\n </p>\r\n </div></td>\r\n </tr>\r\n\
|
70
70
|
</table>\r\n\
|
71
71
|
<table width=\"1000\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n <tr>\r\n <td width=\"825\"><table width=\"832\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr> \r\n <td colspan=\"7\"> </td>\r\n </tr>\r\n <tr> \r\n <td width=\"11\"><img src=\"img/edge_tl.gif\" width=\"11\" height=\"24\"></td>\r\n <td class=\"bg_fff\"colspan=\"5\"><div align=\"center\"> \r\n <p>Butler Catering | Chalmers Teknikpark | Sven Hultinsg. 9 | 412 \r\n 88 Göteborg| tel: 031-772 41 70</p>\r\n </div></td>\r\n <td width=\"11\"><img src=\"img/edge_tr.gif\" width=\"11\" height=\"24\"></td>\r\n </tr>\r\n <tr> \r\n <td><img src=\"img/edge_bl.gif\" width=\"11\" height=\"24\"></td>\r\n <td class=\"bg_fff\"width=\"207\"> </td>\r\n <td width=\"16\"><img src=\"img/adresrad_left.gif\" width=\"16\" height=\"24\"></td>\r\n <td width=\"361\"><p align=\"center\">Copyright © Butler Catering 2006 \r\n - Alla rättigheter förbehållna. </p></td>\r\n <td width=\"16\"><img src=\"img/adresrad_right.gif\" width=\"16\" height=\"24\"></td>\r\n <td class=\"bg_fff\" width=\"210\"> <div align=\"right\"> \r\n <script language=\"JavaScript\"><!--\r\n\
|
72
72
|
var TheFontFace = \"Verdana\";\r\n\
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: einstein
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Linus Oleander
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-19 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- .rspec
|
105
105
|
- Gemfile
|
106
106
|
- README.md
|
107
|
+
- README.pdf
|
107
108
|
- Rakefile
|
108
109
|
- einstein.gemspec
|
109
110
|
- lib/einstein.rb
|