everlog 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/Guardfile +8 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +29 -0
  8. data/Rakefile +1 -0
  9. data/everlog.gemspec +33 -0
  10. data/lib/everlog.rb +42 -0
  11. data/lib/everlog/app.rb +15 -0
  12. data/lib/everlog/app/animetick.rb +14 -0
  13. data/lib/everlog/app/evernote.rb +9 -0
  14. data/lib/everlog/app/github.rb +9 -0
  15. data/lib/everlog/app/hatena.rb +13 -0
  16. data/lib/everlog/app/moves.rb +9 -0
  17. data/lib/everlog/app/twitter.rb +11 -0
  18. data/lib/everlog/app/weather.rb +9 -0
  19. data/lib/everlog/dom.rb +9 -0
  20. data/lib/everlog/dom/entity.rb +11 -0
  21. data/lib/everlog/dom/entity/config.rb +30 -0
  22. data/lib/everlog/dom/entity/content.erb +170 -0
  23. data/lib/everlog/dom/entity/content.rb +14 -0
  24. data/lib/everlog/dom/module.rb +6 -0
  25. data/lib/everlog/dom/module/github.rb +28 -0
  26. data/lib/everlog/dom/module/moves.rb +26 -0
  27. data/lib/everlog/dom/repository.rb +5 -0
  28. data/lib/everlog/dom/repository/evernote.rb +24 -0
  29. data/lib/everlog/dom/service.rb +5 -0
  30. data/lib/everlog/dom/service/nullobject.rb +18 -0
  31. data/lib/everlog/dom/value.rb +18 -0
  32. data/lib/everlog/dom/value/animetick.rb +25 -0
  33. data/lib/everlog/dom/value/github.rb +6 -0
  34. data/lib/everlog/dom/value/github/activity.rb +18 -0
  35. data/lib/everlog/dom/value/github/commit.rb +13 -0
  36. data/lib/everlog/dom/value/hatena.rb +20 -0
  37. data/lib/everlog/dom/value/moves.rb +16 -0
  38. data/lib/everlog/dom/value/moves/move.rb +31 -0
  39. data/lib/everlog/dom/value/moves/place.rb +13 -0
  40. data/lib/everlog/dom/value/moves/referer.rb +10 -0
  41. data/lib/everlog/dom/value/moves/referer/move.rb +7 -0
  42. data/lib/everlog/dom/value/moves/referer/place.rb +8 -0
  43. data/lib/everlog/dom/value/moves/summary.rb +30 -0
  44. data/lib/everlog/dom/value/twitter.rb +13 -0
  45. data/lib/everlog/dom/value/weather.rb +31 -0
  46. data/lib/everlog/inf.rb +5 -0
  47. data/lib/everlog/inf/api.rb +20 -0
  48. data/lib/everlog/inf/api/animetick.rb +25 -0
  49. data/lib/everlog/inf/api/evernote.rb +37 -0
  50. data/lib/everlog/inf/api/github.rb +26 -0
  51. data/lib/everlog/inf/api/googlemap.rb +15 -0
  52. data/lib/everlog/inf/api/hatena.rb +20 -0
  53. data/lib/everlog/inf/api/moves.rb +21 -0
  54. data/lib/everlog/inf/api/twitter.rb +26 -0
  55. data/lib/everlog/inf/api/wunderground.rb +15 -0
  56. data/lib/everlog/version.rb +3 -0
  57. data/spec/fixtures/animetick/list_ticket_response.json +1 -0
  58. data/spec/fixtures/hatena/feed_response.json +80 -0
  59. data/spec/fixtures/moves/daily_storyline_response.json +319 -0
  60. data/spec/fixtures/moves/daily_summary_response.json +29 -0
  61. data/spec/fixtures/moves/sample_for_erb.json +29 -0
  62. data/spec/fixtures/wunderground/yesterday_response.json +1 -0
  63. data/spec/lifelog/app/animetick_spec.rb +13 -0
  64. data/spec/lifelog/app/evernote_spec.rb +14 -0
  65. data/spec/lifelog/app/github_spec.rb +22 -0
  66. data/spec/lifelog/app/hatena_spec.rb +35 -0
  67. data/spec/lifelog/app/moves_spec.rb +9 -0
  68. data/spec/lifelog/app/twitter_spec.rb +33 -0
  69. data/spec/lifelog/app/weather_spec.rb +11 -0
  70. data/spec/lifelog/dom/entity/config_spec.rb +22 -0
  71. data/spec/lifelog/dom/entity/content_spec.rb +23 -0
  72. data/spec/lifelog/dom/module/github_spec.rb +60 -0
  73. data/spec/lifelog/dom/module/moves_spec.rb +37 -0
  74. data/spec/lifelog/dom/repository/evernote_spec.rb +26 -0
  75. data/spec/lifelog/dom/service/nullobject_spec.rb +19 -0
  76. data/spec/lifelog/dom/value/animetick_spec.rb +49 -0
  77. data/spec/lifelog/dom/value/github/activity_spec.rb +25 -0
  78. data/spec/lifelog/dom/value/github/commit_spec.rb +23 -0
  79. data/spec/lifelog/dom/value/hatena_spec.rb +23 -0
  80. data/spec/lifelog/dom/value/moves/move_spec.rb +45 -0
  81. data/spec/lifelog/dom/value/moves/place_spec.rb +18 -0
  82. data/spec/lifelog/dom/value/moves/referer/move_spec.rb +18 -0
  83. data/spec/lifelog/dom/value/moves/referer/place_spec.rb +17 -0
  84. data/spec/lifelog/dom/value/moves/summary_spec.rb +64 -0
  85. data/spec/lifelog/dom/value/twitter_spec.rb +23 -0
  86. data/spec/lifelog/dom/value/weather_spec.rb +43 -0
  87. data/spec/lifelog/inf/api/animetick_spec.rb +22 -0
  88. data/spec/lifelog/inf/api/evernote_spec.rb +49 -0
  89. data/spec/lifelog/inf/api/github_spec.rb +36 -0
  90. data/spec/lifelog/inf/api/googlemap_spec.rb +9 -0
  91. data/spec/lifelog/inf/api/hatena_spec.rb +23 -0
  92. data/spec/lifelog/inf/api/moves_spec.rb +13 -0
  93. data/spec/lifelog/inf/api/twitter_spec.rb +23 -0
  94. data/spec/lifelog/inf/api/wunderground_spec.rb +11 -0
  95. data/spec/spec_helper.rb +8 -0
  96. metadata +345 -0
