tzinfo 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of tzinfo might be problematic. Click here for more details.

Files changed (427) hide show
  1. data/CHANGES +94 -58
  2. data/LICENSE +19 -0
  3. data/README +1 -1
  4. data/Rakefile +75 -0
  5. data/lib/tzinfo.rb +14 -14
  6. data/lib/tzinfo/country.rb +38 -6
  7. data/lib/tzinfo/definitions/Africa/Abidjan.rb +2 -2
  8. data/lib/tzinfo/definitions/Africa/Accra.rb +16 -16
  9. data/lib/tzinfo/definitions/Africa/Addis_Ababa.rb +3 -3
  10. data/lib/tzinfo/definitions/Africa/Algiers.rb +35 -35
  11. data/lib/tzinfo/definitions/Africa/Asmera.rb +4 -4
  12. data/lib/tzinfo/definitions/Africa/Bamako.rb +4 -4
  13. data/lib/tzinfo/definitions/Africa/Bangui.rb +2 -2
  14. data/lib/tzinfo/definitions/Africa/Banjul.rb +4 -4
  15. data/lib/tzinfo/definitions/Africa/Bissau.rb +3 -3
  16. data/lib/tzinfo/definitions/Africa/Blantyre.rb +2 -2
  17. data/lib/tzinfo/definitions/Africa/Brazzaville.rb +2 -2
  18. data/lib/tzinfo/definitions/Africa/Bujumbura.rb +2 -2
  19. data/lib/tzinfo/definitions/Africa/Cairo.rb +192 -191
  20. data/lib/tzinfo/definitions/Africa/Casablanca.rb +20 -20
  21. data/lib/tzinfo/definitions/Africa/Ceuta.rb +146 -145
  22. data/lib/tzinfo/definitions/Africa/Conakry.rb +4 -4
  23. data/lib/tzinfo/definitions/Africa/Dakar.rb +3 -3
  24. data/lib/tzinfo/definitions/Africa/Dar_es_Salaam.rb +4 -4
  25. data/lib/tzinfo/definitions/Africa/Djibouti.rb +2 -2
  26. data/lib/tzinfo/definitions/Africa/Douala.rb +2 -2
  27. data/lib/tzinfo/definitions/Africa/El_Aaiun.rb +3 -3
  28. data/lib/tzinfo/definitions/Africa/Freetown.rb +32 -32
  29. data/lib/tzinfo/definitions/Africa/Gaborone.rb +4 -4
  30. data/lib/tzinfo/definitions/Africa/Harare.rb +2 -2
  31. data/lib/tzinfo/definitions/Africa/Johannesburg.rb +7 -7
  32. data/lib/tzinfo/definitions/Africa/Kampala.rb +5 -5
  33. data/lib/tzinfo/definitions/Africa/Khartoum.rb +35 -35
  34. data/lib/tzinfo/definitions/Africa/Kigali.rb +2 -2
  35. data/lib/tzinfo/definitions/Africa/Kinshasa.rb +2 -2
  36. data/lib/tzinfo/definitions/Africa/Lagos.rb +2 -2
  37. data/lib/tzinfo/definitions/Africa/Libreville.rb +2 -2
  38. data/lib/tzinfo/definitions/Africa/Lome.rb +2 -2
  39. data/lib/tzinfo/definitions/Africa/Luanda.rb +3 -3
  40. data/lib/tzinfo/definitions/Africa/Lubumbashi.rb +2 -2
  41. data/lib/tzinfo/definitions/Africa/Lusaka.rb +2 -2
  42. data/lib/tzinfo/definitions/Africa/Malabo.rb +3 -3
  43. data/lib/tzinfo/definitions/Africa/Maputo.rb +2 -2
  44. data/lib/tzinfo/definitions/Africa/Maseru.rb +4 -4
  45. data/lib/tzinfo/definitions/Africa/Mbabane.rb +2 -2
  46. data/lib/tzinfo/definitions/Africa/Mogadishu.rb +4 -4
  47. data/lib/tzinfo/definitions/Africa/Monrovia.rb +4 -4
  48. data/lib/tzinfo/definitions/Africa/Nairobi.rb +5 -5
  49. data/lib/tzinfo/definitions/Africa/Ndjamena.rb +4 -4
  50. data/lib/tzinfo/definitions/Africa/Niamey.rb +4 -4
  51. data/lib/tzinfo/definitions/Africa/Nouakchott.rb +4 -4
  52. data/lib/tzinfo/definitions/Africa/Ouagadougou.rb +2 -2
  53. data/lib/tzinfo/definitions/Africa/Porto__m__Novo.rb +3 -3
  54. data/lib/tzinfo/definitions/Africa/Sao_Tome.rb +3 -3
  55. data/lib/tzinfo/definitions/Africa/Tripoli.rb +30 -30
  56. data/lib/tzinfo/definitions/Africa/Tunis.rb +29 -29
  57. data/lib/tzinfo/definitions/Africa/Windhoek.rb +110 -110
  58. data/lib/tzinfo/definitions/America/Adak.rb +164 -163
  59. data/lib/tzinfo/definitions/America/Anchorage.rb +164 -163
  60. data/lib/tzinfo/definitions/America/Anguilla.rb +2 -2
  61. data/lib/tzinfo/definitions/America/Antigua.rb +3 -3
  62. data/lib/tzinfo/definitions/America/Araguaina.rb +53 -53
  63. data/lib/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +58 -58
  64. data/lib/tzinfo/definitions/America/Argentina/Catamarca.rb +60 -60
  65. data/lib/tzinfo/definitions/America/Argentina/Cordoba.rb +58 -58
  66. data/lib/tzinfo/definitions/America/Argentina/Jujuy.rb +59 -59
  67. data/lib/tzinfo/definitions/America/Argentina/La_Rioja.rb +61 -61
  68. data/lib/tzinfo/definitions/America/Argentina/Mendoza.rb +60 -60
  69. data/lib/tzinfo/definitions/America/Argentina/Rio_Gallegos.rb +60 -60
  70. data/lib/tzinfo/definitions/America/Argentina/San_Juan.rb +61 -61
  71. data/lib/tzinfo/definitions/America/Argentina/Tucuman.rb +60 -60
  72. data/lib/tzinfo/definitions/America/Argentina/Ushuaia.rb +60 -60
  73. data/lib/tzinfo/definitions/America/Aruba.rb +3 -3
  74. data/lib/tzinfo/definitions/America/Asuncion.rb +146 -145
  75. data/lib/tzinfo/definitions/America/Bahia.rb +61 -61
  76. data/lib/tzinfo/definitions/America/Barbados.rb +11 -11
  77. data/lib/tzinfo/definitions/America/Belem.rb +31 -31
  78. data/lib/tzinfo/definitions/America/Belize.rb +56 -56
  79. data/lib/tzinfo/definitions/America/Boa_Vista.rb +36 -36
  80. data/lib/tzinfo/definitions/America/Bogota.rb +5 -5
  81. data/lib/tzinfo/definitions/America/Boise.rb +167 -166
  82. data/lib/tzinfo/definitions/America/Cambridge_Bay.rb +143 -142
  83. data/lib/tzinfo/definitions/America/Campo_Grande.rb +145 -144
  84. data/lib/tzinfo/definitions/America/Cancun.rb +104 -103
  85. data/lib/tzinfo/definitions/America/Caracas.rb +4 -4
  86. data/lib/tzinfo/definitions/America/Cayenne.rb +3 -3
  87. data/lib/tzinfo/definitions/America/Cayman.rb +3 -3
  88. data/lib/tzinfo/definitions/America/Chicago.rb +256 -255
  89. data/lib/tzinfo/definitions/America/Chihuahua.rb +109 -108
  90. data/lib/tzinfo/definitions/America/Coral_Harbour.rb +9 -9
  91. data/lib/tzinfo/definitions/America/Costa_Rica.rb +11 -11
  92. data/lib/tzinfo/definitions/America/Cuiaba.rb +145 -144
  93. data/lib/tzinfo/definitions/America/Curacao.rb +3 -3
  94. data/lib/tzinfo/definitions/America/Danmarkshavn.rb +35 -35
  95. data/lib/tzinfo/definitions/America/Dawson.rb +143 -142
  96. data/lib/tzinfo/definitions/America/Dawson_Creek.rb +59 -59
  97. data/lib/tzinfo/definitions/America/Denver.rb +178 -177
  98. data/lib/tzinfo/definitions/America/Detroit.rb +158 -157
  99. data/lib/tzinfo/definitions/America/Dominica.rb +2 -2
  100. data/lib/tzinfo/definitions/America/Edmonton.rb +170 -169
  101. data/lib/tzinfo/definitions/America/Eirunepe.rb +35 -35
  102. data/lib/tzinfo/definitions/America/El_Salvador.rb +6 -6
  103. data/lib/tzinfo/definitions/America/Fortaleza.rb +44 -44
  104. data/lib/tzinfo/definitions/America/Glace_Bay.rb +160 -159
  105. data/lib/tzinfo/definitions/America/Godthab.rb +134 -133
  106. data/lib/tzinfo/definitions/America/Goose_Bay.rb +225 -224
  107. data/lib/tzinfo/definitions/America/Grand_Turk.rb +137 -136
  108. data/lib/tzinfo/definitions/America/Grenada.rb +2 -2
  109. data/lib/tzinfo/definitions/America/Guadeloupe.rb +2 -2
  110. data/lib/tzinfo/definitions/America/Guatemala.rb +8 -8
  111. data/lib/tzinfo/definitions/America/Guayaquil.rb +3 -3
  112. data/lib/tzinfo/definitions/America/Guyana.rb +5 -5
  113. data/lib/tzinfo/definitions/America/Halifax.rb +248 -247
  114. data/lib/tzinfo/definitions/America/Havana.rb +175 -174
  115. data/lib/tzinfo/definitions/America/Hermosillo.rb +17 -17
  116. data/lib/tzinfo/definitions/America/Indiana/Indianapolis.rb +121 -120
  117. data/lib/tzinfo/definitions/America/Indiana/Knox.rb +172 -171
  118. data/lib/tzinfo/definitions/America/Indiana/Marengo.rb +123 -122
  119. data/lib/tzinfo/definitions/America/Indiana/Vevay.rb +100 -99
  120. data/lib/tzinfo/definitions/America/Inuvik.rb +143 -142
  121. data/lib/tzinfo/definitions/America/Iqaluit.rb +142 -141
  122. data/lib/tzinfo/definitions/America/Jamaica.rb +23 -23
  123. data/lib/tzinfo/definitions/America/Juneau.rb +163 -162
  124. data/lib/tzinfo/definitions/America/Kentucky/Louisville.rb +198 -197
  125. data/lib/tzinfo/definitions/America/Kentucky/Monticello.rb +166 -165
  126. data/lib/tzinfo/definitions/America/La_Paz.rb +4 -4
  127. data/lib/tzinfo/definitions/America/Lima.rb +17 -17
  128. data/lib/tzinfo/definitions/America/Los_Angeles.rb +204 -203
  129. data/lib/tzinfo/definitions/America/Maceio.rb +48 -48
  130. data/lib/tzinfo/definitions/America/Managua.rb +15 -15
  131. data/lib/tzinfo/definitions/America/Manaus.rb +35 -35
  132. data/lib/tzinfo/definitions/America/Martinique.rb +5 -5
  133. data/lib/tzinfo/definitions/America/Mazatlan.rb +110 -109
  134. data/lib/tzinfo/definitions/America/Menominee.rb +160 -159
  135. data/lib/tzinfo/definitions/America/Merida.rb +104 -103
  136. data/lib/tzinfo/definitions/America/Mexico_City.rb +116 -115
  137. data/lib/tzinfo/definitions/America/Miquelon.rb +122 -121
  138. data/lib/tzinfo/definitions/America/Monterrey.rb +106 -105
  139. data/lib/tzinfo/definitions/America/Montevideo.rb +69 -67
  140. data/lib/tzinfo/definitions/America/Montreal.rb +253 -252
  141. data/lib/tzinfo/definitions/America/Montserrat.rb +2 -2
  142. data/lib/tzinfo/definitions/America/Nassau.rb +166 -165
  143. data/lib/tzinfo/definitions/America/New_York.rb +256 -255
  144. data/lib/tzinfo/definitions/America/Nipigon.rb +151 -150
  145. data/lib/tzinfo/definitions/America/Nome.rb +164 -163
  146. data/lib/tzinfo/definitions/America/Noronha.rb +44 -44
  147. data/lib/tzinfo/definitions/America/North_Dakota/Center.rb +166 -165
  148. data/lib/tzinfo/definitions/America/Panama.rb +3 -3
  149. data/lib/tzinfo/definitions/America/Pangnirtung.rb +142 -141
  150. data/lib/tzinfo/definitions/America/Paramaribo.rb +6 -6
  151. data/lib/tzinfo/definitions/America/Phoenix.rb +14 -14
  152. data/lib/tzinfo/definitions/America/Port__m__au__m__Prince.rb +35 -35
  153. data/lib/tzinfo/definitions/America/Port_of_Spain.rb +2 -2
  154. data/lib/tzinfo/definitions/America/Porto_Velho.rb +31 -31
  155. data/lib/tzinfo/definitions/America/Puerto_Rico.rb +4 -4
  156. data/lib/tzinfo/definitions/America/Rainy_River.rb +151 -150
  157. data/lib/tzinfo/definitions/America/Rankin_Inlet.rb +142 -141
  158. data/lib/tzinfo/definitions/America/Recife.rb +44 -44
  159. data/lib/tzinfo/definitions/America/Regina.rb +53 -53
  160. data/lib/tzinfo/definitions/America/Rio_Branco.rb +31 -31
  161. data/lib/tzinfo/definitions/America/Santiago.rb +175 -174
  162. data/lib/tzinfo/definitions/America/Santo_Domingo.rb +18 -18
  163. data/lib/tzinfo/definitions/America/Sao_Paulo.rb +146 -145
  164. data/lib/tzinfo/definitions/America/Scoresbysund.rb +134 -133
  165. data/lib/tzinfo/definitions/America/St_Johns.rb +259 -258
  166. data/lib/tzinfo/definitions/America/St_Kitts.rb +2 -2
  167. data/lib/tzinfo/definitions/America/St_Lucia.rb +3 -3
  168. data/lib/tzinfo/definitions/America/St_Thomas.rb +2 -2
  169. data/lib/tzinfo/definitions/America/St_Vincent.rb +3 -3
  170. data/lib/tzinfo/definitions/America/Swift_Current.rb +23 -23
  171. data/lib/tzinfo/definitions/America/Tegucigalpa.rb +6 -6
  172. data/lib/tzinfo/definitions/America/Thule.rb +112 -111
  173. data/lib/tzinfo/definitions/America/Thunder_Bay.rb +159 -158
  174. data/lib/tzinfo/definitions/America/Tijuana.rb +171 -170
  175. data/lib/tzinfo/definitions/America/Toronto.rb +252 -251
  176. data/lib/tzinfo/definitions/America/Tortola.rb +2 -2
  177. data/lib/tzinfo/definitions/America/Vancouver.rb +206 -205
  178. data/lib/tzinfo/definitions/America/Whitehorse.rb +143 -142
  179. data/lib/tzinfo/definitions/America/Winnipeg.rb +202 -201
  180. data/lib/tzinfo/definitions/America/Yakutat.rb +163 -162
  181. data/lib/tzinfo/definitions/America/Yellowknife.rb +142 -141
  182. data/lib/tzinfo/definitions/Antarctica/Casey.rb +2 -2
  183. data/lib/tzinfo/definitions/Antarctica/Davis.rb +4 -4
  184. data/lib/tzinfo/definitions/Antarctica/DumontDUrville.rb +4 -4
  185. data/lib/tzinfo/definitions/Antarctica/Mawson.rb +2 -2
  186. data/lib/tzinfo/definitions/Antarctica/McMurdo.rb +145 -144
  187. data/lib/tzinfo/definitions/Antarctica/Palmer.rb +147 -146
  188. data/lib/tzinfo/definitions/Antarctica/Rothera.rb +2 -2
  189. data/lib/tzinfo/definitions/Antarctica/Syowa.rb +2 -2
  190. data/lib/tzinfo/definitions/Antarctica/Vostok.rb +2 -2
  191. data/lib/tzinfo/definitions/Asia/Aden.rb +2 -2
  192. data/lib/tzinfo/definitions/Asia/Almaty.rb +52 -52
  193. data/lib/tzinfo/definitions/Asia/Amman.rb +136 -135
  194. data/lib/tzinfo/definitions/Asia/Anadyr.rb +134 -133
  195. data/lib/tzinfo/definitions/Asia/Aqtau.rb +52 -52
  196. data/lib/tzinfo/definitions/Asia/Aqtobe.rb +52 -52
  197. data/lib/tzinfo/definitions/Asia/Ashgabat.rb +27 -27
  198. data/lib/tzinfo/definitions/Asia/Baghdad.rb +131 -130
  199. data/lib/tzinfo/definitions/Asia/Bahrain.rb +3 -3
  200. data/lib/tzinfo/definitions/Asia/Baku.rb +130 -129
  201. data/lib/tzinfo/definitions/Asia/Bangkok.rb +3 -3
  202. data/lib/tzinfo/definitions/Asia/Beirut.rb +158 -157
  203. data/lib/tzinfo/definitions/Asia/Bishkek.rb +52 -131
  204. data/lib/tzinfo/definitions/Asia/Brunei.rb +3 -3
  205. data/lib/tzinfo/definitions/Asia/Calcutta.rb +6 -6
  206. data/lib/tzinfo/definitions/Asia/Choibalsan.rb +125 -124
  207. data/lib/tzinfo/definitions/Asia/Chongqing.rb +15 -15
  208. data/lib/tzinfo/definitions/Asia/Colombo.rb +8 -8
  209. data/lib/tzinfo/definitions/Asia/Damascus.rb +168 -167
  210. data/lib/tzinfo/definitions/Asia/Dhaka.rb +7 -7
  211. data/lib/tzinfo/definitions/Asia/Dili.rb +6 -6
  212. data/lib/tzinfo/definitions/Asia/Dubai.rb +2 -2
  213. data/lib/tzinfo/definitions/Asia/Dushanbe.rb +25 -25
  214. data/lib/tzinfo/definitions/Asia/Gaza.rb +162 -161
  215. data/lib/tzinfo/definitions/Asia/Harbin.rb +18 -18
  216. data/lib/tzinfo/definitions/Asia/Hong_Kong.rb +70 -70
  217. data/lib/tzinfo/definitions/Asia/Hovd.rb +125 -124
  218. data/lib/tzinfo/definitions/Asia/Irkutsk.rb +135 -134
  219. data/lib/tzinfo/definitions/Asia/Jakarta.rb +9 -9
  220. data/lib/tzinfo/definitions/Asia/Jayapura.rb +4 -4
  221. data/lib/tzinfo/definitions/Asia/Jerusalem.rb +144 -144
  222. data/lib/tzinfo/definitions/Asia/Kabul.rb +3 -3
  223. data/lib/tzinfo/definitions/Asia/Kamchatka.rb +134 -133
  224. data/lib/tzinfo/definitions/Asia/Karachi.rb +8 -8
  225. data/lib/tzinfo/definitions/Asia/Kashgar.rb +16 -16
  226. data/lib/tzinfo/definitions/Asia/Katmandu.rb +3 -3
  227. data/lib/tzinfo/definitions/Asia/Krasnoyarsk.rb +134 -133
  228. data/lib/tzinfo/definitions/Asia/Kuala_Lumpur.rb +9 -9
  229. data/lib/tzinfo/definitions/Asia/Kuching.rb +20 -20
  230. data/lib/tzinfo/definitions/Asia/Kuwait.rb +2 -2
  231. data/lib/tzinfo/definitions/Asia/Macau.rb +43 -43
  232. data/lib/tzinfo/definitions/Asia/Magadan.rb +134 -133
  233. data/lib/tzinfo/definitions/Asia/Makassar.rb +5 -5
  234. data/lib/tzinfo/definitions/Asia/Manila.rb +11 -11
  235. data/lib/tzinfo/definitions/Asia/Muscat.rb +2 -2
  236. data/lib/tzinfo/definitions/Asia/Nicosia.rb +145 -144
  237. data/lib/tzinfo/definitions/Asia/Novosibirsk.rb +135 -134
  238. data/lib/tzinfo/definitions/Asia/Omsk.rb +134 -133
  239. data/lib/tzinfo/definitions/Asia/Oral.rb +52 -52
  240. data/lib/tzinfo/definitions/Asia/Phnom_Penh.rb +5 -5
  241. data/lib/tzinfo/definitions/Asia/Pontianak.rb +9 -9
  242. data/lib/tzinfo/definitions/Asia/Pyongyang.rb +7 -7
  243. data/lib/tzinfo/definitions/Asia/Qatar.rb +3 -3
  244. data/lib/tzinfo/definitions/Asia/Qyzylorda.rb +53 -53
  245. data/lib/tzinfo/definitions/Asia/Rangoon.rb +5 -5
  246. data/lib/tzinfo/definitions/Asia/Riyadh.rb +2 -2
  247. data/lib/tzinfo/definitions/Asia/Saigon.rb +5 -5
  248. data/lib/tzinfo/definitions/Asia/Sakhalin.rb +135 -134
  249. data/lib/tzinfo/definitions/Asia/Samarkand.rb +30 -30
  250. data/lib/tzinfo/definitions/Asia/Seoul.rb +14 -14
  251. data/lib/tzinfo/definitions/Asia/Shanghai.rb +19 -19
  252. data/lib/tzinfo/definitions/Asia/Singapore.rb +10 -10
  253. data/lib/tzinfo/definitions/Asia/Taipei.rb +42 -42
  254. data/lib/tzinfo/definitions/Asia/Tashkent.rb +30 -30
  255. data/lib/tzinfo/definitions/Asia/Tbilisi.rb +137 -136
  256. data/lib/tzinfo/definitions/Asia/Tehran.rb +105 -105
  257. data/lib/tzinfo/definitions/Asia/Thimphu.rb +3 -3
  258. data/lib/tzinfo/definitions/Asia/Tokyo.rb +12 -12
  259. data/lib/tzinfo/definitions/Asia/Ulaanbaatar.rb +125 -124
  260. data/lib/tzinfo/definitions/Asia/Urumqi.rb +15 -15
  261. data/lib/tzinfo/definitions/Asia/Vientiane.rb +5 -5
  262. data/lib/tzinfo/definitions/Asia/Vladivostok.rb +134 -133
  263. data/lib/tzinfo/definitions/Asia/Yakutsk.rb +134 -133
  264. data/lib/tzinfo/definitions/Asia/Yekaterinburg.rb +134 -133
  265. data/lib/tzinfo/definitions/Asia/Yerevan.rb +133 -132
  266. data/lib/tzinfo/definitions/Atlantic/Azores.rb +238 -237
  267. data/lib/tzinfo/definitions/Atlantic/Bermuda.rb +146 -145
  268. data/lib/tzinfo/definitions/Atlantic/Canary.rb +136 -135
  269. data/lib/tzinfo/definitions/Atlantic/Cape_Verde.rb +5 -5
  270. data/lib/tzinfo/definitions/Atlantic/Faeroe.rb +133 -132
  271. data/lib/tzinfo/definitions/Atlantic/Madeira.rb +238 -237
  272. data/lib/tzinfo/definitions/Atlantic/Reykjavik.rb +66 -66
  273. data/lib/tzinfo/definitions/Atlantic/South_Georgia.rb +2 -2
  274. data/lib/tzinfo/definitions/Atlantic/St_Helena.rb +3 -3
  275. data/lib/tzinfo/definitions/Atlantic/Stanley.rb +141 -141
  276. data/lib/tzinfo/definitions/Australia/Adelaide.rb +161 -160
  277. data/lib/tzinfo/definitions/Australia/Brisbane.rb +19 -19
  278. data/lib/tzinfo/definitions/Australia/Broken_Hill.rb +163 -162
  279. data/lib/tzinfo/definitions/Australia/Currie.rb +161 -160
  280. data/lib/tzinfo/definitions/Australia/Darwin.rb +11 -11
  281. data/lib/tzinfo/definitions/Australia/Hobart.rb +169 -168
  282. data/lib/tzinfo/definitions/Australia/Lindeman.rb +24 -24
  283. data/lib/tzinfo/definitions/Australia/Lord_Howe.rb +132 -131
  284. data/lib/tzinfo/definitions/Australia/Melbourne.rb +160 -159
  285. data/lib/tzinfo/definitions/Australia/Perth.rb +15 -15
  286. data/lib/tzinfo/definitions/Australia/Sydney.rb +160 -159
  287. data/lib/tzinfo/definitions/CET.rb +151 -150
  288. data/lib/tzinfo/definitions/EET.rb +139 -138
  289. data/lib/tzinfo/definitions/Etc/GMT.rb +1 -1
  290. data/lib/tzinfo/definitions/Etc/GMT__m__1.rb +1 -1
  291. data/lib/tzinfo/definitions/Etc/GMT__m__10.rb +1 -1
  292. data/lib/tzinfo/definitions/Etc/GMT__m__11.rb +1 -1
  293. data/lib/tzinfo/definitions/Etc/GMT__m__12.rb +1 -1
  294. data/lib/tzinfo/definitions/Etc/GMT__m__13.rb +1 -1
  295. data/lib/tzinfo/definitions/Etc/GMT__m__14.rb +1 -1
  296. data/lib/tzinfo/definitions/Etc/GMT__m__2.rb +1 -1
  297. data/lib/tzinfo/definitions/Etc/GMT__m__3.rb +1 -1
  298. data/lib/tzinfo/definitions/Etc/GMT__m__4.rb +1 -1
  299. data/lib/tzinfo/definitions/Etc/GMT__m__5.rb +1 -1
  300. data/lib/tzinfo/definitions/Etc/GMT__m__6.rb +1 -1
  301. data/lib/tzinfo/definitions/Etc/GMT__m__7.rb +1 -1
  302. data/lib/tzinfo/definitions/Etc/GMT__m__8.rb +1 -1
  303. data/lib/tzinfo/definitions/Etc/GMT__m__9.rb +1 -1
  304. data/lib/tzinfo/definitions/Etc/GMT__p__1.rb +1 -1
  305. data/lib/tzinfo/definitions/Etc/GMT__p__10.rb +1 -1
  306. data/lib/tzinfo/definitions/Etc/GMT__p__11.rb +1 -1
  307. data/lib/tzinfo/definitions/Etc/GMT__p__12.rb +1 -1
  308. data/lib/tzinfo/definitions/Etc/GMT__p__2.rb +1 -1
  309. data/lib/tzinfo/definitions/Etc/GMT__p__3.rb +1 -1
  310. data/lib/tzinfo/definitions/Etc/GMT__p__4.rb +1 -1
  311. data/lib/tzinfo/definitions/Etc/GMT__p__5.rb +1 -1
  312. data/lib/tzinfo/definitions/Etc/GMT__p__6.rb +1 -1
  313. data/lib/tzinfo/definitions/Etc/GMT__p__7.rb +1 -1
  314. data/lib/tzinfo/definitions/Etc/GMT__p__8.rb +1 -1
  315. data/lib/tzinfo/definitions/Etc/GMT__p__9.rb +1 -1
  316. data/lib/tzinfo/definitions/Etc/UCT.rb +1 -1
  317. data/lib/tzinfo/definitions/Etc/UTC.rb +1 -1
  318. data/lib/tzinfo/definitions/Europe/Amsterdam.rb +197 -196
  319. data/lib/tzinfo/definitions/Europe/Andorra.rb +125 -124
  320. data/lib/tzinfo/definitions/Europe/Athens.rb +156 -155
  321. data/lib/tzinfo/definitions/Europe/Belgrade.rb +136 -135
  322. data/lib/tzinfo/definitions/Europe/Berlin.rb +161 -160
  323. data/lib/tzinfo/definitions/Europe/Brussels.rb +203 -202
  324. data/lib/tzinfo/definitions/Europe/Bucharest.rb +156 -155
  325. data/lib/tzinfo/definitions/Europe/Budapest.rb +170 -169
  326. data/lib/tzinfo/definitions/Europe/Chisinau.rb +159 -158
  327. data/lib/tzinfo/definitions/Europe/Copenhagen.rb +152 -151
  328. data/lib/tzinfo/definitions/Europe/Dublin.rb +246 -245
  329. data/lib/tzinfo/definitions/Europe/Gibraltar.rb +216 -215
  330. data/lib/tzinfo/definitions/Europe/Helsinki.rb +136 -135
  331. data/lib/tzinfo/definitions/Europe/Istanbul.rb +190 -189
  332. data/lib/tzinfo/definitions/Europe/Kaliningrad.rb +148 -147
  333. data/lib/tzinfo/definitions/Europe/Kiev.rb +138 -137
  334. data/lib/tzinfo/definitions/Europe/Lisbon.rb +239 -238
  335. data/lib/tzinfo/definitions/Europe/London.rb +260 -259
  336. data/lib/tzinfo/definitions/Europe/Luxembourg.rb +200 -199
  337. data/lib/tzinfo/definitions/Europe/Madrid.rb +182 -181
  338. data/lib/tzinfo/definitions/Europe/Malta.rb +187 -186
  339. data/lib/tzinfo/definitions/Europe/Minsk.rb +136 -135
  340. data/lib/tzinfo/definitions/Europe/Monaco.rb +203 -202
  341. data/lib/tzinfo/definitions/Europe/Moscow.rb +147 -146
  342. data/lib/tzinfo/definitions/Europe/Oslo.rb +158 -157
  343. data/lib/tzinfo/definitions/Europe/Paris.rb +201 -200
  344. data/lib/tzinfo/definitions/Europe/Prague.rb +159 -158
  345. data/lib/tzinfo/definitions/Europe/Riga.rb +145 -144
  346. data/lib/tzinfo/definitions/Europe/Rome.rb +189 -188
  347. data/lib/tzinfo/definitions/Europe/Samara.rb +134 -133
  348. data/lib/tzinfo/definitions/Europe/Simferopol.rb +140 -139
  349. data/lib/tzinfo/definitions/Europe/Sofia.rb +146 -145
  350. data/lib/tzinfo/definitions/Europe/Stockholm.rb +138 -137
  351. data/lib/tzinfo/definitions/Europe/Tallinn.rb +141 -140
  352. data/lib/tzinfo/definitions/Europe/Tirane.rb +151 -150
  353. data/lib/tzinfo/definitions/Europe/Uzhgorod.rb +142 -141
  354. data/lib/tzinfo/definitions/Europe/Vaduz.rb +133 -132
  355. data/lib/tzinfo/definitions/Europe/Vienna.rb +159 -158
  356. data/lib/tzinfo/definitions/Europe/Vilnius.rb +137 -136
  357. data/lib/tzinfo/definitions/Europe/Warsaw.rb +184 -183
  358. data/lib/tzinfo/definitions/Europe/Zaporozhye.rb +139 -138
  359. data/lib/tzinfo/definitions/Europe/Zurich.rb +140 -139
  360. data/lib/tzinfo/definitions/Indian/Antananarivo.rb +4 -4
  361. data/lib/tzinfo/definitions/Indian/Chagos.rb +3 -3
  362. data/lib/tzinfo/definitions/Indian/Christmas.rb +2 -2
  363. data/lib/tzinfo/definitions/Indian/Cocos.rb +2 -2
  364. data/lib/tzinfo/definitions/Indian/Comoro.rb +2 -2
  365. data/lib/tzinfo/definitions/Indian/Kerguelen.rb +2 -2
  366. data/lib/tzinfo/definitions/Indian/Mahe.rb +2 -2
  367. data/lib/tzinfo/definitions/Indian/Maldives.rb +3 -3
  368. data/lib/tzinfo/definitions/Indian/Mauritius.rb +2 -2
  369. data/lib/tzinfo/definitions/Indian/Mayotte.rb +2 -2
  370. data/lib/tzinfo/definitions/Indian/Reunion.rb +2 -2
  371. data/lib/tzinfo/definitions/MET.rb +151 -150
  372. data/lib/tzinfo/definitions/Pacific/Apia.rb +4 -4
  373. data/lib/tzinfo/definitions/Pacific/Auckland.rb +173 -172
  374. data/lib/tzinfo/definitions/Pacific/Chatham.rb +145 -144
  375. data/lib/tzinfo/definitions/Pacific/Easter.rb +163 -162
  376. data/lib/tzinfo/definitions/Pacific/Efate.rb +22 -22
  377. data/lib/tzinfo/definitions/Pacific/Enderbury.rb +4 -4
  378. data/lib/tzinfo/definitions/Pacific/Fakaofo.rb +2 -2
  379. data/lib/tzinfo/definitions/Pacific/Fiji.rb +6 -6
  380. data/lib/tzinfo/definitions/Pacific/Funafuti.rb +2 -2
  381. data/lib/tzinfo/definitions/Pacific/Galapagos.rb +3 -3
  382. data/lib/tzinfo/definitions/Pacific/Gambier.rb +2 -2
  383. data/lib/tzinfo/definitions/Pacific/Guadalcanal.rb +2 -2
  384. data/lib/tzinfo/definitions/Pacific/Guam.rb +4 -4
  385. data/lib/tzinfo/definitions/Pacific/Honolulu.rb +6 -6
  386. data/lib/tzinfo/definitions/Pacific/Johnston.rb +1 -1
  387. data/lib/tzinfo/definitions/Pacific/Kiritimati.rb +4 -4
  388. data/lib/tzinfo/definitions/Pacific/Kosrae.rb +4 -4
  389. data/lib/tzinfo/definitions/Pacific/Kwajalein.rb +4 -4
  390. data/lib/tzinfo/definitions/Pacific/Majuro.rb +3 -3
  391. data/lib/tzinfo/definitions/Pacific/Marquesas.rb +2 -2
  392. data/lib/tzinfo/definitions/Pacific/Midway.rb +6 -6
  393. data/lib/tzinfo/definitions/Pacific/Nauru.rb +5 -5
  394. data/lib/tzinfo/definitions/Pacific/Niue.rb +4 -4
  395. data/lib/tzinfo/definitions/Pacific/Norfolk.rb +3 -3
  396. data/lib/tzinfo/definitions/Pacific/Noumea.rb +8 -8
  397. data/lib/tzinfo/definitions/Pacific/Pago_Pago.rb +6 -6
  398. data/lib/tzinfo/definitions/Pacific/Palau.rb +2 -2
  399. data/lib/tzinfo/definitions/Pacific/Pitcairn.rb +3 -3
  400. data/lib/tzinfo/definitions/Pacific/Ponape.rb +2 -2
  401. data/lib/tzinfo/definitions/Pacific/Port_Moresby.rb +3 -3
  402. data/lib/tzinfo/definitions/Pacific/Rarotonga.rb +28 -28
  403. data/lib/tzinfo/definitions/Pacific/Saipan.rb +5 -5
  404. data/lib/tzinfo/definitions/Pacific/Tahiti.rb +2 -2
  405. data/lib/tzinfo/definitions/Pacific/Tarawa.rb +2 -2
  406. data/lib/tzinfo/definitions/Pacific/Tongatapu.rb +10 -10
  407. data/lib/tzinfo/definitions/Pacific/Truk.rb +2 -2
  408. data/lib/tzinfo/definitions/Pacific/Wake.rb +2 -2
  409. data/lib/tzinfo/definitions/Pacific/Wallis.rb +2 -2
  410. data/lib/tzinfo/definitions/WET.rb +139 -138
  411. data/lib/tzinfo/timezone.rb +170 -175
  412. data/lib/tzinfo/timezone_period.rb +175 -0
  413. data/lib/tzinfo/timezone_period_list.rb +225 -0
  414. data/lib/tzinfo/tzdataparser.rb +99 -26
  415. data/test/tc_timezone.rb +231 -1
  416. data/test/tc_timezone_london.rb +13 -6
  417. data/test/tc_timezone_melbourne.rb +13 -6
  418. data/test/tc_timezone_new_york.rb +13 -6
  419. data/test/tc_timezone_period.rb +1 -1
  420. data/test/tc_timezone_period_list.rb +288 -0
  421. metadata +14 -12
  422. data/lib/tzinfo/definitions/Asia/Riyadh87.rb +0 -349
  423. data/lib/tzinfo/definitions/Asia/Riyadh88.rb +0 -350
  424. data/lib/tzinfo/definitions/Asia/Riyadh89.rb +0 -350
  425. data/lib/tzinfo/definitions/Mideast/Riyadh87.rb +0 -11
  426. data/lib/tzinfo/definitions/Mideast/Riyadh88.rb +0 -11
  427. data/lib/tzinfo/definitions/Mideast/Riyadh89.rb +0 -11
