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 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 meal
9
+ ### Today's menu
10
10
 
11
11
  ```` ruby
12
12
  Einstein.menu_for(:today)
13
13
  ````
14
14
 
15
- ### Meal for any day
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
- Pass you [api key](https://www.prowlapp.com/api_settings.php) to the `menu_for` method to push the menu to you iPhone.
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 of strings containing each dish for the given day.
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
- This example will push *today's menu* directly to your iPhone at 11:45 AM.
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(/• /, "").strip }}
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
@@ -1,3 +1,3 @@
1
1
  module Einstein
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -8,15 +8,15 @@ describe Einstein do
8
8
  @days = [:monday, :tuesday, :wednesday, :thursday, :friday]
9
9
  @api_key = "6576aa9fa3fc3e18aca8da9914a166b3"
10
10
  @monday = [
11
- "Ristad rostbiff med champinjoner, lök och örtsky",
12
- "Kabanoss med Gött mos, rostad lök och barbecuekräm",
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 panerad torskfilé med räkor, ägg och dillsås",
18
- "Parmesanbakad fläskytterfilé med ljummen tomatsalsa",
19
- "Rostbiff med potatissallad"
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
- - "12096"
20
+ - "12151"
21
21
  content-type:
22
22
  - text/html
23
23
  last-modified:
24
- - Mon, 09 May 2011 06:01:01 GMT
24
+ - Mon, 16 May 2011 07:31:54 GMT
25
25
  accept-ranges:
26
26
  - bytes
27
27
  etag:
28
- - "\"c2121d79eecc1:d7b\""
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
- - Tue, 10 May 2011 20:03:18 GMT
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&ouml;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&nbsp;</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 19</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 &quot;EXTRA&quot; R&Auml;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&auml;tt 70 kr</strong></p>\r\n <p>M&aring;n: <br>\r\n &bull; Ristad rostbiff med champinjoner, l&ouml;k och &ouml;rtsky<br>\r\n &bull; Kabanoss med G&ouml;tt mos, rostad l&ouml;k och barbecuekr&auml;m<br>\r\n &bull; R&auml;ksallad med tillbeh&ouml;r</p>\r\n <p>Tis: <br>\r\n &bull; Stekt panerad torskfil&eacute; med r&auml;kor, &auml;gg och dills&aring;s<br>\r\n &bull; Parmesanbakad fl&auml;skytterfil&eacute; med ljummen tomatsalsa <br>\r\n &bull; Rostbiff med potatissallad</p>\r\n <p>Ons:<br>\r\n &bull; Dagens f&aring;ngst<br>\r\n &bull; Stekt kycklingfil&eacute; med chorons&aring;s och kulpotatis<br>\r\n &bull; Tonfisksallad</p>\r\n <p>Tors:<br>\r\n &bull; V&aring;rmakrill med spenat och vitl&ouml;ks&aring;s samt f&auml;rsk potatis<br>\r\n &bull; Rogan josh (Indisk lammgryta) med basmatiris och raita<br>\r\n &bull; Greksallad</p>\r\n <p>Fre<br>\r\n &bull; &Ouml;lmarinerad halstrad biff med r&aring;stekt potatis &amp; rattatoiulle<br>\r\n &bull; Wokade nudlar med r&auml;kor, koriander, vitl&ouml;k och ingef&auml;ra<br>\r\n &bull; 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&aring;ga k&ouml;ket (m&aring;n-fre)</p>\r\n <p align=\"center\"> <strong>Veckans vegetariska 65 kr<br>\r\n </strong>Dagens vegetariska fr&aring;ga k&ouml;ket (m&aring;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&auml;rslunch 198kr</strong><br>\r\n Efter &ouml;nskem&aring;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, &auml;r ett st&ouml;rre s&auml;llskap \r\n eller vill ni boka aff&auml;rslunch g&aring;r det bra \r\n att kontakta oss dagen innan. Senast kl 15.00 p&aring; \r\n tel 031-772 41 70 eller faxa oss p&aring; 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\
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&nbsp;</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 &quot;EXTRA&quot; R&Auml;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&auml;tt 70 kr</strong></p>\r\n <p>M&aring;n: <br>\r\n &bull;Varmr&ouml;kt laxfil&eacute; med dillmajonn&auml;s och f&auml;rskpotatis<br>\r\n &bull; Biff Africana med banan, kokos, jordn&ouml;tter och ris<br>\r\n &bull; R&auml;ksallad med tillbeh&ouml;r </p>\r\n <p>Tis: <br>\r\n &bull; Tapenadbakad fiskfil&eacute; med vitvins&aring;s och soltorkade tomater <br>\r\n &bull; Pytt i panna med &auml;gg och r&ouml;dbetor <br>\r\n &bull; Salami och Briesallad</p>\r\n <p>Ons: <br>\r\n &bull; Fisk och skaldjursgrat&auml;ng med &ouml;rtris och rucolakr&auml;m<br>\r\n &bull; Stekt pannbiff med persiljemos och r&ouml;dl&ouml;kssky<br>\r\n &bull; Ost och skinksallad </p>\r\n <p>Tors: <br>\r\n &bull; Stekt sm&ouml;rfisk med saffransdoftande skaldjursris &amp; aioli<br>\r\n &bull; Wokad kyckling med gr&ouml;ncurry, kokosmj&ouml;lk och sweet chili <br>\r\n &bull; Kr&auml;ftsallad<br>\r\n </p>\r\n <p>Fre <br>\r\n &bull; Gravad lax med dillstuvad potatis och hovm&auml;stars&aring;s, citron<br>\r\n &bull; Schnitzel med champinjons&aring;s och gr&auml;sl&ouml;kspotatis<br>\r\n &bull; 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&aring;ga k&ouml;ket (m&aring;n-fre)</p>\r\n <p align=\"center\"> <strong>Veckans vegetariska 65 kr<br>\r\n </strong>Dagens vegetariska fr&aring;ga k&ouml;ket (m&aring;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&auml;rslunch 198kr</strong><br>\r\n Efter &ouml;nskem&aring;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, &auml;r ett st&ouml;rre s&auml;llskap \r\n eller vill ni boka aff&auml;rslunch g&aring;r det bra \r\n att kontakta oss dagen innan. Senast kl 15.00 p&aring; \r\n tel 031-772 41 70 eller faxa oss p&aring; 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\">&nbsp;</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&ouml;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\">&nbsp;</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 &copy; Butler Catering 2006 \r\n - Alla r&auml;ttigheter f&ouml;rbeh&aring;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.1
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-10 00:00:00 +02:00
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