activesupport 2.0.5 → 2.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 activesupport might be problematic. Click here for more details.

Files changed (236) hide show
  1. data/CHANGELOG +183 -5
  2. data/lib/active_support.rb +6 -2
  3. data/lib/active_support/base64.rb +5 -0
  4. data/lib/active_support/basic_object.rb +23 -4
  5. data/lib/active_support/buffered_logger.rb +17 -3
  6. data/lib/active_support/cache.rb +145 -0
  7. data/lib/active_support/cache/compressed_mem_cache_store.rb +15 -0
  8. data/lib/active_support/cache/drb_store.rb +15 -0
  9. data/lib/active_support/cache/file_store.rb +70 -0
  10. data/lib/active_support/cache/mem_cache_store.rb +100 -0
  11. data/lib/active_support/cache/memory_store.rb +38 -0
  12. data/lib/active_support/callbacks.rb +275 -0
  13. data/lib/active_support/core_ext/array/access.rb +2 -4
  14. data/lib/active_support/core_ext/array/conversions.rb +89 -5
  15. data/lib/active_support/core_ext/array/extract_options.rb +2 -1
  16. data/lib/active_support/core_ext/array/grouping.rb +3 -8
  17. data/lib/active_support/core_ext/array/random_access.rb +1 -1
  18. data/lib/active_support/core_ext/base64.rb +4 -0
  19. data/lib/active_support/core_ext/base64/encoding.rb +13 -0
  20. data/lib/active_support/core_ext/benchmark.rb +12 -0
  21. data/lib/active_support/core_ext/bigdecimal.rb +4 -0
  22. data/lib/active_support/core_ext/bigdecimal/conversions.rb +39 -4
  23. data/lib/active_support/core_ext/blank.rb +5 -2
  24. data/lib/active_support/core_ext/class/attribute_accessors.rb +7 -1
  25. data/lib/active_support/core_ext/class/delegating_attributes.rb +7 -1
  26. data/lib/active_support/core_ext/class/inheritable_attributes.rb +1 -1
  27. data/lib/active_support/core_ext/class/removal.rb +26 -0
  28. data/lib/active_support/core_ext/date/calculations.rb +28 -1
  29. data/lib/active_support/core_ext/date/conversions.rb +1 -0
  30. data/lib/active_support/core_ext/date_time.rb +2 -0
  31. data/lib/active_support/core_ext/date_time/calculations.rb +37 -2
  32. data/lib/active_support/core_ext/date_time/conversions.rb +27 -14
  33. data/lib/active_support/core_ext/enumerable.rb +16 -9
  34. data/lib/active_support/core_ext/exception.rb +8 -0
  35. data/lib/active_support/core_ext/file.rb +6 -6
  36. data/lib/active_support/core_ext/hash/conversions.rb +26 -8
  37. data/lib/active_support/core_ext/hash/indifferent_access.rb +35 -0
  38. data/lib/active_support/core_ext/hash/reverse_merge.rb +4 -1
  39. data/lib/active_support/core_ext/integer/even_odd.rb +10 -5
  40. data/lib/active_support/core_ext/integer/inflections.rb +0 -1
  41. data/lib/active_support/core_ext/kernel/daemonizing.rb +2 -10
  42. data/lib/active_support/core_ext/kernel/reporting.rb +8 -0
  43. data/lib/active_support/core_ext/module/attr_internal.rb +4 -3
  44. data/lib/active_support/core_ext/module/attribute_accessors.rb +11 -1
  45. data/lib/active_support/core_ext/module/delegation.rb +5 -3
  46. data/lib/active_support/core_ext/module/inclusion.rb +19 -0
  47. data/lib/active_support/core_ext/module/introspection.rb +50 -16
  48. data/lib/active_support/core_ext/module/loading.rb +10 -0
  49. data/lib/active_support/core_ext/numeric.rb +3 -1
  50. data/lib/active_support/core_ext/numeric/conversions.rb +19 -0
  51. data/lib/active_support/core_ext/object/instance_variables.rb +52 -0
  52. data/lib/active_support/core_ext/object/misc.rb +1 -1
  53. data/lib/active_support/core_ext/process.rb +1 -0
  54. data/lib/active_support/core_ext/process/daemon.rb +25 -0
  55. data/lib/active_support/core_ext/range/conversions.rb +5 -1
  56. data/lib/active_support/core_ext/range/include_range.rb +8 -0
  57. data/lib/active_support/core_ext/range/overlaps.rb +3 -0
  58. data/lib/active_support/core_ext/string.rb +5 -10
  59. data/lib/active_support/core_ext/string/access.rb +72 -48
  60. data/lib/active_support/core_ext/string/conversions.rb +4 -4
  61. data/lib/active_support/core_ext/string/filters.rb +26 -0
  62. data/lib/active_support/core_ext/string/inflections.rb +56 -64
  63. data/lib/active_support/core_ext/string/iterators.rb +4 -0
  64. data/lib/active_support/core_ext/string/starts_ends_with.rb +12 -4
  65. data/lib/active_support/core_ext/string/unicode.rb +14 -7
  66. data/lib/active_support/core_ext/symbol.rb +1 -1
  67. data/lib/active_support/core_ext/time.rb +2 -0
  68. data/lib/active_support/core_ext/time/calculations.rb +75 -23
  69. data/lib/active_support/core_ext/time/conversions.rb +22 -35
  70. data/lib/active_support/core_ext/time/zones.rb +86 -0
  71. data/lib/active_support/dependencies.rb +92 -80
  72. data/lib/active_support/deprecation.rb +2 -16
  73. data/lib/active_support/duration.rb +4 -4
  74. data/lib/active_support/gzip.rb +25 -0
  75. data/lib/active_support/inflector.rb +92 -69
  76. data/lib/active_support/json.rb +17 -25
  77. data/lib/active_support/json/decoding.rb +1 -1
  78. data/lib/active_support/json/encoders/date.rb +11 -2
  79. data/lib/active_support/json/encoders/date_time.rb +11 -2
  80. data/lib/active_support/json/encoders/enumerable.rb +2 -2
  81. data/lib/active_support/json/encoders/hash.rb +3 -6
  82. data/lib/active_support/json/encoders/object.rb +1 -1
  83. data/lib/active_support/json/encoders/string.rb +8 -2
  84. data/lib/active_support/json/encoders/time.rb +11 -2
  85. data/lib/active_support/json/encoding.rb +0 -1
  86. data/lib/active_support/multibyte/chars.rb +8 -6
  87. data/lib/active_support/multibyte/handlers/utf8_handler.rb +11 -11
  88. data/lib/active_support/ordered_hash.rb +43 -0
  89. data/lib/active_support/ordered_options.rb +0 -38
  90. data/lib/active_support/test_case.rb +10 -2
  91. data/lib/active_support/testing/default.rb +3 -6
  92. data/lib/active_support/testing/setup_and_teardown.rb +93 -0
  93. data/lib/active_support/time_with_zone.rb +283 -0
  94. data/lib/active_support/values/time_zone.rb +336 -123
  95. data/lib/active_support/vendor.rb +12 -0
  96. data/lib/active_support/vendor/memcache-client-1.5.0/memcache.rb +849 -0
  97. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo.rb +33 -0
  98. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/data_timezone.rb +47 -0
  99. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/data_timezone_info.rb +226 -0
  100. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Africa/Algiers.rb +55 -0
  101. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Africa/Cairo.rb +219 -0
  102. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Africa/Casablanca.rb +38 -0
  103. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Africa/Harare.rb +18 -0
  104. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Africa/Johannesburg.rb +25 -0
  105. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Africa/Monrovia.rb +22 -0
  106. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Africa/Nairobi.rb +23 -0
  107. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +166 -0
  108. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Argentina/San_Juan.rb +170 -0
  109. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Bogota.rb +23 -0
  110. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Caracas.rb +23 -0
  111. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Chicago.rb +283 -0
  112. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Chihuahua.rb +136 -0
  113. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Denver.rb +204 -0
  114. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Godthab.rb +161 -0
  115. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Guatemala.rb +27 -0
  116. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Halifax.rb +274 -0
  117. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Indiana/Indianapolis.rb +149 -0
  118. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Juneau.rb +194 -0
  119. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/La_Paz.rb +22 -0
  120. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Lima.rb +35 -0
  121. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Los_Angeles.rb +232 -0
  122. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Mazatlan.rb +139 -0
  123. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Mexico_City.rb +144 -0
  124. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Monterrey.rb +131 -0
  125. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/New_York.rb +282 -0
  126. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Phoenix.rb +30 -0
  127. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Regina.rb +74 -0
  128. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Santiago.rb +205 -0
  129. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/St_Johns.rb +288 -0
  130. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/America/Tijuana.rb +196 -0
  131. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Almaty.rb +67 -0
  132. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Baghdad.rb +73 -0
  133. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Baku.rb +161 -0
  134. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Bangkok.rb +20 -0
  135. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Chongqing.rb +33 -0
  136. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Dhaka.rb +27 -0
  137. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Hong_Kong.rb +87 -0
  138. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Irkutsk.rb +165 -0
  139. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Jakarta.rb +30 -0
  140. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Jerusalem.rb +163 -0
  141. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Kabul.rb +20 -0
  142. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Kamchatka.rb +163 -0
  143. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Karachi.rb +28 -0
  144. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Katmandu.rb +20 -0
  145. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Kolkata.rb +25 -0
  146. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Krasnoyarsk.rb +163 -0
  147. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Kuala_Lumpur.rb +31 -0
  148. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Kuwait.rb +18 -0
  149. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Magadan.rb +163 -0
  150. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Muscat.rb +18 -0
  151. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Novosibirsk.rb +164 -0
  152. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Rangoon.rb +24 -0
  153. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Riyadh.rb +18 -0
  154. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Seoul.rb +34 -0
  155. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Shanghai.rb +35 -0
  156. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Singapore.rb +33 -0
  157. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Taipei.rb +59 -0
  158. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Tashkent.rb +47 -0
  159. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Tbilisi.rb +78 -0
  160. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Tehran.rb +121 -0
  161. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Tokyo.rb +30 -0
  162. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Ulaanbaatar.rb +65 -0
  163. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Urumqi.rb +33 -0
  164. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Vladivostok.rb +164 -0
  165. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Yakutsk.rb +163 -0
  166. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Yekaterinburg.rb +165 -0
  167. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Asia/Yerevan.rb +165 -0
  168. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Atlantic/Azores.rb +270 -0
  169. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Atlantic/Cape_Verde.rb +23 -0
  170. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Atlantic/South_Georgia.rb +18 -0
  171. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Australia/Adelaide.rb +187 -0
  172. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Australia/Brisbane.rb +35 -0
  173. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Australia/Darwin.rb +29 -0
  174. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Australia/Hobart.rb +193 -0
  175. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Australia/Melbourne.rb +185 -0
  176. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Australia/Perth.rb +37 -0
  177. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Australia/Sydney.rb +185 -0
  178. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Etc/UTC.rb +16 -0
  179. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Amsterdam.rb +228 -0
  180. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Athens.rb +185 -0
  181. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Belgrade.rb +163 -0
  182. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Berlin.rb +188 -0
  183. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Bratislava.rb +13 -0
  184. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Brussels.rb +232 -0
  185. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Bucharest.rb +181 -0
  186. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Budapest.rb +197 -0
  187. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Copenhagen.rb +179 -0
  188. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Dublin.rb +276 -0
  189. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Helsinki.rb +163 -0
  190. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Istanbul.rb +218 -0
  191. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Kiev.rb +168 -0
  192. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Lisbon.rb +268 -0
  193. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Ljubljana.rb +13 -0
  194. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/London.rb +288 -0
  195. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Madrid.rb +211 -0
  196. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Minsk.rb +170 -0
  197. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Moscow.rb +181 -0
  198. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Paris.rb +232 -0
  199. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Prague.rb +187 -0
  200. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Riga.rb +176 -0
  201. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Rome.rb +215 -0
  202. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Sarajevo.rb +13 -0
  203. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Skopje.rb +13 -0
  204. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Sofia.rb +173 -0
  205. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Stockholm.rb +165 -0
  206. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Tallinn.rb +172 -0
  207. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Vienna.rb +183 -0
  208. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Vilnius.rb +170 -0
  209. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Warsaw.rb +212 -0
  210. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Europe/Zagreb.rb +13 -0
  211. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Auckland.rb +202 -0
  212. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Fiji.rb +23 -0
  213. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Guam.rb +22 -0
  214. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Honolulu.rb +28 -0
  215. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Majuro.rb +20 -0
  216. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Midway.rb +25 -0
  217. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Noumea.rb +25 -0
  218. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Pago_Pago.rb +26 -0
  219. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Port_Moresby.rb +20 -0
  220. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/definitions/Pacific/Tongatapu.rb +27 -0
  221. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/info_timezone.rb +52 -0
  222. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/linked_timezone.rb +51 -0
  223. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/linked_timezone_info.rb +44 -0
  224. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/offset_rationals.rb +95 -0
  225. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/time_or_datetime.rb +292 -0
  226. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone.rb +508 -0
  227. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_definition.rb +56 -0
  228. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_info.rb +40 -0
  229. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_offset_info.rb +94 -0
  230. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_period.rb +198 -0
  231. data/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_transition_info.rb +138 -0
  232. data/lib/active_support/version.rb +2 -2
  233. data/lib/active_support/whiny_nil.rb +30 -10
  234. metadata +175 -5
  235. data/lib/active_support/core_ext/rexml.rb +0 -38
  236. data/lib/active_support/testing.rb +0 -1
