mack-active_record 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. data/lib/mack-active_record/test_extensions.rb +0 -3
  2. metadata +3 -374
  3. data/lib/gems/activesupport-2.2.2/lib/active_support/base64.rb +0 -33
  4. data/lib/gems/activesupport-2.2.2/lib/active_support/basic_object.rb +0 -24
  5. data/lib/gems/activesupport-2.2.2/lib/active_support/buffered_logger.rb +0 -122
  6. data/lib/gems/activesupport-2.2.2/lib/active_support/cache/compressed_mem_cache_store.rb +0 -20
  7. data/lib/gems/activesupport-2.2.2/lib/active_support/cache/drb_store.rb +0 -15
  8. data/lib/gems/activesupport-2.2.2/lib/active_support/cache/file_store.rb +0 -72
  9. data/lib/gems/activesupport-2.2.2/lib/active_support/cache/mem_cache_store.rb +0 -127
  10. data/lib/gems/activesupport-2.2.2/lib/active_support/cache/memory_store.rb +0 -52
  11. data/lib/gems/activesupport-2.2.2/lib/active_support/cache/synchronized_memory_store.rb +0 -47
  12. data/lib/gems/activesupport-2.2.2/lib/active_support/cache.rb +0 -223
  13. data/lib/gems/activesupport-2.2.2/lib/active_support/callbacks.rb +0 -280
  14. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/array/access.rb +0 -53
  15. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/array/conversions.rb +0 -183
  16. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/array/extract_options.rb +0 -20
  17. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/array/grouping.rb +0 -106
  18. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/array/random_access.rb +0 -12
  19. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/array.rb +0 -13
  20. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/base64/encoding.rb +0 -16
  21. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/base64.rb +0 -4
  22. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/benchmark.rb +0 -12
  23. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/bigdecimal/conversions.rb +0 -37
  24. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/bigdecimal.rb +0 -6
  25. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/blank.rb +0 -58
  26. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +0 -14
  27. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/cgi.rb +0 -5
  28. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/class/attribute_accessors.rb +0 -54
  29. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/class/delegating_attributes.rb +0 -46
  30. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/class/inheritable_attributes.rb +0 -140
  31. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/class/removal.rb +0 -50
  32. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/class.rb +0 -4
  33. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/date/behavior.rb +0 -42
  34. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/date/calculations.rb +0 -230
  35. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/date/conversions.rb +0 -107
  36. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/date.rb +0 -10
  37. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/date_time/calculations.rb +0 -126
  38. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/date_time/conversions.rb +0 -96
  39. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/date_time.rb +0 -12
  40. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/duplicable.rb +0 -43
  41. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/enumerable.rb +0 -107
  42. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/exception.rb +0 -41
  43. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/file/atomic.rb +0 -46
  44. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/file.rb +0 -5
  45. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/float/rounding.rb +0 -24
  46. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/float/time.rb +0 -27
  47. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/float.rb +0 -7
  48. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/conversions.rb +0 -259
  49. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/deep_merge.rb +0 -23
  50. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/diff.rb +0 -19
  51. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/except.rb +0 -25
  52. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/indifferent_access.rb +0 -137
  53. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/keys.rb +0 -52
  54. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/reverse_merge.rb +0 -35
  55. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash/slice.rb +0 -33
  56. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/hash.rb +0 -14
  57. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/integer/even_odd.rb +0 -29
  58. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/integer/inflections.rb +0 -20
  59. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/integer/time.rb +0 -45
  60. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/integer.rb +0 -9
  61. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/kernel/agnostics.rb +0 -11
  62. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/kernel/daemonizing.rb +0 -7
  63. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/kernel/debugger.rb +0 -13
  64. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/kernel/reporting.rb +0 -59
  65. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/kernel/requires.rb +0 -24
  66. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/kernel.rb +0 -5
  67. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/load_error.rb +0 -38
  68. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/logger.rb +0 -143
  69. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/aliasing.rb +0 -74
  70. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/attr_accessor_with_default.rb +0 -31
  71. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/attr_internal.rb +0 -32
  72. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/attribute_accessors.rb +0 -58
  73. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/delegation.rb +0 -95
  74. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/inclusion.rb +0 -30
  75. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/introspection.rb +0 -90
  76. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/loading.rb +0 -23
  77. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/model_naming.rb +0 -23
  78. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module/synchronization.rb +0 -39
  79. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/module.rb +0 -23
  80. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/name_error.rb +0 -17
  81. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/numeric/bytes.rb +0 -44
  82. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/numeric/conversions.rb +0 -19
  83. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/numeric/time.rb +0 -81
  84. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/numeric.rb +0 -9
  85. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/object/conversions.rb +0 -14
  86. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/object/extending.rb +0 -80
  87. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/object/instance_variables.rb +0 -74
  88. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/object/metaclass.rb +0 -13
  89. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/object/misc.rb +0 -74
  90. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/object.rb +0 -5
  91. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/pathname/clean_within.rb +0 -14
  92. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/pathname.rb +0 -7
  93. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/proc.rb +0 -12
  94. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/process/daemon.rb +0 -25
  95. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/process.rb +0 -1
  96. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/range/blockless_step.rb +0 -32
  97. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/range/conversions.rb +0 -27
  98. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/range/include_range.rb +0 -30
  99. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/range/overlaps.rb +0 -15
  100. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/range.rb +0 -11
  101. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/rexml.rb +0 -36
  102. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/access.rb +0 -82
  103. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/behavior.rb +0 -13
  104. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/conversions.rb +0 -28
  105. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/filters.rb +0 -26
  106. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/inflections.rb +0 -167
  107. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/iterators.rb +0 -21
  108. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/multibyte.rb +0 -81
  109. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/starts_ends_with.rb +0 -35
  110. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string/xchar.rb +0 -11
  111. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/string.rb +0 -22
  112. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/symbol.rb +0 -14
  113. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/time/behavior.rb +0 -13
  114. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/time/calculations.rb +0 -303
  115. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/time/conversions.rb +0 -90
  116. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/time/zones.rb +0 -86
  117. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext/time.rb +0 -42
  118. data/lib/gems/activesupport-2.2.2/lib/active_support/core_ext.rb +0 -4
  119. data/lib/gems/activesupport-2.2.2/lib/active_support/dependencies.rb +0 -621
  120. data/lib/gems/activesupport-2.2.2/lib/active_support/deprecation.rb +0 -243
  121. data/lib/gems/activesupport-2.2.2/lib/active_support/duration.rb +0 -96
  122. data/lib/gems/activesupport-2.2.2/lib/active_support/gzip.rb +0 -25
  123. data/lib/gems/activesupport-2.2.2/lib/active_support/inflections.rb +0 -55
  124. data/lib/gems/activesupport-2.2.2/lib/active_support/inflector.rb +0 -397
  125. data/lib/gems/activesupport-2.2.2/lib/active_support/json/decoding.rb +0 -63
  126. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/date.rb +0 -21
  127. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/date_time.rb +0 -21
  128. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/enumerable.rb +0 -12
  129. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/false_class.rb +0 -5
  130. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/hash.rb +0 -47
  131. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/nil_class.rb +0 -5
  132. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/numeric.rb +0 -5
  133. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/object.rb +0 -6
  134. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/regexp.rb +0 -5
  135. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/string.rb +0 -36
  136. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/symbol.rb +0 -5
  137. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/time.rb +0 -21
  138. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoders/true_class.rb +0 -5
  139. data/lib/gems/activesupport-2.2.2/lib/active_support/json/encoding.rb +0 -37
  140. data/lib/gems/activesupport-2.2.2/lib/active_support/json/variable.rb +0 -10
  141. data/lib/gems/activesupport-2.2.2/lib/active_support/json.rb +0 -23
  142. data/lib/gems/activesupport-2.2.2/lib/active_support/locale/en.yml +0 -32
  143. data/lib/gems/activesupport-2.2.2/lib/active_support/memoizable.rb +0 -82
  144. data/lib/gems/activesupport-2.2.2/lib/active_support/multibyte/chars.rb +0 -679
  145. data/lib/gems/activesupport-2.2.2/lib/active_support/multibyte/exceptions.rb +0 -8
  146. data/lib/gems/activesupport-2.2.2/lib/active_support/multibyte/unicode_database.rb +0 -71
  147. data/lib/gems/activesupport-2.2.2/lib/active_support/multibyte.rb +0 -33
  148. data/lib/gems/activesupport-2.2.2/lib/active_support/option_merger.rb +0 -17
  149. data/lib/gems/activesupport-2.2.2/lib/active_support/ordered_hash.rb +0 -58
  150. data/lib/gems/activesupport-2.2.2/lib/active_support/ordered_options.rb +0 -19
  151. data/lib/gems/activesupport-2.2.2/lib/active_support/rescuable.rb +0 -108
  152. data/lib/gems/activesupport-2.2.2/lib/active_support/secure_random.rb +0 -197
  153. data/lib/gems/activesupport-2.2.2/lib/active_support/string_inquirer.rb +0 -21
  154. data/lib/gems/activesupport-2.2.2/lib/active_support/test_case.rb +0 -24
  155. data/lib/gems/activesupport-2.2.2/lib/active_support/testing/core_ext/test/unit/assertions.rb +0 -72
  156. data/lib/gems/activesupport-2.2.2/lib/active_support/testing/core_ext/test.rb +0 -6
  157. data/lib/gems/activesupport-2.2.2/lib/active_support/testing/default.rb +0 -9
  158. data/lib/gems/activesupport-2.2.2/lib/active_support/testing/performance.rb +0 -452
  159. data/lib/gems/activesupport-2.2.2/lib/active_support/testing/setup_and_teardown.rb +0 -120
  160. data/lib/gems/activesupport-2.2.2/lib/active_support/time_with_zone.rb +0 -328
  161. data/lib/gems/activesupport-2.2.2/lib/active_support/values/time_zone.rb +0 -403
  162. data/lib/gems/activesupport-2.2.2/lib/active_support/values/unicode_tables.dat +0 -0
  163. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/blankslate.rb +0 -113
  164. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb +0 -20
  165. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/builder/css.rb +0 -250
  166. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb +0 -115
  167. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb +0 -139
  168. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb +0 -63
  169. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb +0 -328
  170. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/builder-2.1.2/builder.rb +0 -13
  171. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/i18n-0.0.1/i18n/backend/simple.rb +0 -216
  172. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/i18n-0.0.1/i18n/exceptions.rb +0 -53
  173. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/i18n-0.0.1/i18n.rb +0 -194
  174. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/memcache-client-1.5.1/memcache.rb +0 -849
  175. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb +0 -47
  176. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb +0 -228
  177. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb +0 -55
  178. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb +0 -219
  179. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb +0 -40
  180. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb +0 -18
  181. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb +0 -25
  182. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb +0 -22
  183. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb +0 -23
  184. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +0 -166
  185. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb +0 -86
  186. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb +0 -23
  187. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb +0 -23
  188. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb +0 -283
  189. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb +0 -136
  190. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb +0 -204
  191. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb +0 -161
  192. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb +0 -27
  193. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb +0 -274
  194. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb +0 -149
  195. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb +0 -194
  196. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb +0 -22
  197. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb +0 -35
  198. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb +0 -232
  199. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb +0 -139
  200. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb +0 -144
  201. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb +0 -131
  202. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb +0 -282
  203. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb +0 -30
  204. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb +0 -74
  205. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb +0 -205
  206. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb +0 -171
  207. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb +0 -288
  208. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb +0 -196
  209. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb +0 -67
  210. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb +0 -73
  211. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb +0 -161
  212. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb +0 -20
  213. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb +0 -33
  214. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb +0 -30
  215. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb +0 -27
  216. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb +0 -87
  217. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb +0 -165
  218. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb +0 -30
  219. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb +0 -163
  220. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb +0 -20
  221. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb +0 -163
  222. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb +0 -30
  223. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb +0 -20
  224. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb +0 -25
  225. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb +0 -163
  226. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb +0 -31
  227. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb +0 -18
  228. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb +0 -163
  229. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb +0 -18
  230. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb +0 -164
  231. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb +0 -24
  232. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb +0 -18
  233. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb +0 -34
  234. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb +0 -35
  235. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb +0 -33
  236. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb +0 -59
  237. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb +0 -47
  238. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb +0 -78
  239. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb +0 -121
  240. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb +0 -30
  241. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb +0 -65
  242. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb +0 -33
  243. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb +0 -164
  244. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb +0 -163
  245. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb +0 -165
  246. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb +0 -165
  247. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb +0 -270
  248. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb +0 -23
  249. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb +0 -18
  250. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb +0 -187
  251. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb +0 -35
  252. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb +0 -29
  253. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb +0 -193
  254. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb +0 -185
  255. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb +0 -37
  256. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb +0 -185
  257. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb +0 -16
  258. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb +0 -228
  259. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb +0 -185
  260. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb +0 -163
  261. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb +0 -188
  262. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb +0 -13
  263. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb +0 -232
  264. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb +0 -181
  265. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb +0 -197
  266. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb +0 -179
  267. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb +0 -276
  268. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb +0 -163
  269. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb +0 -218
  270. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb +0 -168
  271. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb +0 -268
  272. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb +0 -13
  273. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb +0 -288
  274. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb +0 -211
  275. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb +0 -170
  276. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb +0 -181
  277. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb +0 -232
  278. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb +0 -187
  279. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb +0 -176
  280. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb +0 -215
  281. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb +0 -13
  282. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb +0 -13
  283. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb +0 -173
  284. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb +0 -165
  285. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb +0 -172
  286. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb +0 -183
  287. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb +0 -170
  288. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb +0 -212
  289. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb +0 -13
  290. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb +0 -202
  291. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb +0 -23
  292. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb +0 -22
  293. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb +0 -28
  294. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb +0 -20
  295. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb +0 -25
  296. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb +0 -25
  297. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb +0 -26
  298. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb +0 -20
  299. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb +0 -27
  300. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb +0 -52
  301. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb +0 -51
  302. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb +0 -44
  303. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb +0 -98
  304. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb +0 -56
  305. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb +0 -292
  306. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb +0 -508
  307. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb +0 -56
  308. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb +0 -40
  309. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb +0 -94
  310. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb +0 -198
  311. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb +0 -129
  312. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb +0 -33
  313. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb +0 -1021
  314. data/lib/gems/activesupport-2.2.2/lib/active_support/vendor.rb +0 -34
  315. data/lib/gems/activesupport-2.2.2/lib/active_support/version.rb +0 -9
  316. data/lib/gems/activesupport-2.2.2/lib/active_support/whiny_nil.rb +0 -58
  317. data/lib/gems/activesupport-2.2.2/lib/active_support.rb +0 -61
  318. data/lib/gems/activesupport-2.2.2/lib/activesupport.rb +0 -1
