einstein 0.0.1 → 0.0.2
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/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
|

|
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
|