data/CHANGES CHANGED
@@ -1,58 +1,94 @@
1
- Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
2
- -------------------------------------------
3
-
4
- * Removed debug output accidently included in the previous release.
5
- * Fixed a bug in the generation of friendly zone identifiers (was inserting
6
- apostrophes into UTC, GMT, etc).
7
- * Fixed Country <=> operator (was comparing non-existant attribute)
8
- * Fixed Timezone.period_for_local error when period not found.
9
- * Added testcases for Timezone, TimezoneProxy, TimezonePeriod, Country and
10
- some selected timezones.
11
-
12
- Version 0.0.3 (tzdata v2005m) - 17-Sep-2005
13
- -------------------------------------------
14
-
15
- * Reduced visibility of some methods added in Timezone#setup and Country#setup.
16
- * Added name method to Timezone (returns the identifier).
17
- * Added friendly_identifier method to Timezone. Returns a more friendly version
18
- of the identifier.
19
- * Added to_s method to Timezone. Returns the friendly identifier.
20
- * Added == and <=> operators to Timezone (compares identifiers).
21
- * Timezone now includes Comparable.
22
- * Added to_s method to Country.
23
- * Added == and <=> operators to Country (compares ISO 3166 country codes).
24
- * Country now includes Comparable.
25
- * New TimezoneProxy class that behaves the same as a Timezone but doesn't
26
- actually load in its definition until it is actually required.
27
- * Modified Timezone and Country methods that return Timezones to return
28
- TimezoneProxy instances instead. This makes these methods much quicker.
29
-
30
- In Ruby on Rails, you can now show a drop-down list of all timezones using the
31
- Rails time_zone_select helper method:
32
-
33
- <%= time_zone_select 'user', 'time_zone', TZInfo::Timezone.all.sort, :model => TZInfo::Timezone %>
34
-
35
-
36
- Version 0.0.2 (tzdata v2005m) - 13-Sep-2005
37
- -------------------------------------------
38
-
39
- * Country and Timezone data is now loaded into class rather than instance
40
- variables. This makes Timezone links more efficient and saves memory if
41
- creating specific Timezone and Country classes directly.
42
- * TimezonePeriod zone_identifier is now defined as a symbol to save memory
43
- (was previously a string).
44
- * TimezonePeriod zone_identifiers that were previously '' are now :Unknown.
45
- * Timezones and Countries can now be returned using Timezone.new(identifier)
46
- and Country.new(identifier). When passed an identifier, the new method
47
- calls get to return an instance of the specified timezone or country.
48
- * Added new class methods to Timezone to return sets of zones and identifiers.
49
-
50
- Thanks to Scott Barron of Lunchbox Software for the suggestions in his
51
- article about using TZInfo with Rails
52
- (http://lunchroom.lunchboxsoftware.com/pages/tzinfo_rails)
53
-
54
-
55
- Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
56
- -------------------------------------------
57
-
58
- * First release.
1
+ Version 0.1.0 (tzdata v2005n) - 27-Nov-2005
2
+ -------------------------------------------
3
+
4
+ * period_for_local and local_to_utc now allow resolution of ambiguous
5
+ times (e.g. when switching from daylight savings to standard time).
6
+ The behaviour of these methods when faced with an ambiguous local time
7
+ has now changed. If you are using these methods you should check
8
+ the documentation. Thanks to Cliff Matthews for suggesting this change.
9
+ * Added require 'date' to timezone.rb (date isn't loaded by default in all
10
+ environments).
11
+ * Use rake to build packages and documentation.
12
+ * License file is now included in gem distribution.
13
+ * Dates in definitions stored as Astronomical Julian Day numbers rather than
14
+ as civil dates (improves performance creating DateTime instances).
15
+ * Added options to TZDataParser to allow generation of specific zones and
16
+ countries.
17
+ * Moved TimezonePeriod class to timezone_period.rb.
18
+ * New TimezonePeriodList class to store TimezonePeriods for a timezone and
19
+ perform searches for periods.
20
+ * Timezones now defined using blocks. TimezonePeriods are only instantiated
21
+ when they are needed. Thanks to Jamis Buck for the suggestion.
22
+ * Add options to TZDataParser to allow exclusion of specific zones and
23
+ countries.
24
+ * Exclude the Riyadh Solar Time zones. The rules are only for 1987 to 1989 and
25
+ take a long time to generate and process. Riyadh Solar Time is no longer
26
+ observed.
27
+ * The last TimezonePeriod for each Timezone is now written out with an
28
+ unbounded rather than arbitrary end time.
29
+ * Construct the Rational offset in TimezonePeriod once when the TimezonePeriod
30
+ is constructed rather than each time it is needed.
31
+ * Timezone and Country now keep a cache of loaded instances to avoid running
32
+ require which can be slow on some platforms.
33
+ * Updated to tzdata version 2005n.
34
+
35
+
36
+ Version 0.0.4 (tzdata v2005m) - 18-Sep-2005
37
+ -------------------------------------------
38
+
39
+ * Removed debug output accidentally included in the previous release.
40
+ * Fixed a bug in the generation of friendly zone identifiers (was inserting
41
+ apostrophes into UTC, GMT, etc).
42
+ * Fixed Country <=> operator (was comparing non-existent attribute)
43
+ * Fixed Timezone.period_for_local error when period not found.
44
+ * Added testcases for Timezone, TimezoneProxy, TimezonePeriod, Country and
45
+ some selected timezones.
46
+
47
+
48
+ Version 0.0.3 (tzdata v2005m) - 17-Sep-2005
49
+ -------------------------------------------
50
+
51
+ * Reduced visibility of some methods added in Timezone#setup and Country#setup.
52
+ * Added name method to Timezone (returns the identifier).
53
+ * Added friendly_identifier method to Timezone. Returns a more friendly version
54
+ of the identifier.
55
+ * Added to_s method to Timezone. Returns the friendly identifier.
56
+ * Added == and <=> operators to Timezone (compares identifiers).
57
+ * Timezone now includes Comparable.
58
+ * Added to_s method to Country.
59
+ * Added == and <=> operators to Country (compares ISO 3166 country codes).
60
+ * Country now includes Comparable.
61
+ * New TimezoneProxy class that behaves the same as a Timezone but doesn't
62
+ actually load in its definition until it is actually required.
63
+ * Modified Timezone and Country methods that return Timezones to return
64
+ TimezoneProxy instances instead. This makes these methods much quicker.
65
+
66
+ In Ruby on Rails, you can now show a drop-down list of all timezones using the
67
+ Rails time_zone_select helper method:
68
+
69
+ <%= time_zone_select 'user', 'time_zone', TZInfo::Timezone.all.sort, :model => TZInfo::Timezone %>
70
+
71
+
72
+ Version 0.0.2 (tzdata v2005m) - 13-Sep-2005
73
+ -------------------------------------------
74
+
75
+ * Country and Timezone data is now loaded into class rather than instance
76
+ variables. This makes Timezone links more efficient and saves memory if
77
+ creating specific Timezone and Country classes directly.
78
+ * TimezonePeriod zone_identifier is now defined as a symbol to save memory
79
+ (was previously a string).
80
+ * TimezonePeriod zone_identifiers that were previously '' are now :Unknown.
81
+ * Timezones and Countries can now be returned using Timezone.new(identifier)
82
+ and Country.new(identifier). When passed an identifier, the new method
83
+ calls get to return an instance of the specified timezone or country.
84
+ * Added new class methods to Timezone to return sets of zones and identifiers.
85
+
86
+ Thanks to Scott Barron of Lunchbox Software for the suggestions in his
87
+ article about using TZInfo with Rails
88
+ (http://lunchroom.lunchboxsoftware.com/pages/tzinfo_rails)
89
+
90
+
91
+ Version 0.0.1 (tzdata v2005m) - 29-Aug-2005
92
+ -------------------------------------------
93
+
94
+ * First release.
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2005 Philip Ross
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
data/README CHANGED
@@ -64,7 +64,7 @@ Documentation can be found at
64
64
 
65
65
  The preferred method of installing TZInfo is through its GEM file (RubyGems[http://docs.rubygems.org/] required):
66
66
 
67
- % gem install tzinfo-0.0.4.gem
67
+ % gem install tzinfo-x.y.z.gem
68
68
 
69
69
  or to automatically download and install:
70
70
 
@@ -0,0 +1,75 @@
1
+ # Available options:
2
+ #
3
+ # rake test - Runs all test cases.
4
+ # rake package - Runs test cases and builds packages for distribution.
5
+ # rake rdoc - Builds API documentation id doc dir.
6
+ # rake build_tz_classes - Builds Timezone and Country classes. Expects to find
7
+ # source data in ../data.
8
+ # rake build_tz_class zone=Zone/Name - Builds single Timezone class. Expects to
9
+ # find source data in ../data.
10
+
11
+ require 'rake'
12
+ require 'rake/testtask'
13
+ require 'rake/rdoctask'
14
+ require 'rake/gempackagetask'
15
+
16
+ PKG_VERSION = "0.1.0"
17
+ PKG_FILES = FileList[
18
+ '[A-z]*',
19
+ 'bin/**/*',
20
+ 'lib/**/*',
21
+ 'test/**/*'
22
+ ]
23
+
24
+ SPEC = Gem::Specification.new do |s|
25
+ s.name = "tzinfo"
26
+ s.version = PKG_VERSION
27
+ s.author = "Philip Ross"
28
+ s.email = "philip@ross.org.uk"
29
+ s.homepage = "http://tzinfo.rubyforge.org/"
30
+ s.platform = Gem::Platform::RUBY
31
+ s.summary = "Daylight-savings aware timezone library"
32
+ s.files = PKG_FILES.delete_if do |item|
33
+ item.include?(".svn")
34
+ end
35
+ s.require_path = "lib"
36
+ s.autorequire = "tzinfo"
37
+ s.has_rdoc = false
38
+ s.extra_rdoc_files = ["README","CHANGES"]
39
+ s.rubyforge_project = "tzinfo"
40
+ end
41
+
42
+ Rake::GemPackageTask.new(SPEC) do |pkg|
43
+ pkg.need_zip = true
44
+ pkg.need_tar_gz = true
45
+ end
46
+
47
+
48
+ Rake::TestTask.new('test') do |t|
49
+ t.libs << 'test'
50
+ t.pattern = 'test/tc_*.rb'
51
+ t.verbose = true
52
+ end
53
+
54
+
55
+ Rake::RDocTask.new do |rdoc|
56
+ rdoc.rdoc_dir = 'doc'
57
+ rdoc.title = "TZInfo"
58
+ rdoc.options << '--inline-source'
59
+ rdoc.rdoc_files.include('README', 'CHANGES')
60
+ rdoc.rdoc_files.include('lib')
61
+ end
62
+
63
+ task :build_tz_classes do
64
+ require 'lib/tzinfo/tzdataparser'
65
+ p = TZInfo::TZDataParser.new('../data', 'lib/tzinfo')
66
+ p.execute
67
+ end
68
+
69
+ task :build_tz_class do
70
+ require 'lib/tzinfo/tzdataparser'
71
+ p = TZInfo::TZDataParser.new('../data', 'lib/tzinfo')
72
+ p.generate_countries = false
73
+ p.only_zones = [ENV['zone']]
74
+ p.execute
75
+ end
@@ -1,22 +1,22 @@
1
1
  #--
2
2
  # Copyright (c) 2005 Philip Ross
3
3
  #
4
- # Permission is hereby granted, free of charge, to any person obtaining a copy of
5
- # this software and associated documentation files (the "Software"), to deal in
6
- # the Software without restriction, including without limitation the rights to
7
- # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
8
- # of the Software, and to permit persons to whom the Software is furnished to do
9
- # so, subject to the following conditions:
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
10
  #
11
- # The above copyright notice and this permission notice shall be included in all
11
+ # The above copyright notice and this permission notice shall be included in all
12
12
  # copies or substantial portions of the Software.
13
- #
14
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
20
  # THE SOFTWARE.
21
21
  #++
22
22
 
@@ -1,3 +1,25 @@
1
+ #--
2
+ # Copyright (c) 2005 Philip Ross
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ # THE SOFTWARE.
21
+ #++
22
+
1
23
  require 'tzinfo/timezone'
2
24
 
3
25
  module TZInfo
@@ -14,16 +36,26 @@ module TZInfo
14
36
  class Country
15
37
  include Comparable
16
38
 
39
+ # Cache of loaded countries by code to avoid using require if a country
40
+ # has already been loaded.
41
+ @@loaded_countries = {}
42
+
17
43
  # Gets a Country by its ISO 3166 code. Raising an exception if it couldn't
18
44
  # be found.
19
45
  def self.get(identifier)
20
- raise InvalidCountryCode.new, 'Invalid identifier' if identifier !~ /^[A-Z]{2}$/
21
- begin
22
- require "tzinfo/countries/#{identifier}"
23
- Countries.const_get(identifier).instance
24
- rescue LoadError, NameError => e
25
- raise InvalidCountryCode, e
46
+ instance = @@loaded_countries[identifier]
47
+ if instance.nil?
48
+ raise InvalidCountryCode.new, 'Invalid identifier' if identifier !~ /^[A-Z]{2}$/
49
+ begin
50
+ require "tzinfo/countries/#{identifier}"
51
+ instance = Countries.const_get(identifier).instance
52
+ @@loaded_countries[instance.code] = instance
53
+ rescue LoadError, NameError => e
54
+ raise InvalidCountryCode, e.message
55
+ end
26
56
  end
57
+
58
+ instance
27
59
  end
28
60
 
29
61
  # If identifier is nil calls super(), else calls get(identifier).
@@ -5,8 +5,8 @@ module Africa #:nodoc:
5
5
  class Abidjan < Timezone #:nodoc:
6
6
  setup
7
7
  set_identifier('Africa/Abidjan')
8
- add_period(TimezonePeriod.new(nil,DateTime.new(1912,1,1,0,16,8),-968,0,:'LMT'))
9
- add_period(TimezonePeriod.new(DateTime.new(1912,1,1,0,16,8),nil,0,0,:'GMT'))
8
+ add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(26129547121,10800),0,Date::ITALY),-968,0,:'LMT')}
9
+ add_period(1912,1) {TimezonePeriod.new(DateTime.new0(Rational.new!(26129547121,10800),0,Date::ITALY),nil,0,0,:'GMT')}
10
10
  end
11
11
  end
12
12
  end
@@ -5,22 +5,22 @@ module Africa #:nodoc:
5
5
  class Accra < Timezone #:nodoc:
6
6
  setup
7
7
  set_identifier('Africa/Accra')
8
- add_period(TimezonePeriod.new(nil,DateTime.new(1918,1,1,0,0,52),-52,0,:'LMT'))
9
- add_period(TimezonePeriod.new(DateTime.new(1918,1,1,0,0,52),DateTime.new(1936,9,1,0,0,0),0,0,:'Unknown'))
10
- add_period(TimezonePeriod.new(DateTime.new(1936,9,1,0,0,0),DateTime.new(1936,12,30,23,40,0),0,1200,:'GHST'))
11
- add_period(TimezonePeriod.new(DateTime.new(1936,12,30,23,40,0),DateTime.new(1937,9,1,0,0,0),0,0,:'GMT'))
12
- add_period(TimezonePeriod.new(DateTime.new(1937,9,1,0,0,0),DateTime.new(1937,12,30,23,40,0),0,1200,:'GHST'))
13
- add_period(TimezonePeriod.new(DateTime.new(1937,12,30,23,40,0),DateTime.new(1938,9,1,0,0,0),0,0,:'GMT'))
14
- add_period(TimezonePeriod.new(DateTime.new(1938,9,1,0,0,0),DateTime.new(1938,12,30,23,40,0),0,1200,:'GHST'))
15
- add_period(TimezonePeriod.new(DateTime.new(1938,12,30,23,40,0),DateTime.new(1939,9,1,0,0,0),0,0,:'GMT'))
16
- add_period(TimezonePeriod.new(DateTime.new(1939,9,1,0,0,0),DateTime.new(1939,12,30,23,40,0),0,1200,:'GHST'))
17
- add_period(TimezonePeriod.new(DateTime.new(1939,12,30,23,40,0),DateTime.new(1940,9,1,0,0,0),0,0,:'GMT'))
18
- add_period(TimezonePeriod.new(DateTime.new(1940,9,1,0,0,0),DateTime.new(1940,12,30,23,40,0),0,1200,:'GHST'))
19
- add_period(TimezonePeriod.new(DateTime.new(1940,12,30,23,40,0),DateTime.new(1941,9,1,0,0,0),0,0,:'GMT'))
20
- add_period(TimezonePeriod.new(DateTime.new(1941,9,1,0,0,0),DateTime.new(1941,12,30,23,40,0),0,1200,:'GHST'))
21
- add_period(TimezonePeriod.new(DateTime.new(1941,12,30,23,40,0),DateTime.new(1942,9,1,0,0,0),0,0,:'GMT'))
22
- add_period(TimezonePeriod.new(DateTime.new(1942,9,1,0,0,0),DateTime.new(1942,12,30,23,40,0),0,1200,:'GHST'))
23
- add_period(TimezonePeriod.new(DateTime.new(1942,12,30,23,40,0),DateTime.new(2045,9,3,22,38,11),0,0,:'GMT'))
8
+ add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(52306441213,21600),0,Date::ITALY),-52,0,:'LMT')}
9
+ add_period(1918,1) {TimezonePeriod.new(DateTime.new0(Rational.new!(52306441213,21600),0,Date::ITALY),DateTime.new0(Rational.new!(4856825,2),0,Date::ITALY),0,0,:'Unknown')}
10
+ add_period(1936,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(4856825,2),0,Date::ITALY),DateTime.new0(Rational.new!(174854411,72),0,Date::ITALY),0,1200,:'GHST')}
11
+ add_period(1936,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(174854411,72),0,Date::ITALY),DateTime.new0(Rational.new!(4857555,2),0,Date::ITALY),0,0,:'GMT')}
12
+ add_period(1937,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(4857555,2),0,Date::ITALY),DateTime.new0(Rational.new!(174880691,72),0,Date::ITALY),0,1200,:'GHST')}
13
+ add_period(1937,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(174880691,72),0,Date::ITALY),DateTime.new0(Rational.new!(4858285,2),0,Date::ITALY),0,0,:'GMT')}
14
+ add_period(1938,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(4858285,2),0,Date::ITALY),DateTime.new0(Rational.new!(174906971,72),0,Date::ITALY),0,1200,:'GHST')}
15
+ add_period(1938,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(174906971,72),0,Date::ITALY),DateTime.new0(Rational.new!(4859015,2),0,Date::ITALY),0,0,:'GMT')}
16
+ add_period(1939,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(4859015,2),0,Date::ITALY),DateTime.new0(Rational.new!(174933251,72),0,Date::ITALY),0,1200,:'GHST')}
17
+ add_period(1939,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(174933251,72),0,Date::ITALY),DateTime.new0(Rational.new!(4859747,2),0,Date::ITALY),0,0,:'GMT')}
18
+ add_period(1940,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(4859747,2),0,Date::ITALY),DateTime.new0(Rational.new!(174959603,72),0,Date::ITALY),0,1200,:'GHST')}
19
+ add_period(1940,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(174959603,72),0,Date::ITALY),DateTime.new0(Rational.new!(4860477,2),0,Date::ITALY),0,0,:'GMT')}
20
+ add_period(1941,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(4860477,2),0,Date::ITALY),DateTime.new0(Rational.new!(174985883,72),0,Date::ITALY),0,1200,:'GHST')}
21
+ add_period(1941,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(174985883,72),0,Date::ITALY),DateTime.new0(Rational.new!(4861207,2),0,Date::ITALY),0,0,:'GMT')}
22
+ add_period(1942,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(4861207,2),0,Date::ITALY),DateTime.new0(Rational.new!(175012163,72),0,Date::ITALY),0,1200,:'GHST')}
23
+ add_period(1942,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(175012163,72),0,Date::ITALY),nil,0,0,:'GMT')}
24
24
  end