@@ -1,621 +0,0 @@
1
- module ActiveSupport #:nodoc:
2
- module Dependencies #:nodoc:
3
- extend self
4
-
5
- # Should we turn on Ruby warnings on the first load of dependent files?
6
- mattr_accessor :warnings_on_first_load
7
- self.warnings_on_first_load = false
8
-
9
- # All files ever loaded.
10
- mattr_accessor :history
11
- self.history = Set.new
12
-
13
- # All files currently loaded.
14
- mattr_accessor :loaded
15
- self.loaded = Set.new
16
-
17
- # Should we load files or require them?
18
- mattr_accessor :mechanism
19
- self.mechanism = :load
20
-
21
- # The set of directories from which we may automatically load files. Files
22
- # under these directories will be reloaded on each request in development mode,
23
- # unless the directory also appears in load_once_paths.
24
- mattr_accessor :load_paths
25
- self.load_paths = []
26
-
27
- # The set of directories from which automatically loaded constants are loaded
28
- # only once. All directories in this set must also be present in +load_paths+.
29
- mattr_accessor :load_once_paths
30
- self.load_once_paths = []
31
-
32
- # An array of qualified constant names that have been loaded. Adding a name to
33
- # this array will cause it to be unloaded the next time Dependencies are cleared.
34
- mattr_accessor :autoloaded_constants
35
- self.autoloaded_constants = []
36
-
37
- # An array of constant names that need to be unloaded on every request. Used
38
- # to allow arbitrary constants to be marked for unloading.
39
- mattr_accessor :explicitly_unloadable_constants
40
- self.explicitly_unloadable_constants = []
41
-
42
- # The logger is used for generating information on the action run-time (including benchmarking) if available.
43
- # Can be set to nil for no logging. Compatible with both Ruby's own Logger and Log4r loggers.
44
- mattr_accessor :logger
45
-
46
- # Set to true to enable logging of const_missing and file loads
47
- mattr_accessor :log_activity
48
- self.log_activity = false
49
-
50
- # An internal stack used to record which constants are loaded by any block.
51
- mattr_accessor :constant_watch_stack
52
- self.constant_watch_stack = []
53
-
54
- # Module includes this module
55
- module ModuleConstMissing #:nodoc:
56
- def self.included(base) #:nodoc:
57
- base.class_eval do
58
- unless defined? const_missing_without_dependencies
59
- alias_method_chain :const_missing, :dependencies
60
- end
61
- end
62
- end
63
-
64
- def self.excluded(base) #:nodoc:
65
- base.class_eval do
66
- if defined? const_missing_without_dependencies
67
- undef_method :const_missing
68
- alias_method :const_missing, :const_missing_without_dependencies
69
- undef_method :const_missing_without_dependencies
70
- end
71
- end
72
- end
73
-
74
- # Use const_missing to autoload associations so we don't have to
75
- # require_association when using single-table inheritance.
76
- def const_missing_with_dependencies(class_id)
77
- ActiveSupport::Dependencies.load_missing_constant self, class_id
78
- end
79
-
80
- def unloadable(const_desc = self)
81
- super(const_desc)
82
- end
83
- end
84
-
85
- # Class includes this module
86
- module ClassConstMissing #:nodoc:
87
- def const_missing(const_name)
88
- if [Object, Kernel].include?(self) || parent == self
89
- super
90
- else
91
- begin
92
- begin
93
- Dependencies.load_missing_constant self, const_name
94
- rescue NameError
95
- parent.send :const_missing, const_name
96
- end
97
- rescue NameError => e
98
- # Make sure that the name we are missing is the one that caused the error
99
- parent_qualified_name = Dependencies.qualified_name_for parent, const_name
100
- raise unless e.missing_name? parent_qualified_name
101
- qualified_name = Dependencies.qualified_name_for self, const_name
102
- raise NameError.new("uninitialized constant #{qualified_name}").copy_blame!(e)
103
- end
104
- end
105
- end
106
- end
107
-
108
- # Object includes this module
109
- module Loadable #:nodoc:
110
- def self.included(base) #:nodoc:
111
- base.class_eval do
112
- unless defined? load_without_new_constant_marking
113
- alias_method_chain :load, :new_constant_marking
114
- end
115
- end
116
- end
117
-
118
- def self.excluded(base) #:nodoc:
119
- base.class_eval do
120
- if defined? load_without_new_constant_marking
121
- undef_method :load
122
- alias_method :load, :load_without_new_constant_marking
123
- undef_method :load_without_new_constant_marking
124
- end
125
- end
126
- end
127
-
128
- def require_or_load(file_name)
129
- Dependencies.require_or_load(file_name)
130
- end
131
-
132
- def require_dependency(file_name)
133
- Dependencies.depend_on(file_name)
134
- end
135
-
136
- def require_association(file_name)
137
- Dependencies.associate_with(file_name)
138
- end
139
-
140
- def load_with_new_constant_marking(file, *extras) #:nodoc:
141
- if Dependencies.load?
142
- Dependencies.new_constants_in(Object) { load_without_new_constant_marking(file, *extras) }
143
- else
144
- load_without_new_constant_marking(file, *extras)
145
- end
146
- rescue Exception => exception # errors from loading file
147
- exception.blame_file! file
148
- raise
149
- end
150
-
151
- def require(file, *extras) #:nodoc:
152
- if Dependencies.load?
153
- Dependencies.new_constants_in(Object) { super }
154
- else
155
- super
156
- end
157
- rescue Exception => exception # errors from required file
158
- exception.blame_file! file
159
- raise
160
- end
161
-
162
- # Mark the given constant as unloadable. Unloadable constants are removed each
163
- # time dependencies are cleared.
164
- #
165
- # Note that marking a constant for unloading need only be done once. Setup
166
- # or init scripts may list each unloadable constant that may need unloading;
167
- # each constant will be removed for every subsequent clear, as opposed to for
168
- # the first clear.
169
- #
170
- # The provided constant descriptor may be a (non-anonymous) module or class,
171
- # or a qualified constant name as a string or symbol.
172
- #
173
- # Returns true if the constant was not previously marked for unloading, false
174
- # otherwise.
175
- def unloadable(const_desc)
176
- Dependencies.mark_for_unload const_desc
177
- end
178
- end
179
-
180
- # Exception file-blaming
181
- module Blamable #:nodoc:
182
- def blame_file!(file)
183
- (@blamed_files ||= []).unshift file
184
- end
185
-
186
- def blamed_files
187
- @blamed_files ||= []
188
- end
189
-
190
- def describe_blame
191
- return nil if blamed_files.empty?
192
- "This error occurred while loading the following files:\n #{blamed_files.join "\n "}"
193
- end
194
-
195
- def copy_blame!(exc)
196
- @blamed_files = exc.blamed_files.clone
197
- self
198
- end
199
- end
200
-
201
- def hook!
202
- Object.instance_eval { include Loadable }
203
- Module.instance_eval { include ModuleConstMissing }
204
- Class.instance_eval { include ClassConstMissing }
205
- Exception.instance_eval { include Blamable }
206
- true
207
- end
208
-
209
- def unhook!
210
- ModuleConstMissing.excluded(Module)
211
- Loadable.excluded(Object)
212
- true
213
- end
214
-
215
- def load?
216
- mechanism == :load
217
- end
218
-
219
- def depend_on(file_name, swallow_load_errors = false)
220
- path = search_for_file(file_name)
221
- require_or_load(path || file_name)
222
- rescue LoadError
223
- raise unless swallow_load_errors
224
- end
225
-
226
- def associate_with(file_name)
227
- depend_on(file_name, true)
228
- end
229
-
230
- def clear
231
- log_call
232
- loaded.clear
233
- remove_unloadable_constants!
234
- end
235
-
236
- def require_or_load(file_name, const_path = nil)
237
- log_call file_name, const_path
238
- file_name = $1 if file_name =~ /^(.*)\.rb$/
239
- expanded = File.expand_path(file_name)
240
- return if loaded.include?(expanded)
241
-
242
- # Record that we've seen this file *before* loading it to avoid an
243
- # infinite loop with mutual dependencies.
244
- loaded << expanded
245
-
246
- begin
247
- if load?
248
- log "loading #{file_name}"
249
-
250
- # Enable warnings iff this file has not been loaded before and
251
- # warnings_on_first_load is set.
252
- load_args = ["#{file_name}.rb"]
253
- load_args << const_path unless const_path.nil?
254
-
255
- if !warnings_on_first_load or history.include?(expanded)
256
- result = load_file(*load_args)
257
- else
258
- enable_warnings { result = load_file(*load_args) }
259
- end
260
- else
261
- log "requiring #{file_name}"
262
- result = require file_name
263
- end
264
- rescue Exception
265
- loaded.delete expanded
266
- raise
267
- end
268
-
269
- # Record history *after* loading so first load gets warnings.
270
- history << expanded
271
- return result
272
- end
273
-
274
- # Is the provided constant path defined?
275
- def qualified_const_defined?(path)
276
- raise NameError, "#{path.inspect} is not a valid constant name!" unless
277
- /^(::)?([A-Z]\w*)(::[A-Z]\w*)*$/ =~ path
278
-
279
- names = path.to_s.split('::')
280
- names.shift if names.first.empty?
281
-
282
- # We can't use defined? because it will invoke const_missing for the parent
283
- # of the name we are checking.
284
- names.inject(Object) do |mod, name|
285
- return false unless uninherited_const_defined?(mod, name)
286
- mod.const_get name
287
- end
288
- return true
289
- end
290
-
291
- if Module.method(:const_defined?).arity == 1
292
- # Does this module define this constant?
293
- # Wrapper to accomodate changing Module#const_defined? in Ruby 1.9
294
- def uninherited_const_defined?(mod, const)
295
- mod.const_defined?(const)
296
- end
297
- else
298
- def uninherited_const_defined?(mod, const) #:nodoc:
299
- mod.const_defined?(const, false)
300
- end
301
- end
302
-
303
- # Given +path+, a filesystem path to a ruby file, return an array of constant
304
- # paths which would cause Dependencies to attempt to load this file.
305
- def loadable_constants_for_path(path, bases = load_paths)
306
- path = $1 if path =~ /\A(.*)\.rb\Z/
307
- expanded_path = File.expand_path(path)
308
-
309
- bases.collect do |root|
310
- expanded_root = File.expand_path(root)
311
- next unless %r{\A#{Regexp.escape(expanded_root)}(/|\\)} =~ expanded_path
312
-
313
- nesting = expanded_path[(expanded_root.size)..-1]
314
- nesting = nesting[1..-1] if nesting && nesting[0] == ?/
315
- next if nesting.blank?
316
- nesting_camel = nesting.camelize
317
- begin
318
- qualified_const_defined?(nesting_camel)
319
- rescue NameError
320
- next
321
- end
322
-
323
- [
324
- nesting.camelize,
325
- # Special case: application.rb might define ApplicationControlller.
326
- ('ApplicationController' if nesting == 'application')
327
- ]
328
- end.flatten.compact.uniq
329
- end
330
-
331
- # Search for a file in load_paths matching the provided suffix.
332
- def search_for_file(path_suffix)
333
- path_suffix = path_suffix + '.rb' unless path_suffix.ends_with? '.rb'
334
- load_paths.each do |root|
335
- path = File.join(root, path_suffix)
336
- return path if File.file? path
337
- end
338
- nil # Gee, I sure wish we had first_match ;-)
339
- end
340
-
341
- # Does the provided path_suffix correspond to an autoloadable module?
342
- # Instead of returning a boolean, the autoload base for this module is returned.
343
- def autoloadable_module?(path_suffix)
344
- load_paths.each do |load_path|
345
- return load_path if File.directory? File.join(load_path, path_suffix)
346
- end
347
- nil
348
- end
349
-
350
- def load_once_path?(path)
351
- load_once_paths.any? { |base| path.starts_with? base }
352
- end
353
-
354
- # Attempt to autoload the provided module name by searching for a directory
355
- # matching the expect path suffix. If found, the module is created and assigned
356
- # to +into+'s constants with the name +const_name+. Provided that the directory
357
- # was loaded from a reloadable base path, it is added to the set of constants
358
- # that are to be unloaded.
359
- def autoload_module!(into, const_name, qualified_name, path_suffix)
360
- return nil unless base_path = autoloadable_module?(path_suffix)
361
- mod = Module.new
362
- into.const_set const_name, mod
363
- autoloaded_constants << qualified_name unless load_once_paths.include?(base_path)
364
- return mod
365
- end
366
-
367
- # Load the file at the provided path. +const_paths+ is a set of qualified
368
- # constant names. When loading the file, Dependencies will watch for the
369
- # addition of these constants. Each that is defined will be marked as
370
- # autoloaded, and will be removed when Dependencies.clear is next called.
371
- #
372
- # If the second parameter is left off, then Dependencies will construct a set
373
- # of names that the file at +path+ may define. See
374
- # +loadable_constants_for_path+ for more details.
375
- def load_file(path, const_paths = loadable_constants_for_path(path))
376
- log_call path, const_paths
377
- const_paths = [const_paths].compact unless const_paths.is_a? Array
378
- parent_paths = const_paths.collect { |const_path| /(.*)::[^:]+\Z/ =~ const_path ? $1 : :Object }
379
-
380
- result = nil
381
- newly_defined_paths = new_constants_in(*parent_paths) do
382
- result = load_without_new_constant_marking path
383
- end
384
-
385
- autoloaded_constants.concat newly_defined_paths unless load_once_path?(path)
386
- autoloaded_constants.uniq!
387
- log "loading #{path} defined #{newly_defined_paths * ', '}" unless newly_defined_paths.empty?
388
- return result
389
- end
390
-
391
- # Return the constant path for the provided parent and constant name.
392
- def qualified_name_for(mod, name)
393
- mod_name = to_constant_name mod
394
- (%w(Object Kernel).include? mod_name) ? name.to_s : "#{mod_name}::#{name}"
395
- end
396
-
397
- # Load the constant named +const_name+ which is missing from +from_mod+. If
398
- # it is not possible to load the constant into from_mod, try its parent module
399
- # using const_missing.
400
- def load_missing_constant(from_mod, const_name)
401
- log_call from_mod, const_name
402
- if from_mod == Kernel
403
- if ::Object.const_defined?(const_name)
404
- log "Returning Object::#{const_name} for Kernel::#{const_name}"
405
- return ::Object.const_get(const_name)
406
- else
407
- log "Substituting Object for Kernel"
408
- from_mod = Object
409
- end
410
- end
411
-
412
- # If we have an anonymous module, all we can do is attempt to load from Object.
413
- from_mod = Object if from_mod.name.blank?
414
-
415
- unless qualified_const_defined?(from_mod.name) && from_mod.name.constantize.object_id == from_mod.object_id
416
- raise ArgumentError, "A copy of #{from_mod} has been removed from the module tree but is still active!"
417
- end
418
-
419
- raise ArgumentError, "#{from_mod} is not missing constant #{const_name}!" if uninherited_const_defined?(from_mod, const_name)
420
-
421
- qualified_name = qualified_name_for from_mod, const_name
422
- path_suffix = qualified_name.underscore
423
- name_error = NameError.new("uninitialized constant #{qualified_name}")
424
-
425
- file_path = search_for_file(path_suffix)
426
- if file_path && ! loaded.include?(File.expand_path(file_path)) # We found a matching file to load
427
- require_or_load file_path
428
- raise LoadError, "Expected #{file_path} to define #{qualified_name}" unless uninherited_const_defined?(from_mod, const_name)
429
- return from_mod.const_get(const_name)
430
- elsif mod = autoload_module!(from_mod, const_name, qualified_name, path_suffix)
431
- return mod
432
- elsif (parent = from_mod.parent) && parent != from_mod &&
433
- ! from_mod.parents.any? { |p| uninherited_const_defined?(p, const_name) }
434
- # If our parents do not have a constant named +const_name+ then we are free
435
- # to attempt to load upwards. If they do have such a constant, then this
436
- # const_missing must be due to from_mod::const_name, which should not
437
- # return constants from from_mod's parents.
438
- begin
439
- return parent.const_missing(const_name)
440
- rescue NameError => e
441
- raise unless e.missing_name? qualified_name_for(parent, const_name)
442
- raise name_error
443
- end
444
- else
445
- raise name_error
446
- end
447
- end
448
-
449
- # Remove the constants that have been autoloaded, and those that have been
450
- # marked for unloading.
451
- def remove_unloadable_constants!
452
- autoloaded_constants.each { |const| remove_constant const }
453
- autoloaded_constants.clear
454
- explicitly_unloadable_constants.each { |const| remove_constant const }
455
- end
456
-
457
- # Determine if the given constant has been automatically loaded.
458
- def autoloaded?(desc)
459
- # No name => anonymous module.
460
- return false if desc.is_a?(Module) && desc.name.blank?
461
- name = to_constant_name desc
462
- return false unless qualified_const_defined? name
463
- return autoloaded_constants.include?(name)
464
- end
465
-
466
- # Will the provided constant descriptor be unloaded?
467
- def will_unload?(const_desc)
468
- autoloaded?(const_desc) ||
469
- explicitly_unloadable_constants.include?(to_constant_name(const_desc))
470
- end
471
-
472
- # Mark the provided constant name for unloading. This constant will be
473
- # unloaded on each request, not just the next one.
474
- def mark_for_unload(const_desc)
475
- name = to_constant_name const_desc
476
- if explicitly_unloadable_constants.include? name
477
- return false
478
- else
479
- explicitly_unloadable_constants << name
480
- return true
481
- end
482
- end
483
-
484
- # Run the provided block and detect the new constants that were loaded during
485
- # its execution. Constants may only be regarded as 'new' once -- so if the
486
- # block calls +new_constants_in+ again, then the constants defined within the
487
- # inner call will not be reported in this one.
488
- #
489
- # If the provided block does not run to completion, and instead raises an
490
- # exception, any new constants are regarded as being only partially defined
491
- # and will be removed immediately.
492
- def new_constants_in(*descs)
493
- log_call(*descs)
494
-
495
- # Build the watch frames. Each frame is a tuple of
496
- # [module_name_as_string, constants_defined_elsewhere]
497
- watch_frames = descs.collect do |desc|
498
- if desc.is_a? Module
499
- mod_name = desc.name
500
- initial_constants = desc.local_constant_names
501
- elsif desc.is_a?(String) || desc.is_a?(Symbol)
502
- mod_name = desc.to_s
503
-
504
- # Handle the case where the module has yet to be defined.
505
- initial_constants = if qualified_const_defined?(mod_name)
506
- mod_name.constantize.local_constant_names
507
- else
508
- []
509
- end
510
- else
511
- raise Argument, "#{desc.inspect} does not describe a module!"
512
- end
513
-
514
- [mod_name, initial_constants]
515
- end
516
-
517
- constant_watch_stack.concat watch_frames
518
-
519
- aborting = true
520
- begin
521
- yield # Now yield to the code that is to define new constants.
522
- aborting = false
523
- ensure
524
- # Find the new constants.
525
- new_constants = watch_frames.collect do |mod_name, prior_constants|
526
- # Module still doesn't exist? Treat it as if it has no constants.
527
- next [] unless qualified_const_defined?(mod_name)
528
-
529
- mod = mod_name.constantize
530
- next [] unless mod.is_a? Module
531
- new_constants = mod.local_constant_names - prior_constants
532
-
533
- # Make sure no other frames takes credit for these constants.
534
- constant_watch_stack.each do |frame_name, constants|
535
- constants.concat new_constants if frame_name == mod_name
536
- end
537
-
538
- new_constants.collect do |suffix|
539
- mod_name == "Object" ? suffix : "#{mod_name}::#{suffix}"
540
- end
541
- end.flatten
542
-
543
- log "New constants: #{new_constants * ', '}"
544
-
545
- if aborting
546
- log "Error during loading, removing partially loaded constants "
547
- new_constants.each { |name| remove_constant name }
548
- new_constants.clear
549
- end
550
- end
551
-
552
- return new_constants
553
- ensure
554
- # Remove the stack frames that we added.
555
- if defined?(watch_frames) && ! watch_frames.blank?
556
- frame_ids = watch_frames.collect { |frame| frame.object_id }
557
- constant_watch_stack.delete_if do |watch_frame|
558
- frame_ids.include? watch_frame.object_id
559
- end
560
- end
561
- end
562
-
563
- class LoadingModule #:nodoc:
564
- # Old style environment.rb referenced this method directly. Please note, it doesn't
565
- # actually *do* anything any more.
566
- def self.root(*args)
567
- if defined?(RAILS_DEFAULT_LOGGER)
568
- RAILS_DEFAULT_LOGGER.warn "Your environment.rb uses the old syntax, it may not continue to work in future releases."
569
- RAILS_DEFAULT_LOGGER.warn "For upgrade instructions please see: http://manuals.rubyonrails.com/read/book/19"
570
- end
571
- end
572
- end
573
-
574
- # Convert the provided const desc to a qualified constant name (as a string).
575
- # A module, class, symbol, or string may be provided.
576
- def to_constant_name(desc) #:nodoc:
577
- name = case desc
578
- when String then desc.starts_with?('::') ? desc[2..-1] : desc
579
- when Symbol then desc.to_s
580
- when Module
581
- raise ArgumentError, "Anonymous modules have no name to be referenced by" if desc.name.blank?
582
- desc.name
583
- else raise TypeError, "Not a valid constant descriptor: #{desc.inspect}"
584
- end
585
- end
586
-
587
- def remove_constant(const) #:nodoc:
588
- return false unless qualified_const_defined? const
589
-
590
- const = $1 if /\A::(.*)\Z/ =~ const.to_s
591
- names = const.to_s.split('::')
592
- if names.size == 1 # It's under Object
593
- parent = Object
594
- else
595
- parent = (names[0..-2] * '::').constantize
596
- end
597
-
598
- log "removing constant #{const}"
599
- parent.instance_eval { remove_const names.last }
600
- return true
601
- end
602
-
603
- protected
604
- def log_call(*args)
605
- if logger && log_activity
606
- arg_str = args.collect { |arg| arg.inspect } * ', '
607
- /in `([a-z_\?\!]+)'/ =~ caller(1).first
608
- selector = $1 || '<unknown>'
609
- log "called #{selector}(#{arg_str})"
610
- end
611
- end
612
-
613
- def log(msg)
614
- if logger && log_activity
615
- logger.debug "Dependencies: #{msg}"
616
- end
617
- end
618
- end
619
- end
620
-
621
- ActiveSupport::Dependencies.hook!