@@ -0,0 +1,33 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Singapore
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Singapore' do |tz|
10
+ tz.offset :o0, 24925, 0, :LMT
11
+ tz.offset :o1, 24925, 0, :SMT
12
+ tz.offset :o2, 25200, 0, :MALT
13
+ tz.offset :o3, 25200, 1200, :MALST
14
+ tz.offset :o4, 26400, 0, :MALT
15
+ tz.offset :o5, 27000, 0, :MALT
16
+ tz.offset :o6, 32400, 0, :JST
17
+ tz.offset :o7, 27000, 0, :SGT
18
+ tz.offset :o8, 28800, 0, :SGT
19
+
20
+ tz.transition 1900, 12, :o1, 8347571291, 3456
21
+ tz.transition 1905, 5, :o2, 8353142363, 3456
22
+ tz.transition 1932, 12, :o3, 58249757, 24
23
+ tz.transition 1935, 12, :o4, 87414055, 36
24
+ tz.transition 1941, 8, :o5, 87488575, 36
25
+ tz.transition 1942, 2, :o6, 38886499, 16
26
+ tz.transition 1945, 9, :o5, 19453681, 8
27
+ tz.transition 1965, 8, :o7, 39023699, 16
28
+ tz.transition 1981, 12, :o8, 378664200
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,59 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Taipei
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Taipei' do |tz|
10
+ tz.offset :o0, 29160, 0, :LMT
11
+ tz.offset :o1, 28800, 0, :CST
12
+ tz.offset :o2, 28800, 3600, :CDT
13
+
14
+ tz.transition 1895, 12, :o1, 193084733, 80
15
+ tz.transition 1945, 4, :o2, 14589457, 6
16
+ tz.transition 1945, 9, :o1, 19453833, 8
17
+ tz.transition 1946, 4, :o2, 14591647, 6
18
+ tz.transition 1946, 9, :o1, 19456753, 8
19
+ tz.transition 1947, 4, :o2, 14593837, 6
20
+ tz.transition 1947, 9, :o1, 19459673, 8
21
+ tz.transition 1948, 4, :o2, 14596033, 6
22
+ tz.transition 1948, 9, :o1, 19462601, 8
23
+ tz.transition 1949, 4, :o2, 14598223, 6
24
+ tz.transition 1949, 9, :o1, 19465521, 8
25
+ tz.transition 1950, 4, :o2, 14600413, 6
26
+ tz.transition 1950, 9, :o1, 19468441, 8
27
+ tz.transition 1951, 4, :o2, 14602603, 6
28
+ tz.transition 1951, 9, :o1, 19471361, 8
29
+ tz.transition 1952, 2, :o2, 14604433, 6
30
+ tz.transition 1952, 10, :o1, 19474537, 8
31
+ tz.transition 1953, 3, :o2, 14606809, 6
32
+ tz.transition 1953, 10, :o1, 19477457, 8
33
+ tz.transition 1954, 3, :o2, 14608999, 6
34
+ tz.transition 1954, 10, :o1, 19480377, 8
35
+ tz.transition 1955, 3, :o2, 14611189, 6
36
+ tz.transition 1955, 9, :o1, 19483049, 8
37
+ tz.transition 1956, 3, :o2, 14613385, 6
38
+ tz.transition 1956, 9, :o1, 19485977, 8
39
+ tz.transition 1957, 3, :o2, 14615575, 6
40
+ tz.transition 1957, 9, :o1, 19488897, 8
41
+ tz.transition 1958, 3, :o2, 14617765, 6
42
+ tz.transition 1958, 9, :o1, 19491817, 8
43
+ tz.transition 1959, 3, :o2, 14619955, 6
44
+ tz.transition 1959, 9, :o1, 19494737, 8
45
+ tz.transition 1960, 5, :o2, 14622517, 6
46
+ tz.transition 1960, 9, :o1, 19497665, 8
47
+ tz.transition 1961, 5, :o2, 14624707, 6
48
+ tz.transition 1961, 9, :o1, 19500585, 8
49
+ tz.transition 1974, 3, :o2, 133977600
50
+ tz.transition 1974, 9, :o1, 149785200
51
+ tz.transition 1975, 3, :o2, 165513600
52
+ tz.transition 1975, 9, :o1, 181321200
53
+ tz.transition 1980, 6, :o2, 331142400
54
+ tz.transition 1980, 9, :o1, 339087600
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,47 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Tashkent
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Tashkent' do |tz|
10
+ tz.offset :o0, 16632, 0, :LMT
11
+ tz.offset :o1, 18000, 0, :TAST
12
+ tz.offset :o2, 21600, 0, :TAST
13
+ tz.offset :o3, 21600, 3600, :TASST
14
+ tz.offset :o4, 18000, 3600, :TASST
15
+ tz.offset :o5, 18000, 3600, :UZST
16
+ tz.offset :o6, 18000, 0, :UZT
17
+
18
+ tz.transition 1924, 5, :o1, 969562923, 400
19
+ tz.transition 1930, 6, :o2, 58227559, 24
20
+ tz.transition 1981, 3, :o3, 354909600
21
+ tz.transition 1981, 9, :o2, 370717200
22
+ tz.transition 1982, 3, :o3, 386445600
23
+ tz.transition 1982, 9, :o2, 402253200
24
+ tz.transition 1983, 3, :o3, 417981600
25
+ tz.transition 1983, 9, :o2, 433789200
26
+ tz.transition 1984, 3, :o3, 449604000
27
+ tz.transition 1984, 9, :o2, 465336000
28
+ tz.transition 1985, 3, :o3, 481060800
29
+ tz.transition 1985, 9, :o2, 496785600
30
+ tz.transition 1986, 3, :o3, 512510400
31
+ tz.transition 1986, 9, :o2, 528235200
32
+ tz.transition 1987, 3, :o3, 543960000
33
+ tz.transition 1987, 9, :o2, 559684800
34
+ tz.transition 1988, 3, :o3, 575409600
35
+ tz.transition 1988, 9, :o2, 591134400
36
+ tz.transition 1989, 3, :o3, 606859200
37
+ tz.transition 1989, 9, :o2, 622584000
38
+ tz.transition 1990, 3, :o3, 638308800
39
+ tz.transition 1990, 9, :o2, 654638400
40
+ tz.transition 1991, 3, :o4, 670363200
41
+ tz.transition 1991, 8, :o5, 683661600
42
+ tz.transition 1991, 9, :o6, 686091600
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,78 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Tbilisi
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Tbilisi' do |tz|
10
+ tz.offset :o0, 10756, 0, :LMT
11
+ tz.offset :o1, 10756, 0, :TBMT
12
+ tz.offset :o2, 10800, 0, :TBIT
13
+ tz.offset :o3, 14400, 0, :TBIT
14
+ tz.offset :o4, 14400, 3600, :TBIST
15
+ tz.offset :o5, 10800, 3600, :TBIST
16
+ tz.offset :o6, 10800, 3600, :GEST
17
+ tz.offset :o7, 10800, 0, :GET
18
+ tz.offset :o8, 14400, 0, :GET
19
+ tz.offset :o9, 14400, 3600, :GEST
20
+
21
+ tz.transition 1879, 12, :o1, 52006652111, 21600
22
+ tz.transition 1924, 5, :o2, 52356399311, 21600
23
+ tz.transition 1957, 2, :o3, 19487187, 8
24
+ tz.transition 1981, 3, :o4, 354916800
25
+ tz.transition 1981, 9, :o3, 370724400
26
+ tz.transition 1982, 3, :o4, 386452800
27
+ tz.transition 1982, 9, :o3, 402260400
28
+ tz.transition 1983, 3, :o4, 417988800
29
+ tz.transition 1983, 9, :o3, 433796400
30
+ tz.transition 1984, 3, :o4, 449611200
31
+ tz.transition 1984, 9, :o3, 465343200
32
+ tz.transition 1985, 3, :o4, 481068000
33
+ tz.transition 1985, 9, :o3, 496792800
34
+ tz.transition 1986, 3, :o4, 512517600
35
+ tz.transition 1986, 9, :o3, 528242400
36
+ tz.transition 1987, 3, :o4, 543967200
37
+ tz.transition 1987, 9, :o3, 559692000
38
+ tz.transition 1988, 3, :o4, 575416800
39
+ tz.transition 1988, 9, :o3, 591141600
40
+ tz.transition 1989, 3, :o4, 606866400
41
+ tz.transition 1989, 9, :o3, 622591200
42
+ tz.transition 1990, 3, :o4, 638316000
43
+ tz.transition 1990, 9, :o3, 654645600
44
+ tz.transition 1991, 3, :o5, 670370400
45
+ tz.transition 1991, 4, :o6, 671140800
46
+ tz.transition 1991, 9, :o7, 686098800
47
+ tz.transition 1992, 3, :o6, 701816400
48
+ tz.transition 1992, 9, :o7, 717537600
49
+ tz.transition 1993, 3, :o6, 733266000
50
+ tz.transition 1993, 9, :o7, 748987200
51
+ tz.transition 1994, 3, :o6, 764715600
52
+ tz.transition 1994, 9, :o8, 780436800
53
+ tz.transition 1995, 3, :o9, 796161600
54
+ tz.transition 1995, 9, :o8, 811882800
55
+ tz.transition 1996, 3, :o9, 828216000
56
+ tz.transition 1997, 3, :o9, 859662000
57
+ tz.transition 1997, 10, :o8, 877806000
58
+ tz.transition 1998, 3, :o9, 891115200
59
+ tz.transition 1998, 10, :o8, 909255600
60
+ tz.transition 1999, 3, :o9, 922564800
61
+ tz.transition 1999, 10, :o8, 941310000
62
+ tz.transition 2000, 3, :o9, 954014400
63
+ tz.transition 2000, 10, :o8, 972759600
64
+ tz.transition 2001, 3, :o9, 985464000
65
+ tz.transition 2001, 10, :o8, 1004209200
66
+ tz.transition 2002, 3, :o9, 1017518400
67
+ tz.transition 2002, 10, :o8, 1035658800
68
+ tz.transition 2003, 3, :o9, 1048968000
69
+ tz.transition 2003, 10, :o8, 1067108400
70
+ tz.transition 2004, 3, :o9, 1080417600
71
+ tz.transition 2004, 6, :o6, 1088276400
72
+ tz.transition 2004, 10, :o7, 1099177200
73
+ tz.transition 2005, 3, :o8, 1111878000
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,121 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Tehran
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Tehran' do |tz|
10
+ tz.offset :o0, 12344, 0, :LMT
11
+ tz.offset :o1, 12344, 0, :TMT
12
+ tz.offset :o2, 12600, 0, :IRST
13
+ tz.offset :o3, 14400, 0, :IRST
14
+ tz.offset :o4, 14400, 3600, :IRDT
15
+ tz.offset :o5, 12600, 3600, :IRDT
16
+
17
+ tz.transition 1915, 12, :o1, 26145324257, 10800
18
+ tz.transition 1945, 12, :o2, 26263670657, 10800
19
+ tz.transition 1977, 10, :o3, 247177800
20
+ tz.transition 1978, 3, :o4, 259272000
21
+ tz.transition 1978, 10, :o3, 277758000
22
+ tz.transition 1978, 12, :o2, 283982400
23
+ tz.transition 1979, 3, :o5, 290809800
24
+ tz.transition 1979, 9, :o2, 306531000
25
+ tz.transition 1980, 3, :o5, 322432200
26
+ tz.transition 1980, 9, :o2, 338499000
27
+ tz.transition 1991, 5, :o5, 673216200
28
+ tz.transition 1991, 9, :o2, 685481400
29
+ tz.transition 1992, 3, :o5, 701209800
30
+ tz.transition 1992, 9, :o2, 717103800
31
+ tz.transition 1993, 3, :o5, 732745800
32
+ tz.transition 1993, 9, :o2, 748639800
33
+ tz.transition 1994, 3, :o5, 764281800
34
+ tz.transition 1994, 9, :o2, 780175800
35
+ tz.transition 1995, 3, :o5, 795817800
36
+ tz.transition 1995, 9, :o2, 811711800
37
+ tz.transition 1996, 3, :o5, 827353800
38
+ tz.transition 1996, 9, :o2, 843247800
39
+ tz.transition 1997, 3, :o5, 858976200
40
+ tz.transition 1997, 9, :o2, 874870200
41
+ tz.transition 1998, 3, :o5, 890512200
42
+ tz.transition 1998, 9, :o2, 906406200
43
+ tz.transition 1999, 3, :o5, 922048200
44
+ tz.transition 1999, 9, :o2, 937942200
45
+ tz.transition 2000, 3, :o5, 953584200
46
+ tz.transition 2000, 9, :o2, 969478200
47
+ tz.transition 2001, 3, :o5, 985206600
48
+ tz.transition 2001, 9, :o2, 1001100600
49
+ tz.transition 2002, 3, :o5, 1016742600
50
+ tz.transition 2002, 9, :o2, 1032636600
51
+ tz.transition 2003, 3, :o5, 1048278600
52
+ tz.transition 2003, 9, :o2, 1064172600
53
+ tz.transition 2004, 3, :o5, 1079814600
54
+ tz.transition 2004, 9, :o2, 1095708600
55
+ tz.transition 2005, 3, :o5, 1111437000
56
+ tz.transition 2005, 9, :o2, 1127331000
57
+ tz.transition 2008, 3, :o5, 1206045000
58
+ tz.transition 2008, 9, :o2, 1221939000
59
+ tz.transition 2009, 3, :o5, 1237667400
60
+ tz.transition 2009, 9, :o2, 1253561400
61
+ tz.transition 2010, 3, :o5, 1269203400
62
+ tz.transition 2010, 9, :o2, 1285097400
63
+ tz.transition 2011, 3, :o5, 1300739400
64
+ tz.transition 2011, 9, :o2, 1316633400
65
+ tz.transition 2012, 3, :o5, 1332275400
66
+ tz.transition 2012, 9, :o2, 1348169400
67
+ tz.transition 2013, 3, :o5, 1363897800
68
+ tz.transition 2013, 9, :o2, 1379791800
69
+ tz.transition 2014, 3, :o5, 1395433800
70
+ tz.transition 2014, 9, :o2, 1411327800
71
+ tz.transition 2015, 3, :o5, 1426969800
72
+ tz.transition 2015, 9, :o2, 1442863800
73
+ tz.transition 2016, 3, :o5, 1458505800
74
+ tz.transition 2016, 9, :o2, 1474399800
75
+ tz.transition 2017, 3, :o5, 1490128200
76
+ tz.transition 2017, 9, :o2, 1506022200
77
+ tz.transition 2018, 3, :o5, 1521664200
78
+ tz.transition 2018, 9, :o2, 1537558200
79
+ tz.transition 2019, 3, :o5, 1553200200
80
+ tz.transition 2019, 9, :o2, 1569094200
81
+ tz.transition 2020, 3, :o5, 1584736200
82
+ tz.transition 2020, 9, :o2, 1600630200
83
+ tz.transition 2021, 3, :o5, 1616358600
84
+ tz.transition 2021, 9, :o2, 1632252600
85
+ tz.transition 2022, 3, :o5, 1647894600
86
+ tz.transition 2022, 9, :o2, 1663788600
87
+ tz.transition 2023, 3, :o5, 1679430600
88
+ tz.transition 2023, 9, :o2, 1695324600
89
+ tz.transition 2024, 3, :o5, 1710966600
90
+ tz.transition 2024, 9, :o2, 1726860600
91
+ tz.transition 2025, 3, :o5, 1742589000
92
+ tz.transition 2025, 9, :o2, 1758483000
93
+ tz.transition 2026, 3, :o5, 1774125000
94
+ tz.transition 2026, 9, :o2, 1790019000
95
+ tz.transition 2027, 3, :o5, 1805661000
96
+ tz.transition 2027, 9, :o2, 1821555000
97
+ tz.transition 2028, 3, :o5, 1837197000
98
+ tz.transition 2028, 9, :o2, 1853091000
99
+ tz.transition 2029, 3, :o5, 1868733000
100
+ tz.transition 2029, 9, :o2, 1884627000
101
+ tz.transition 2030, 3, :o5, 1900355400
102
+ tz.transition 2030, 9, :o2, 1916249400
103
+ tz.transition 2031, 3, :o5, 1931891400
104
+ tz.transition 2031, 9, :o2, 1947785400
105
+ tz.transition 2032, 3, :o5, 1963427400
106
+ tz.transition 2032, 9, :o2, 1979321400
107
+ tz.transition 2033, 3, :o5, 1994963400
108
+ tz.transition 2033, 9, :o2, 2010857400
109
+ tz.transition 2034, 3, :o5, 2026585800
110
+ tz.transition 2034, 9, :o2, 2042479800
111
+ tz.transition 2035, 3, :o5, 2058121800
112
+ tz.transition 2035, 9, :o2, 2074015800
113
+ tz.transition 2036, 3, :o5, 2089657800
114
+ tz.transition 2036, 9, :o2, 2105551800
115
+ tz.transition 2037, 3, :o5, 2121193800
116
+ tz.transition 2037, 9, :o2, 2137087800
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,30 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Tokyo
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Tokyo' do |tz|
10
+ tz.offset :o0, 33539, 0, :LMT
11
+ tz.offset :o1, 32400, 0, :JST
12
+ tz.offset :o2, 32400, 0, :CJT
13
+ tz.offset :o3, 32400, 3600, :JDT
14
+
15
+ tz.transition 1887, 12, :o1, 19285097, 8
16
+ tz.transition 1895, 12, :o2, 19308473, 8
17
+ tz.transition 1937, 12, :o1, 19431193, 8
18
+ tz.transition 1948, 5, :o3, 58384157, 24
19
+ tz.transition 1948, 9, :o1, 14596831, 6
20
+ tz.transition 1949, 4, :o3, 58392221, 24
21
+ tz.transition 1949, 9, :o1, 14599015, 6
22
+ tz.transition 1950, 5, :o3, 58401797, 24
23
+ tz.transition 1950, 9, :o1, 14601199, 6
24
+ tz.transition 1951, 5, :o3, 58410533, 24
25
+ tz.transition 1951, 9, :o1, 14603383, 6
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,65 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Ulaanbaatar
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Ulaanbaatar' do |tz|
10
+ tz.offset :o0, 25652, 0, :LMT
11
+ tz.offset :o1, 25200, 0, :ULAT
12
+ tz.offset :o2, 28800, 0, :ULAT
13
+ tz.offset :o3, 28800, 3600, :ULAST
14
+
15
+ tz.transition 1905, 7, :o1, 52208457187, 21600
16
+ tz.transition 1977, 12, :o2, 252435600
17
+ tz.transition 1983, 3, :o3, 417974400
18
+ tz.transition 1983, 9, :o2, 433782000
19
+ tz.transition 1984, 3, :o3, 449596800
20
+ tz.transition 1984, 9, :o2, 465318000
21
+ tz.transition 1985, 3, :o3, 481046400
22
+ tz.transition 1985, 9, :o2, 496767600
23
+ tz.transition 1986, 3, :o3, 512496000
24
+ tz.transition 1986, 9, :o2, 528217200
25
+ tz.transition 1987, 3, :o3, 543945600
26
+ tz.transition 1987, 9, :o2, 559666800
27
+ tz.transition 1988, 3, :o3, 575395200
28
+ tz.transition 1988, 9, :o2, 591116400
29
+ tz.transition 1989, 3, :o3, 606844800
30
+ tz.transition 1989, 9, :o2, 622566000
31
+ tz.transition 1990, 3, :o3, 638294400
32
+ tz.transition 1990, 9, :o2, 654620400
33
+ tz.transition 1991, 3, :o3, 670348800
34
+ tz.transition 1991, 9, :o2, 686070000
35
+ tz.transition 1992, 3, :o3, 701798400
36
+ tz.transition 1992, 9, :o2, 717519600
37
+ tz.transition 1993, 3, :o3, 733248000
38
+ tz.transition 1993, 9, :o2, 748969200
39
+ tz.transition 1994, 3, :o3, 764697600
40
+ tz.transition 1994, 9, :o2, 780418800
41
+ tz.transition 1995, 3, :o3, 796147200
42
+ tz.transition 1995, 9, :o2, 811868400
43
+ tz.transition 1996, 3, :o3, 828201600
44
+ tz.transition 1996, 9, :o2, 843922800
45
+ tz.transition 1997, 3, :o3, 859651200
46
+ tz.transition 1997, 9, :o2, 875372400
47
+ tz.transition 1998, 3, :o3, 891100800
48
+ tz.transition 1998, 9, :o2, 906822000
49
+ tz.transition 2001, 4, :o3, 988394400
50
+ tz.transition 2001, 9, :o2, 1001696400
51
+ tz.transition 2002, 3, :o3, 1017424800
52
+ tz.transition 2002, 9, :o2, 1033146000
53
+ tz.transition 2003, 3, :o3, 1048874400
54
+ tz.transition 2003, 9, :o2, 1064595600
55
+ tz.transition 2004, 3, :o3, 1080324000
56
+ tz.transition 2004, 9, :o2, 1096045200
57
+ tz.transition 2005, 3, :o3, 1111773600
58
+ tz.transition 2005, 9, :o2, 1127494800
59
+ tz.transition 2006, 3, :o3, 1143223200
60
+ tz.transition 2006, 9, :o2, 1159549200
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,33 @@
1
+ require 'tzinfo/timezone_definition'
2
+
3
+ module TZInfo
4
+ module Definitions
5
+ module Asia
6
+ module Urumqi
7
+ include TimezoneDefinition
8
+
9
+ timezone 'Asia/Urumqi' do |tz|
10
+ tz.offset :o0, 21020, 0, :LMT
11
+ tz.offset :o1, 21600, 0, :URUT
12
+ tz.offset :o2, 28800, 0, :CST
13
+ tz.offset :o3, 28800, 3600, :CDT
14
+
15
+ tz.transition 1927, 12, :o1, 10477063829, 4320
16
+ tz.transition 1980, 4, :o2, 325965600
17
+ tz.transition 1986, 5, :o3, 515520000
18
+ tz.transition 1986, 9, :o2, 527007600
19
+ tz.transition 1987, 4, :o3, 545155200
20
+ tz.transition 1987, 9, :o2, 558457200
21
+ tz.transition 1988, 4, :o3, 576604800
22
+ tz.transition 1988, 9, :o2, 589906800
23
+ tz.transition 1989, 4, :o3, 608659200
24
+ tz.transition 1989, 9, :o2, 621961200
25
+ tz.transition 1990, 4, :o3, 640108800
26
+ tz.transition 1990, 9, :o2, 653410800
27
+ tz.transition 1991, 4, :o3, 671558400
28
+ tz.transition 1991, 9, :o2, 684860400
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end