25
25
  end
26
26
  end
@@ -5,9 +5,9 @@ module Africa #:nodoc:
5
5
  class Addis_Ababa < Timezone #:nodoc:
6
6
  setup
7
7
  set_identifier('Africa/Addis_Ababa')
8
- add_period(TimezonePeriod.new(nil,DateTime.new(1869,12,31,21,25,12),9288,0,:'LMT'))
9
- add_period(TimezonePeriod.new(DateTime.new(1869,12,31,21,25,12),DateTime.new(1936,5,4,21,24,40),9320,0,:'ADMT'))
10
- add_period(TimezonePeriod.new(DateTime.new(1936,5,4,21,24,40),nil,10800,0,:'EAT'))
8
+ add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(961625357,400),0,Date::ITALY),9288,0,:'LMT')}
9
+ add_period(1869,12) {TimezonePeriod.new(DateTime.new0(Rational.new!(961625357,400),0,Date::ITALY),DateTime.new0(Rational.new!(5245113727,2160),0,Date::ITALY),9320,0,:'ADMT')}
10
+ add_period(1936,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(5245113727,2160),0,Date::ITALY),nil,10800,0,:'EAT')}
11
11
  end
12
12
  end
13
13
  end
@@ -5,41 +5,41 @@ module Africa #:nodoc:
5
5
  class Algiers < Timezone #:nodoc:
6
6
  setup
7
7
  set_identifier('Africa/Algiers')
8
- add_period(TimezonePeriod.new(nil,DateTime.new(1891,3,14,23,48,48),732,0,:'LMT'))
9
- add_period(TimezonePeriod.new(DateTime.new(1891,3,14,23,48,48),DateTime.new(1911,3,10,23,50,39),561,0,:'PMT'))
10
- add_period(TimezonePeriod.new(DateTime.new(1911,3,10,23,50,39),DateTime.new(1916,6,14,23,0,0),0,0,:'WET'))
11
- add_period(TimezonePeriod.new(DateTime.new(1916,6,14,23,0,0),DateTime.new(1916,10,1,23,0,0),0,3600,:'WEST'))
12
- add_period(TimezonePeriod.new(DateTime.new(1916,10,1,23,0,0),DateTime.new(1917,3,24,23,0,0),0,0,:'WET'))
13
- add_period(TimezonePeriod.new(DateTime.new(1917,3,24,23,0,0),DateTime.new(1917,10,7,23,0,0),0,3600,:'WEST'))
14
- add_period(TimezonePeriod.new(DateTime.new(1917,10,7,23,0,0),DateTime.new(1918,3,9,23,0,0),0,0,:'WET'))
15
- add_period(TimezonePeriod.new(DateTime.new(1918,3,9,23,0,0),DateTime.new(1918,10,6,23,0,0),0,3600,:'WEST'))
16
- add_period(TimezonePeriod.new(DateTime.new(1918,10,6,23,0,0),DateTime.new(1919,3,1,23,0,0),0,0,:'WET'))
17
- add_period(TimezonePeriod.new(DateTime.new(1919,3,1,23,0,0),DateTime.new(1919,10,5,23,0,0),0,3600,:'WEST'))
18
- add_period(TimezonePeriod.new(DateTime.new(1919,10,5,23,0,0),DateTime.new(1920,2,14,23,0,0),0,0,:'WET'))
19
- add_period(TimezonePeriod.new(DateTime.new(1920,2,14,23,0,0),DateTime.new(1920,10,23,23,0,0),0,3600,:'WEST'))
20
- add_period(TimezonePeriod.new(DateTime.new(1920,10,23,23,0,0),DateTime.new(1921,3,14,23,0,0),0,0,:'WET'))
21
- add_period(TimezonePeriod.new(DateTime.new(1921,3,14,23,0,0),DateTime.new(1921,6,21,23,0,0),0,3600,:'WEST'))
22
- add_period(TimezonePeriod.new(DateTime.new(1921,6,21,23,0,0),DateTime.new(1939,9,11,23,0,0),0,0,:'WET'))
23
- add_period(TimezonePeriod.new(DateTime.new(1939,9,11,23,0,0),DateTime.new(1939,11,19,0,0,0),0,3600,:'WEST'))
24
- add_period(TimezonePeriod.new(DateTime.new(1939,11,19,0,0,0),DateTime.new(1940,2,25,2,0,0),0,0,:'WET'))
25
- add_period(TimezonePeriod.new(DateTime.new(1940,2,25,2,0,0),DateTime.new(1944,4,3,1,0,0),3600,0,:'CET'))
26
- add_period(TimezonePeriod.new(DateTime.new(1944,4,3,1,0,0),DateTime.new(1944,10,8,0,0,0),3600,3600,:'CEST'))
27
- add_period(TimezonePeriod.new(DateTime.new(1944,10,8,0,0,0),DateTime.new(1945,4,2,1,0,0),3600,0,:'CET'))
28
- add_period(TimezonePeriod.new(DateTime.new(1945,4,2,1,0,0),DateTime.new(1945,9,15,23,0,0),3600,3600,:'CEST'))
29
- add_period(TimezonePeriod.new(DateTime.new(1945,9,15,23,0,0),DateTime.new(1946,10,6,23,0,0),3600,0,:'CET'))
30
- add_period(TimezonePeriod.new(DateTime.new(1946,10,6,23,0,0),DateTime.new(1956,1,29,0,0,0),0,0,:'WET'))
31
- add_period(TimezonePeriod.new(DateTime.new(1956,1,29,0,0,0),DateTime.new(1963,4,13,23,0,0),3600,0,:'CET'))
32
- add_period(TimezonePeriod.new(DateTime.new(1963,4,13,23,0,0),DateTime.new(1971,4,25,23,0,0),0,0,:'WET'))
33
- add_period(TimezonePeriod.new(DateTime.new(1971,4,25,23,0,0),DateTime.new(1971,9,26,23,0,0),0,3600,:'WEST'))
34
- add_period(TimezonePeriod.new(DateTime.new(1971,9,26,23,0,0),DateTime.new(1977,5,6,0,0,0),0,0,:'WET'))
35
- add_period(TimezonePeriod.new(DateTime.new(1977,5,6,0,0,0),DateTime.new(1977,10,20,23,0,0),0,3600,:'WEST'))
36
- add_period(TimezonePeriod.new(DateTime.new(1977,10,20,23,0,0),DateTime.new(1978,3,24,0,0,0),3600,0,:'CET'))
37
- add_period(TimezonePeriod.new(DateTime.new(1978,3,24,0,0,0),DateTime.new(1978,9,22,1,0,0),3600,3600,:'CEST'))
38
- add_period(TimezonePeriod.new(DateTime.new(1978,9,22,1,0,0),DateTime.new(1979,10,25,23,0,0),3600,0,:'CET'))
39
- add_period(TimezonePeriod.new(DateTime.new(1979,10,25,23,0,0),DateTime.new(1980,4,25,0,0,0),0,0,:'WET'))
40
- add_period(TimezonePeriod.new(DateTime.new(1980,4,25,0,0,0),DateTime.new(1980,10,31,1,0,0),0,3600,:'WEST'))
41
- add_period(TimezonePeriod.new(DateTime.new(1980,10,31,1,0,0),DateTime.new(1981,5,1,0,0,0),0,0,:'WET'))
42
- add_period(TimezonePeriod.new(DateTime.new(1981,5,1,0,0,0),nil,3600,0,:'CET'))
8
+ add_unbounded_start_period {TimezonePeriod.new(nil,DateTime.new0(Rational.new!(2170625843,900),0,Date::ITALY),732,0,:'LMT')}
9
+ add_period(1891,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(2170625843,900),0,Date::ITALY),DateTime.new0(Rational.new!(69670267013,28800),0,Date::ITALY),561,0,:'PMT')}
10
+ add_period(1911,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(69670267013,28800),0,Date::ITALY),DateTime.new0(Rational.new!(58104707,24),0,Date::ITALY),0,0,:'WET')}
11
+ add_period(1916,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(58104707,24),0,Date::ITALY),DateTime.new0(Rational.new!(58107323,24),0,Date::ITALY),0,3600,:'WEST')}
12
+ add_period(1916,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58107323,24),0,Date::ITALY),DateTime.new0(Rational.new!(58111499,24),0,Date::ITALY),0,0,:'WET')}
13
+ add_period(1917,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58111499,24),0,Date::ITALY),DateTime.new0(Rational.new!(58116227,24),0,Date::ITALY),0,3600,:'WEST')}
14
+ add_period(1917,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58116227,24),0,Date::ITALY),DateTime.new0(Rational.new!(58119899,24),0,Date::ITALY),0,0,:'WET')}
15
+ add_period(1918,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58119899,24),0,Date::ITALY),DateTime.new0(Rational.new!(58124963,24),0,Date::ITALY),0,3600,:'WEST')}
16
+ add_period(1918,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58124963,24),0,Date::ITALY),DateTime.new0(Rational.new!(58128467,24),0,Date::ITALY),0,0,:'WET')}
17
+ add_period(1919,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58128467,24),0,Date::ITALY),DateTime.new0(Rational.new!(58133699,24),0,Date::ITALY),0,3600,:'WEST')}
18
+ add_period(1919,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58133699,24),0,Date::ITALY),DateTime.new0(Rational.new!(58136867,24),0,Date::ITALY),0,0,:'WET')}
19
+ add_period(1920,2) {TimezonePeriod.new(DateTime.new0(Rational.new!(58136867,24),0,Date::ITALY),DateTime.new0(Rational.new!(58142915,24),0,Date::ITALY),0,3600,:'WEST')}
20
+ add_period(1920,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58142915,24),0,Date::ITALY),DateTime.new0(Rational.new!(58146323,24),0,Date::ITALY),0,0,:'WET')}
21
+ add_period(1921,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(58146323,24),0,Date::ITALY),DateTime.new0(Rational.new!(58148699,24),0,Date::ITALY),0,3600,:'WEST')}
22
+ add_period(1921,6) {TimezonePeriod.new(DateTime.new0(Rational.new!(58148699,24),0,Date::ITALY),DateTime.new0(Rational.new!(58308443,24),0,Date::ITALY),0,0,:'WET')}
23
+ add_period(1939,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58308443,24),0,Date::ITALY),DateTime.new0(Rational.new!(4859173,2),0,Date::ITALY),0,3600,:'WEST')}
24
+ add_period(1939,11) {TimezonePeriod.new(DateTime.new0(Rational.new!(4859173,2),0,Date::ITALY),DateTime.new0(Rational.new!(29156215,12),0,Date::ITALY),0,0,:'WET')}
25
+ add_period(1940,2) {TimezonePeriod.new(DateTime.new0(Rational.new!(29156215,12),0,Date::ITALY),DateTime.new0(Rational.new!(58348405,24),0,Date::ITALY),3600,0,:'CET')}
26
+ add_period(1944,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58348405,24),0,Date::ITALY),DateTime.new0(Rational.new!(4862743,2),0,Date::ITALY),3600,3600,:'CEST')}
27
+ add_period(1944,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(4862743,2),0,Date::ITALY),DateTime.new0(Rational.new!(58357141,24),0,Date::ITALY),3600,0,:'CET')}
28
+ add_period(1945,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58357141,24),0,Date::ITALY),DateTime.new0(Rational.new!(58361147,24),0,Date::ITALY),3600,3600,:'CEST')}
29
+ add_period(1945,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58361147,24),0,Date::ITALY),DateTime.new0(Rational.new!(58370411,24),0,Date::ITALY),3600,0,:'CET')}
30
+ add_period(1946,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58370411,24),0,Date::ITALY),DateTime.new0(Rational.new!(4871003,2),0,Date::ITALY),0,0,:'WET')}
31
+ add_period(1956,1) {TimezonePeriod.new(DateTime.new0(Rational.new!(4871003,2),0,Date::ITALY),DateTime.new0(Rational.new!(58515203,24),0,Date::ITALY),3600,0,:'CET')}
32
+ add_period(1963,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58515203,24),0,Date::ITALY),DateTime.new0(Rational.new!(58585619,24),0,Date::ITALY),0,0,:'WET')}
33
+ add_period(1971,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(58585619,24),0,Date::ITALY),DateTime.new0(Rational.new!(58589315,24),0,Date::ITALY),0,3600,:'WEST')}
34
+ add_period(1971,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58589315,24),0,Date::ITALY),DateTime.new0(Rational.new!(4886539,2),0,Date::ITALY),0,0,:'WET')}
35
+ add_period(1977,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(4886539,2),0,Date::ITALY),DateTime.new0(Rational.new!(58642499,24),0,Date::ITALY),0,3600,:'WEST')}
36
+ add_period(1977,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58642499,24),0,Date::ITALY),DateTime.new0(Rational.new!(4887183,2),0,Date::ITALY),3600,0,:'CET')}
37
+ add_period(1978,3) {TimezonePeriod.new(DateTime.new0(Rational.new!(4887183,2),0,Date::ITALY),DateTime.new0(Rational.new!(58650565,24),0,Date::ITALY),3600,3600,:'CEST')}
38
+ add_period(1978,9) {TimezonePeriod.new(DateTime.new0(Rational.new!(58650565,24),0,Date::ITALY),DateTime.new0(Rational.new!(58660139,24),0,Date::ITALY),3600,0,:'CET')}
39
+ add_period(1979,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58660139,24),0,Date::ITALY),DateTime.new0(Rational.new!(4888709,2),0,Date::ITALY),0,0,:'WET')}
40
+ add_period(1980,4) {TimezonePeriod.new(DateTime.new0(Rational.new!(4888709,2),0,Date::ITALY),DateTime.new0(Rational.new!(58669045,24),0,Date::ITALY),0,3600,:'WEST')}
41
+ add_period(1980,10) {TimezonePeriod.new(DateTime.new0(Rational.new!(58669045,24),0,Date::ITALY),DateTime.new0(Rational.new!(4889451,2),0,Date::ITALY),0,0,:'WET')}
42
+ add_period(1981,5) {TimezonePeriod.new(DateTime.new0(Rational.new!(4889451,2),0,Date::ITALY),nil,3600,0,:'CET')}
43
43
  end
44
44
  end
45
45
  end