@@ -0,0 +1,29 @@
1
+ [{
2
+ "date": "20130315",
3
+ "summary": [
4
+ {
5
+ "activity": "wlk",
6
+ "duration": 2133,
7
+ "distance": 1847,
8
+ "steps": 2500
9
+ },
10
+ {
11
+ "activity": "run",
12
+ "duration": 254,
13
+ "distance": 436,
14
+ "steps": 624,
15
+ "calories": 99
16
+ },
17
+ {
18
+ "activity": "cyc",
19
+ "duration": 2688,
20
+ "distance": 4049,
21
+ "calories": 999
22
+ },
23
+ {
24
+ "activity": "trp",
25
+ "duration": 268,
26
+ "distance": 419
27
+ }
28
+ ]
29
+ }]
@@ -0,0 +1,29 @@
1
+ {
2
+ "activity": [
3
+ {
4
+ "place":"nakameguro",
5
+ "move":[
6
+ {
7
+ "action":"wlk",
8
+ "time":"9:30 ~ 10:00 (30分)",
9
+ "distance":"1km"
10
+ },
11
+ {
12
+ "action":"cycle",
13
+ "time":"10:00 ~ 10:40 (40分)",
14
+ "distance":"8km"
15
+ }
16
+ ]
17
+ },
18
+ {
19
+ "place":"nakameguro",
20
+ "move": []
21
+ }
22
+ ],
23
+ "summary": {
24
+ "cal":200,
25
+ "walk":1,
26
+ "cycle":3,
27
+ "transport":10
28
+ }
29
+ }
@@ -0,0 +1 @@
1
+ {"response":{"version":"0.1","termsofService":"http://www.wunderground.com/weather/api/d/terms.html","features":{"yesterday":1}},"history":{"date":{"pretty":"March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"00","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"15","min":"00","tzname":"UTC"},"observations":[{"date":{"pretty":"12:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"00","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"3:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"15","min":"00","tzname":"UTC"},"tempm":"10.0","tempi":"50.0","dewptm":"4.0","dewpti":"39.2","hum":"66","wspdm":"11.1","wspdi":"6.9","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"50","wdire":"NE","vism":"10.0","visi":"6.2","pressurem":"1018","pressurei":"30.06","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191500Z 05006KT 9999 FEW025 BKN035 BKN050 10/04 Q1018 NOSIG RMK 1CU025 5CU035 7SC050 A3007"},{"date":{"pretty":"12:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"00","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"3:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"15","min":"30","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"4.0","dewpti":"39.2","hum":"71","wspdm":"7.4","wspdi":"4.6","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"1018","pressurei":"30.06","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191530Z 36004KT 330V030 9999 SCT025 BKN035 09/04 Q1018 NOSIG RMK 3CU025 7CU035 A3007"},{"date":{"pretty":"1:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"01","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"4:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"16","min":"00","tzname":"UTC"},"tempm":"10.0","tempi":"50.0","dewptm":"4.0","dewpti":"39.2","hum":"66","wspdm":"14.8","wspdi":"9.2","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"30","wdire":"NNE","vism":"10.0","visi":"6.2","pressurem":"1017","pressurei":"30.04","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191600Z 03008KT 9999 BKN025 BKN035 10/04 Q1017 NOSIG RMK 5CU025 7SC035 A3005"},{"date":{"pretty":"1:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"01","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"4:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"16","min":"30","tzname":"UTC"},"tempm":"10.0","tempi":"50.0","dewptm":"4.0","dewpti":"39.2","hum":"66","wspdm":"14.8","wspdi":"9.2","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"20","wdire":"NNE","vism":"10.0","visi":"6.2","pressurem":"1017","pressurei":"30.04","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191630Z 02008KT 9999 -RA BKN025 BKN035 10/04 Q1017 NOSIG RMK 5SC025 7SC035 A3004"},{"date":{"pretty":"2:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"02","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"5:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"17","min":"00","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"4.0","dewpti":"39.2","hum":"71","wspdm":"14.8","wspdi":"9.2","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"20","wdire":"NNE","vism":"10.0","visi":"6.2","pressurem":"1017","pressurei":"30.04","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191700Z 02008KT 9999 -RA BKN025 09/04 Q1017 NOSIG RMK 7SC025 A3003"},{"date":{"pretty":"2:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"02","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"5:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"17","min":"30","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"4.0","dewpti":"39.2","hum":"71","wspdm":"14.8","wspdi":"9.2","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"1017","pressurei":"30.04","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191730Z 35008KT 9999 -RA BKN025 09/04 Q1017 NOSIG RMK 7SC025 A3003"},{"date":{"pretty":"3:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"03","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"6:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"18","min":"00","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"5.0","dewpti":"41.0","hum":"76","wspdm":"13.0","wspdi":"8.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"8.0","visi":"5.0","pressurem":"1017","pressurei":"30.04","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191800Z 34007KT 8000 -RA BKN025 09/05 Q1017 NOSIG RMK 7SC025 A3003"},{"date":{"pretty":"3:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"03","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"6:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"18","min":"30","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"6.0","dewpti":"42.8","hum":"82","wspdm":"18.5","wspdi":"11.5","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"1016","pressurei":"30.01","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191830Z 36010KT 9999 BKN022 09/06 Q1016 NOSIG RMK 7SC022 A3003"},{"date":{"pretty":"4:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"04","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"7:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"19","min":"00","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"5.0","dewpti":"41.0","hum":"76","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"1016","pressurei":"30.01","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191900Z 35009KT 9999 BKN022 09/05 Q1016 NOSIG RMK 7SC022 A3001"},{"date":{"pretty":"4:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"04","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"7:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"19","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"10","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"1015","pressurei":"29.98","windchillm":"4.8","windchilli":"40.7","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 191930Z 01011KT 9999 BKN022 08/05 Q1015 NOSIG RMK 7SC022 A3000"},{"date":{"pretty":"5:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"05","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"8:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"20","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"18.5","wspdi":"11.5","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"1015","pressurei":"29.98","windchillm":"5.0","windchilli":"41.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192000Z 35010KT 9999 BKN020 08/05 Q1015 NOSIG RMK 7SC020 A3000"},{"date":{"pretty":"5:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"05","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"8:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"20","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"18.5","wspdi":"11.5","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"1015","pressurei":"29.98","windchillm":"5.0","windchilli":"41.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192030Z 36010KT 9999 -RA BKN017 08/05 Q1015 NOSIG RMK 7SC017 A3000"},{"date":{"pretty":"5:51 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"05","min":"51","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"8:51 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"20","min":"51","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"5.0","visi":"3.1","pressurem":"1015","pressurei":"29.98","windchillm":"4.6","windchilli":"40.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 192051Z 36012KT 5000 -RA BR BKN014 08/05 Q1015 RMK 7SC014 A2998"},{"date":{"pretty":"6:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"06","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"9:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"21","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"5.0","visi":"3.1","pressurem":"1015","pressurei":"29.98","windchillm":"4.8","windchilli":"40.7","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192100Z 36011KT 5000 -RA BR BKN013 08/05 Q1015 TEMPO 4000 -RA BR RMK 7SC013 A2997"},{"date":{"pretty":"6:09 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"06","min":"09","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"9:09 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"21","min":"09","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"6.0","visi":"3.7","pressurem":"1014","pressurei":"29.95","windchillm":"4.6","windchilli":"40.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 192109Z 36012KT 6000 -RA BKN013 08/05 Q1014 RMK 7SC013 A2997"},{"date":{"pretty":"6:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"06","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"9:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"21","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"8.0","visi":"5.0","pressurem":"1014","pressurei":"29.95","windchillm":"4.6","windchilli":"40.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192130Z 36012KT 8000 -RA FEW009 BKN013 08/05 Q1014 TEMPO 4000 -RA BR FEW005 BKN008 RMK 1ST009 7SC013 A2997"},{"date":{"pretty":"7:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"07","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"10:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"22","min":"00","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"5.0","dewpti":"41.0","hum":"87","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"7.0","visi":"4.3","pressurem":"1014","pressurei":"29.95","windchillm":"3.6","windchilli":"38.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192200Z 35011KT 7000 -RA SCT009 BKN011 07/05 Q1014 TEMPO 4000 -RA BR FEW005 BKN008 RMK 3ST009 7ST011 A2995"},{"date":{"pretty":"7:13 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"07","min":"13","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"10:13 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"22","min":"13","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"5.0","dewpti":"41.0","hum":"87","wspdm":"18.5","wspdi":"11.5","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"1013","pressurei":"29.92","windchillm":"3.8","windchilli":"38.8","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 192213Z 34010KT 5000 -RA BR SCT009 BKN011 07/05 Q1013 RMK 4ST009 7ST011 A2994"},{"date":{"pretty":"7:27 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"07","min":"27","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"10:27 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"22","min":"27","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"1013","pressurei":"29.92","windchillm":"3.6","windchilli":"38.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 192227Z 34011KT 5000 -RA BR FEW006 BKN009 BKN011 07/06 Q1013 RMK 1ST006 5ST009 7ST011 A2993"},{"date":{"pretty":"7:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"07","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"10:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"22","min":"30","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"1013","pressurei":"29.92","windchillm":"3.6","windchilli":"38.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192230Z 34011KT 5000 -RA BR FEW006 BKN009 BKN011 07/06 Q1013 TEMPO 4000 -RA BR RMK 1ST006 5ST009 7ST011 A2993"},{"date":{"pretty":"8:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"08","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"11:00 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"23","min":"00","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"4.5","visi":"2.8","pressurem":"1013","pressurei":"29.92","windchillm":"3.4","windchilli":"38.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192300Z 34012KT 4500 RA BR FEW005 BKN008 BKN010 07/06 Q1013 NOSIG RMK 1ST005 6ST008 7ST010 A2992"},{"date":{"pretty":"8:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"08","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"11:30 PM GMT on March 19, 2014","year":"2014","mon":"03","mday":"19","hour":"23","min":"30","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"1012","pressurei":"29.89","windchillm":"3.4","windchilli":"38.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 192330Z 34012KT 5000 RA BR FEW005 SCT007 BKN010 07/06 Q1012 TEMPO 3000 RA BR FEW005 BKN007 RMK 1ST005 3ST007 7ST010 A2990"},{"date":{"pretty":"9:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"09","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"12:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"00","min":"00","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"24.1","wspdi":"15.0","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"1011","pressurei":"29.86","windchillm":"3.2","windchilli":"37.8","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200000Z 34013KT 5000 RA BR FEW005 SCT007 BKN010 07/06 Q1011 TEMPO 3000 RA BR FEW005 BKN007 RMK 1ST005 3ST007 5ST010 A2987 P/FR"},{"date":{"pretty":"9:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"09","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"12:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"00","min":"30","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"24.1","wspdi":"15.0","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"1011","pressurei":"29.86","windchillm":"3.2","windchilli":"37.8","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200030Z 34013KT 5000 RA BR FEW005 SCT008 BKN013 07/06 Q1011 TEMPO 3000 RA BR FEW005 BKN007 RMK 1ST005 3ST008 6SC013 A2985"},{"date":{"pretty":"9:42 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"09","min":"42","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"12:42 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"00","min":"42","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"25.9","wspdi":"16.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"6.0","visi":"3.7","pressurem":"1010","pressurei":"29.83","windchillm":"3.0","windchilli":"37.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200042Z 34014KT 6000 RA FEW005 SCT007 BKN013 07/06 Q1010 RMK 1ST005 4ST007 6SC013 A2984"},{"date":{"pretty":"10:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"10","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"1:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"01","min":"00","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"25.9","wspdi":"16.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"4.5","visi":"2.8","pressurem":"1010","pressurei":"29.83","windchillm":"3.0","windchilli":"37.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200100Z 34014KT 4500 RA BR FEW005 BKN008 BKN012 07/06 Q1010 NOSIG RMK 1ST005 5ST008 6SC012 A2983"},{"date":{"pretty":"10:17 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"10","min":"17","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"1:17 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"01","min":"17","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"25.9","wspdi":"16.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"1009","pressurei":"29.80","windchillm":"3.0","windchilli":"37.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200117Z 34014KT 5000 RA BR FEW005 SCT006 BKN008 07/06 Q1009 RMK 1ST005 3ST006 5ST008 A2981 P/FR"},{"date":{"pretty":"10:27 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"10","min":"27","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"1:27 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"01","min":"27","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"27.8","wspdi":"17.3","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"8.0","visi":"5.0","pressurem":"1009","pressurei":"29.80","windchillm":"2.9","windchilli":"37.2","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200127Z 35015KT 8000 RA FEW005 SCT008 BKN011 07/06 Q1009 RMK 1ST005 4ST008 6ST011 A2980 P/FR"},{"date":{"pretty":"10:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"10","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"1:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"01","min":"30","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"5.0","dewpti":"41.0","hum":"87","wspdm":"27.8","wspdi":"17.3","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"8.0","visi":"5.0","pressurem":"1009","pressurei":"29.80","windchillm":"2.9","windchilli":"37.2","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200130Z 34015KT 8000 RA FEW005 SCT008 BKN011 07/05 Q1009 TEMPO 4000 RA BR FEW005 BKN008 RMK 1ST005 4ST008 6ST011 A2980 P/FR"},{"date":{"pretty":"10:42 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"10","min":"42","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"1:42 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"01","min":"42","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"5.0","dewpti":"41.0","hum":"87","wspdm":"29.6","wspdi":"18.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"10.0","visi":"6.2","pressurem":"1009","pressurei":"29.80","windchillm":"2.7","windchilli":"36.9","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200142Z 34016KT 9999 -RA FEW005 SCT008 BKN011 07/05 Q1009 RMK 1ST005 3ST008 6ST011 A2980"},{"date":{"pretty":"11:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"11","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"2:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"02","min":"00","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"5.0","dewpti":"41.0","hum":"87","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"330","wdire":"NNW","vism":"10.0","visi":"6.2","pressurem":"1008","pressurei":"29.77","windchillm":"3.4","windchilli":"38.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200200Z 33012KT 9999 -RA FEW006 SCT009 BKN011 07/05 Q1008 TEMPO 4000 RA BR FEW005 BKN008 RMK 1ST006 3ST009 6ST011 A2978"},{"date":{"pretty":"11:30 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"11","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"2:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"02","min":"30","tzname":"UTC"},"tempm":"7.0","tempi":"44.6","dewptm":"6.0","dewpti":"42.8","hum":"93","wspdm":"25.9","wspdi":"16.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"10.0","visi":"6.2","pressurem":"1007","pressurei":"29.74","windchillm":"3.0","windchilli":"37.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200230Z 34014KT 9999 -RA FEW006 SCT009 BKN011 07/06 Q1007 TEMPO 4000 RA BR FEW005 BKN008 RMK 1ST006 3ST009 6ST011 A2975 P/FR"},{"date":{"pretty":"12:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"12","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"3:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"03","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"9.0","visi":"5.6","pressurem":"1006","pressurei":"29.71","windchillm":"4.6","windchilli":"40.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200300Z 35012KT 9000 RA FEW007 BKN010 BKN015 08/06 Q1006 TEMPO 4000 RA BR FEW005 BKN008 RMK 1ST007 5ST010 7SC015 A2971 P/FR"},{"date":{"pretty":"12:12 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"12","min":"12","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"3:12 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"03","min":"12","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"24.1","wspdi":"15.0","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"8.0","visi":"5.0","pressurem":"1005","pressurei":"29.68","windchillm":"4.5","windchilli":"40.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200312Z 34013KT 8000 RA FEW007 SCT010 BKN020 08/06 Q1005 RMK 1ST007 4ST010 6SC020 A2969 P/FR"},{"date":{"pretty":"12:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"12","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"3:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"03","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"7.0","visi":"4.3","pressurem":"1004","pressurei":"29.65","windchillm":"4.8","windchilli":"40.7","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200330Z 34011KT 7000 RA FEW007 SCT009 BKN020 08/06 Q1004 TEMPO 4000 RA BR FEW005 BKN008 RMK 1ST007 4ST009 6SC020 A2967 P/FR"},{"date":{"pretty":"12:47 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"12","min":"47","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"3:47 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"03","min":"47","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"8.0","visi":"5.0","pressurem":"1004","pressurei":"29.65","windchillm":"4.8","windchilli":"40.7","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200347Z 34011KT 8000 -RA FEW007 SCT009 BKN017 08/06 Q1004 RMK 1ST007 3ST009 6SC017 A2965 MOD TURB OBS AT 0340Z ADDUM BTN 10000FT AND 9000FT BY B738 P/FR"},{"date":{"pretty":"1:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"13","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"4:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"04","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"18.5","wspdi":"11.5","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"7.0","visi":"4.3","pressurem":"1003","pressurei":"29.62","windchillm":"5.0","windchilli":"41.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200400Z 34010KT 7000 RA FEW005 BKN008 BKN017 08/06 Q1003 TEMPO 4000 RA BR RMK 1ST005 5ST008 6SC017 A2964"},{"date":{"pretty":"1:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"13","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"4:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"04","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"7.0","visi":"4.3","pressurem":"1002","pressurei":"29.59","windchillm":"4.8","windchilli":"40.7","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200430Z 35011KT 7000 RA FEW005 BKN008 BKN017 08/06 Q1002 TEMPO 4000 RA BR RMK 1ST005 6ST008 7SC017 A2961 P/FR"},{"date":{"pretty":"2:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"14","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"5:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"05","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"6.0","visi":"3.7","pressurem":"1001","pressurei":"29.56","windchillm":"4.6","windchilli":"40.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200500Z 35012KT 6000 RA FEW005 SCT006 BKN008 08/06 Q1001 TEMPO 4000 RA BR RMK 1ST005 3ST006 6ST008 A2957 MOD TURB OBS AT 0435Z OVER PQE BTN 10000FT AND 7000FT BY B738 AND OBS AT 0450Z 5NM S HANEDA BTN 6000FT AND 7000FT BY B772 P/FR"},{"date":{"pretty":"2:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"14","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"5:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"05","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"9.0","visi":"5.6","pressurem":"999","pressurei":"29.50","windchillm":"5.3","windchilli":"41.5","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200530Z 35009KT 9000 -RA FEW005 BKN008 BKN017 08/06 Q0999 TEMPO 4000 -RA BR RMK 1ST005 5ST008 6SC017 A2953 P/FR"},{"date":{"pretty":"3:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"15","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"6:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"06","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"13.0","wspdi":"8.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"6.0","visi":"3.7","pressurem":"999","pressurei":"29.50","windchillm":"5.8","windchilli":"42.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200600Z 35007KT 6000 RA FEW005 SCT007 BKN009 08/06 Q0999 TEMPO 4000 -RA BR RMK 1ST005 3ST007 6ST009 A2951"},{"date":{"pretty":"3:09 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"15","min":"09","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"6:09 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"06","min":"09","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"11.1","wspdi":"6.9","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"310","wdire":"NW","vism":"5.0","visi":"3.1","pressurem":"999","pressurei":"29.50","windchillm":"6.1","windchilli":"42.9","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200609Z 31006KT 280V350 5000 RA BR FEW005 SCT007 BKN009 08/06 Q0999 RMK 1ST005 3ST007 6ST009 A2950"},{"date":{"pretty":"3:21 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"15","min":"21","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"6:21 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"06","min":"21","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"8.0","visi":"5.0","pressurem":"998","pressurei":"29.47","windchillm":"5.3","windchilli":"41.5","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200621Z 34009KT 8000 -RA FEW005 SCT007 BKN009 08/06 Q0998 RMK 1ST005 3ST007 6ST009 A2949 MOD TURB OBS AT 0617Z 10NM N CREAM 4000FT BY B767"},{"date":{"pretty":"3:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"15","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"6:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"06","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"18.5","wspdi":"11.5","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"9.0","visi":"5.6","pressurem":"998","pressurei":"29.47","windchillm":"5.0","windchilli":"41.1","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200630Z 34010KT 9000 -RA FEW005 SCT007 BKN009 08/07 Q0998 TEMPO 4000 -RA BR RMK 1ST005 3ST007 6ST009 A2948 P/FR"},{"date":{"pretty":"4:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"16","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"7:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"07","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"14.8","wspdi":"9.2","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"10.0","visi":"6.2","pressurem":"997","pressurei":"29.44","windchillm":"5.5","windchilli":"41.9","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200700Z 34008KT 9999 -RA FEW006 BKN009 BKN020 08/07 Q0997 TEMPO 4000 -RA BR RMK 1ST006 6ST009 7SC020 A2946"},{"date":{"pretty":"4:25 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"16","min":"25","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"7:25 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"07","min":"25","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"5.0","visi":"3.1","pressurem":"997","pressurei":"29.44","windchillm":"5.3","windchilli":"41.5","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 200725Z 34009KT 5000 -RA BR FEW006 BKN009 BKN020 08/06 Q0997 RMK 1ST006 6ST009 7SC020 A2945"},{"date":{"pretty":"4:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"16","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"7:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"07","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"4.5","visi":"2.8","pressurem":"997","pressurei":"29.44","windchillm":"5.3","windchilli":"41.5","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200730Z 34009KT 4500 -RA BR FEW006 BKN009 BKN020 08/07 Q0997 NOSIG RMK 1ST006 6ST009 7SC020 A2944"},{"date":{"pretty":"5:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"17","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"8:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"08","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"13.0","wspdi":"8.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"4.0","visi":"2.5","pressurem":"996","pressurei":"29.42","windchillm":"5.8","windchilli":"42.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200800Z 34007KT 4000 -RA BR FEW004 SCT005 BKN008 08/07 Q0996 NOSIG RMK 1ST004 3ST005 6ST008 A2942"},{"date":{"pretty":"5:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"17","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"8:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"08","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"13.0","wspdi":"8.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"300","wdire":"WNW","vism":"4.0","visi":"2.5","pressurem":"996","pressurei":"29.42","windchillm":"5.8","windchilli":"42.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200830Z 30007KT 4000 -RA BR FEW004 SCT005 BKN008 08/07 Q0996 NOSIG RMK 1ST004 3ST005 6ST008 A2942"},{"date":{"pretty":"6:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"18","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"9:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"09","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"13.0","wspdi":"8.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"310","wdire":"NW","vism":"4.5","visi":"2.8","pressurem":"996","pressurei":"29.42","windchillm":"5.8","windchilli":"42.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200900Z 31007KT 260V330 4500 -RA BR FEW003 SCT005 BKN008 08/07 Q0996 NOSIG RMK 1ST003 3ST005 6ST008 A2941"},{"date":{"pretty":"6:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"18","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"9:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"09","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"14.8","wspdi":"9.2","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"4.5","visi":"2.8","pressurem":"995","pressurei":"29.39","windchillm":"5.5","windchilli":"41.9","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 200930Z 34008KT 4500 -RA BR FEW003 SCT005 BKN008 08/07 Q0995 NOSIG RMK 1ST003 4ST005 6ST008 A2939"},{"date":{"pretty":"7:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"19","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"10:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"10","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"11.1","wspdi":"6.9","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"3.5","visi":"2.2","pressurem":"995","pressurei":"29.39","windchillm":"6.1","windchilli":"42.9","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201000Z 34006KT 3500 -RADZ BR FEW003 SCT005 BKN008 08/07 Q0995 NOSIG RMK 1ST003 4ST005 6ST008 A2938"},{"date":{"pretty":"7:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"19","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"10:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"10","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"13.0","wspdi":"8.1","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"350","wdire":"North","vism":"4.0","visi":"2.5","pressurem":"994","pressurei":"29.36","windchillm":"5.8","windchilli":"42.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Drizzle","icon":"rain","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201030Z 35007KT 4000 -DZ BR FEW003 SCT008 BKN012 08/07 Q0994 TEMPO FEW003 BKN008 RMK 1ST003 4ST008 6ST012 A2937"},{"date":{"pretty":"8:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"20","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"11:00 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"11","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"7.0","dewpti":"44.6","hum":"93","wspdm":"9.3","wspdi":"5.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"4.5","visi":"2.8","pressurem":"994","pressurei":"29.36","windchillm":"6.4","windchilli":"43.5","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Drizzle","icon":"rain","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201100Z 34005KT 4500 -DZ BR FEW002 BKN012 BKN020 08/07 Q0994 TEMPO FEW004 BKN008 RMK 1ST002 5ST012 6SC020 A2935"},{"date":{"pretty":"8:19 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"20","min":"19","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"11:19 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"11","min":"19","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"7.0","dewpti":"44.6","hum":"87","wspdm":"9.3","wspdi":"5.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"290","wdire":"WNW","vism":"5.0","visi":"3.1","pressurem":"993","pressurei":"29.33","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"SPECI RJTT 201119Z 29005KT 260V330 5000 -RA BR FEW002 SCT007 BKN020 09/07 Q0993 RMK 1ST002 3ST007 6SC020 A2935"},{"date":{"pretty":"8:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"20","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"11:30 AM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"11","min":"30","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"8.0","dewpti":"46.4","hum":"93","wspdm":"9.3","wspdi":"5.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"300","wdire":"WNW","vism":"7.0","visi":"4.3","pressurem":"993","pressurei":"29.33","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201130Z 30005KT 7000 -RA FEW002 SCT011 BKN020 09/08 Q0993 TEMPO 4000 -RA BR FEW004 BKN008 RMK 1ST002 4ST011 6SC020 A2935"},{"date":{"pretty":"9:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"21","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"12:00 PM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"12","min":"00","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"7.0","dewpti":"44.6","hum":"87","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"10.0","visi":"6.2","pressurem":"993","pressurei":"29.33","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201200Z 34009KT 9999 FEW006 SCT013 BKN020 09/07 Q0993 NOSIG RMK 1ST006 4SC013 6SC020 A2934"},{"date":{"pretty":"9:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"21","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"12:30 PM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"12","min":"30","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"7.0","dewpti":"44.6","hum":"87","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"310","wdire":"NW","vism":"10.0","visi":"6.2","pressurem":"993","pressurei":"29.33","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201230Z 31009KT 9999 FEW008 SCT013 BKN020 09/07 Q0993 NOSIG RMK 1ST008 3SC013 6SC020 A2935"},{"date":{"pretty":"10:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"22","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"1:00 PM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"13","min":"00","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"6.0","dewpti":"42.8","hum":"87","wspdm":"20.4","wspdi":"12.7","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"10.0","visi":"6.2","pressurem":"993","pressurei":"29.33","windchillm":"4.8","windchilli":"40.7","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201300Z 34011KT 300V010 9999 FEW008 SCT013 BKN025 08/06 Q0993 NOSIG RMK 1ST008 3SC013 6SC025 A2935"},{"date":{"pretty":"10:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"22","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"1:30 PM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"13","min":"30","tzname":"UTC"},"tempm":"8.0","tempi":"46.4","dewptm":"5.0","dewpti":"41.0","hum":"81","wspdm":"22.2","wspdi":"13.8","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"993","pressurei":"29.33","windchillm":"4.6","windchilli":"40.4","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201330Z 36012KT 9999 FEW010 BKN025 08/05 Q0993 NOSIG RMK 1ST010 7SC025 A2933"},{"date":{"pretty":"11:00 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"23","min":"00","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"2:00 PM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"14","min":"00","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"5.0","dewpti":"41.0","hum":"76","wspdm":"16.7","wspdi":"10.4","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"360","wdire":"North","vism":"10.0","visi":"6.2","pressurem":"993","pressurei":"29.33","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Light Rain","icon":"rain","fog":"0","rain":"1","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201400Z 36009KT 9999 -RA FEW015 BKN025 09/05 Q0993 NOSIG RMK 1SC015 7SC025 A2933"},{"date":{"pretty":"11:30 PM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"23","min":"30","tzname":"Asia/Tokyo"},"utcdate":{"pretty":"2:30 PM GMT on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"14","min":"30","tzname":"UTC"},"tempm":"9.0","tempi":"48.2","dewptm":"5.0","dewpti":"41.0","hum":"76","wspdm":"14.8","wspdi":"9.2","wgustm":"-9999.0","wgusti":"-9999.0","wdird":"340","wdire":"NNW","vism":"10.0","visi":"6.2","pressurem":"992","pressurei":"29.30","windchillm":"-999","windchilli":"-999","heatindexm":"-9999","heatindexi":"-9999","precipm":"-9999.00","precipi":"-9999.00","conds":"Mostly Cloudy","icon":"mostlycloudy","fog":"0","rain":"0","snow":"0","hail":"0","thunder":"0","tornado":"0","metar":"METAR RJTT 201430Z 34008KT 9999 FEW015 BKN025 09/05 Q0992 NOSIG RMK 1SC015 7SC025 A2932"}],"dailysummary":[{"date":{"pretty":"12:00 AM JST on March 20, 2014","year":"2014","mon":"03","mday":"20","hour":"00","min":"00","tzname":"Asia/Tokyo"},"fog":"0","rain":"1","snow":"0","snowfallm":"","snowfalli":"","monthtodatesnowfallm":"","monthtodatesnowfalli":"","since1julsnowfallm":"","since1julsnowfalli":"","snowdepthm":"","snowdepthi":"","hail":"0","thunder":"0","tornado":"0","meantempm":"8","meantempi":"47","meandewptm":"6","meandewpti":"42","meanpressurem":"1005.56","meanpressurei":"29.70","meanwindspdm":"16","meanwindspdi":"10","meanwdire":"NNW","meanwdird":"345","meanvism":"7.3","meanvisi":"4.5","humidity":"86","maxtempm":"10","maxtempi":"50","mintempm":"7","mintempi":"44","maxhumidity":"93","minhumidity":"66","maxdewptm":"8","maxdewpti":"46","mindewptm":"4","mindewpti":"39","maxpressurem":"1018","maxpressurei":"30.06","minpressurem":"992","minpressurei":"29.30","maxwspdm":"30","maxwspdi":"18","minwspdm":"7","minwspdi":"5","maxvism":"10.0","maxvisi":"6.2","minvism":"3.5","minvisi":"2.2","gdegreedays":"0","heatingdegreedays":"18","coolingdegreedays":"0","precipm":"0.0","precipi":"0.00","precipsource":"3Or6HourObs","heatingdegreedaysnormal":"","monthtodateheatingdegreedays":"","monthtodateheatingdegreedaysnormal":"","since1sepheatingdegreedays":"","since1sepheatingdegreedaysnormal":"","since1julheatingdegreedays":"","since1julheatingdegreedaysnormal":"","coolingdegreedaysnormal":"","monthtodatecoolingdegreedays":"","monthtodatecoolingdegreedaysnormal":"","since1sepcoolingdegreedays":"","since1sepcoolingdegreedaysnormal":"","since1jancoolingdegreedays":"","since1jancoolingdegreedaysnormal":""}]}}
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::App::Animetick do
4
+ describe '#fetch_since' do
5
+ subject { described_class.fetch_since((DateTime.now - 1).to_time) }
6
+
7
+ context 'normal' do
8
+ let(:response) { load_fixture('animetick/list_ticket_response.json') }
9
+
10
+ it { expect { subject }.not_to raise_error }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::App::Evernote do
4
+ let(:instance) { described_class.new }
5
+
6
+ describe '#publish' do
7
+ subject { instance.publish('title', 'content', false) }
8
+ before do
9
+ Everlog::Dom::Repository::Evernote.any_instance.should_receive(:save).with('title', 'content')
10
+ end
11
+
12
+ it { expect { subject }.not_to raise_error }
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::App::Github do
4
+ describe '#fetch_since' do
5
+ subject { described_class.fetch_since((DateTime.now - 1).to_time) }
6
+
7
+ context 'with no repository existing' do
8
+ before { Everlog::Dom::Module::Github.any_instance.stub(:repo_names).and_return([]) }
9
+
10
+ it { expect(subject).to eq [] }
11
+ end
12
+
13
+ context 'with no commit existing in repository' do
14
+ before do
15
+ Everlog::Dom::Module::Github.any_instance.stub(:repo_activity).and_return(nil)
16
+ Everlog::Dom::Module::Github.any_instance.stub(:repo_names).and_return(['Everlog'])
17
+ end
18
+
19
+ it { expect(subject).to eq [] }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::App::Hatena do
4
+ describe '.fetch_since' do
5
+ subject { described_class.fetch_since (DateTime.now - 1).to_time }
6
+ before { Everlog::Inf::Api::Hatena.any_instance.stub(:feed_entry).and_return(response) }
7
+
8
+ let(:valid_date_feed) do
9
+ { 'title' => 'hello', 'link' => [{'href' => 'link'}], 'issued' => DateTime.now.to_time }
10
+ end
11
+ let(:invalid_date_feed) { { 'issued' => (DateTime.now - 2).to_time } }
12
+
13
+ shared_examples_for 'valid result' do
14
+ it { expect(subject).to be_instance_of Array }
15
+ it { expect(subject.size).to be 2 }
16
+ it { expect(subject[0].title).to eq 'hello' }
17
+ it { expect(subject[0].link).to eq 'link' }
18
+ end
19
+
20
+ context 'normal case' do
21
+ let(:response) { [valid_date_feed, valid_date_feed] }
22
+ it_behaves_like 'valid result'
23
+ end
24
+
25
+ context 'with too old feed existing' do
26
+ let(:response) { [valid_date_feed, valid_date_feed, invalid_date_feed] }
27
+ it_behaves_like 'valid result'
28
+ end
29
+
30
+ context 'with no response data' do
31
+ let(:response) { [] }
32
+ it { expect(subject).to eq [] }
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::App::Moves do
4
+ describe '#fetch_since' do
5
+ subject { described_class.fetch_since((DateTime.now - 1).to_time) }
6
+ it { expect(subject).to have_key :summary }
7
+ it { expect(subject).to have_key :storyline }
8
+ end
9
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::App::Twitter do
4
+
5
+ describe '.fetch_since' do
6
+ subject { described_class.fetch_since (DateTime.now - 1).to_time }
7
+ before { Everlog::Inf::Api::Twitter.any_instance.stub(:timeline).and_return(response) }
8
+
9
+ let(:valid_date_tweet) { double('Twitter:Tweet', text: 'hello', created_at: DateTime.now.to_time) }
10
+ let(:invalid_date_tweet) { double('Twitter:Tweet', text: 'invalid date', created_at: (DateTime.now - 2).to_time) }
11
+
12
+ shared_examples_for 'valid result' do
13
+ it { expect(subject).to be_instance_of Array }
14
+ it { expect(subject.size).to be 2 }
15
+ it { expect(subject[0].tweet).to eq 'hello' }
16
+ end
17
+
18
+ context 'normal case' do
19
+ let(:response) { [valid_date_tweet, valid_date_tweet] }
20
+ it_behaves_like 'valid result'
21
+ end
22
+
23
+ context 'with too old tweet existing' do
24
+ let(:response) { [valid_date_tweet, valid_date_tweet, invalid_date_tweet] }
25
+ it_behaves_like 'valid result'
26
+ end
27
+
28
+ context 'with no response data' do
29
+ let(:response) { [] }
30
+ it { expect(subject).to eq [] }
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::App::Weather do
4
+
5
+ describe '.fetch_since' do
6
+ subject { described_class.fetch_since('dummy') }
7
+ it { expect(subject.max_temp).to be_instance_of Fixnum }
8
+ it { expect(subject.min_temp).to be_instance_of Fixnum }
9
+ it { expect(subject.condition).to be_instance_of String }
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::Dom::Entity::Config do
4
+ subject { described_class }
5
+
6
+ context 'normal' do
7
+ it do
8
+ expect(subject.twitter.access_token).to be_nil
9
+ expect { subject.twitter.access_token = 'hoge' }.not_to raise_error
10
+ expect(subject.twitter.access_token).to eq 'hoge'
11
+ subject.evernote.access_token = 'fuga'
12
+ subject.clear!
13
+ expect(subject.twitter.access_token).to be_nil
14
+ expect(subject.evernote.access_token).to be_nil
15
+ end
16
+ end
17
+
18
+ context 'abnormal' do
19
+ it { expect { subject.invalid_service.access_token }.to raise_error NoMethodError }
20
+ it { expect { subject.twitter.invalid_method }.to raise_error NoMethodError }
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::Dom::Entity::Content do
4
+ let(:instance) { described_class.new }
5
+
6
+ describe '#push' do
7
+ it 'set instance value' do
8
+ instance.push(:hoge, 'hoge')
9
+ expect(instance.instance_eval { @hoge }).to eq 'hoge'
10
+ end
11
+ end
12
+
13
+ describe '#render' do
14
+ subject { instance.render }
15
+
16
+ context 'without contents' do
17
+ it 'has en-note tag' do
18
+ expect(subject).to match /<en-note>/
19
+ expect(subject).to match /<\/en-note>$/
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::Dom::Module::Github do
4
+ let(:instance) do
5
+ described_class.new(double('config', access_secret: ENV['github_access_secret']))
6
+ end
7
+
8
+ describe '#api_client' do
9
+ it 'memo @api_client' do
10
+ expect(instance.api_client).to be instance.api_client
11
+ end
12
+ end
13
+
14
+ describe '#repo_names' do
15
+ subject { instance.repo_names }
16
+ before do
17
+ response = [double('api_client', full_name: 'everlog')]
18
+ Everlog::Inf::Api::Github.any_instance.stub(:repos).and_return(response)
19
+ end
20
+
21
+ it { expect(subject).to eq ['everlog'] }
22
+ end
23
+
24
+ describe '#repo_activity' do
25
+ subject { instance.repo_activity('gong023/everlog', date)}
26
+
27
+ context 'with commit existing' do
28
+ let(:date) { '2014-01-17' }
29
+
30
+ it { expect(subject.repo_name).to eq 'gong023/everlog' }
31
+ it { expect(subject.commits).to be_instance_of Array }
32
+ end
33
+
34
+ context 'with no commit existing' do
35
+ let(:date) { '9999-09-09' }
36
+ before do
37
+ described_class.any_instance.should_receive(:commits).with('everlog', '9999-09-09').and_return(nil)
38
+ end
39
+
40
+ it { expect(subject).to be_nil }
41
+ end
42
+ end
43
+
44
+ describe '#commits' do
45
+ subject { instance.commits('everlog', date) }
46
+
47
+ context 'with commit existing' do
48
+ let(:date) { '2014-01-17' }
49
+
50
+ it { expect(subject.first.message).to eq 'initial commit' }
51
+ it { expect(subject.first.url).to eq 'https://github.com/gong023/everlog/commit/92e4edb00fdc6bb1be9f2696c2a56e66d52bf4af' }
52
+ end
53
+
54
+ context 'with no commit existing' do
55
+ let(:date) { '9999-09-09' }
56
+
57
+ it { expect(subject).to be_nil }
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::Dom::Module::Moves do
4
+ let(:instance) do
5
+ described_class.new(double('config', access_secret: ENV['moves_access_token']))
6
+ end
7
+
8
+ describe '#storyline' do
9
+ subject { instance.storyline }
10
+
11
+ context 'normal' do
12
+ before do
13
+ described_class.any_instance.stub_chain(:moves_api, :daily_storyline).and_return(response)
14
+ end
15
+ let(:response) do
16
+ load_fixture('moves/daily_storyline_response.json').first['segments']
17
+ end
18
+
19
+ it { expect(subject.first).to be_instance_of Everlog::Dom::Value::Moves::Referer::Place }
20
+ it { expect(subject[1]).to be_instance_of Everlog::Dom::Value::Moves::Referer::Move }
21
+ end
22
+ end
23
+
24
+ describe '#summary' do
25
+ subject { instance.summary }
26
+
27
+ context 'normal' do
28
+ before { described_class.any_instance.stub_chain(:moves_api, :daily_summary).and_return(response) }
29
+
30
+ let(:response) do
31
+ load_fixture('moves/daily_summary_response.json').first['summary']
32
+ end
33
+
34
+ it { expect(subject).to be_instance_of Everlog::Dom::Value::Moves::Summary }
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::Dom::Repository::Evernote do
4
+ let(:instance) do
5
+ config = double('config', access_secret: ENV['evernote_sandbox_access_token'])
6
+ described_class.new(true, config)
7
+ end
8
+
9
+ describe '#get_guid_forcibly' do
10
+ subject { instance.get_guid_forcibly notebook_name }
11
+
12
+ context 'with notebook existing' do
13
+ let(:notebook_name) { 'from rspec' }
14
+ it { expect(subject).to eq '1557ebad-ce5e-4389-b3fe-d8dfdaddb181' }
15
+ end
16
+
17
+ context 'with no notebook existing' do
18
+ let(:notebook_name) { 'something not existing' }
19
+ it do
20
+ api_mock = double('api_client', { guid: 1 })
21
+ Everlog::Inf::Api::Evernote.any_instance.should_receive(:create_notebook).and_return(api_mock)
22
+ expect(subject).to be 1
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::Maybe do
4
+ include Everlog::Maybe
5
+
6
+ describe '#maybe' do
7
+ subject { maybe(nil) }
8
+
9
+ context 'nil' do
10
+ it { expect(subject).to be_instance_of Everlog::NullObject }
11
+ it { expect(subject.to_a).to eq [] }
12
+ it { expect(subject.to_s).to eq '' }
13
+ it { expect(subject.to_i).to eq 0 }
14
+ it { expect(subject.to_f).to eq 0.0 }
15
+ it { expect(subject[:invalid_key]).to be_instance_of Everlog::NullObject }
16
+ it { expect(subject.undefined_method).to be_instance_of Everlog::NullObject }
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+
3
+ describe Everlog::Dom::Value::Animetick do
4
+ let(:instance) { described_class.new(response) }
5
+
6
+ context 'normal' do
7
+ let(:response) do
8
+ {
9
+ "title_id" => 1,
10
+ "count" => 1,
11
+ "updated_at" => "2014-03-12T21:20:11.000+09:00",
12
+ "watched" => true,
13
+ "title" => "anime title",
14
+ "icon_path" => "/icon/1.png",
15
+ "sub_title" => "episode",
16
+ "start_at" => "2014-03-11T01:35:00+09:00",
17
+ "end_at "=> "2014-03-11T02:05:00+09:00",
18
+ "flags" => [],
19
+ "ch_name" => "テレビ東京",
20
+ "ch_number" => 7
21
+ }
22
+ end
23
+
24
+ describe '#title' do
25
+ subject { instance.title }
26
+ it { expect(subject).to eq 'anime title' }
27
+ end
28
+
29
+ describe '#sub_title' do
30
+ subject { instance.sub_title }
31
+ it { expect(subject).to eq 'episode' }
32
+ end
33
+
34
+ describe '#count' do
35
+ subject { instance.count }
36
+ it { expect(subject).to be 1 }
37
+ end
38
+
39
+ describe '#updated_at' do
40
+ subject { instance.updated_at }
41
+ it { expect(subject).to eq DateTime.new(2014, 3, 12, 21, 20, 11, '+9').to_time }
42
+ end
43
+
44
+ describe '#updated_at_screen' do
45
+ subject { instance.updated_at_screen }
46
+ it { expect(subject).to eq '21:20' }
47
+ end
48
+ end
49
+ end