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,328 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #--
3
- # Copyright 2004, 2005 by Jim Weirich (jim@weirichhouse.org).
4
- # All rights reserved.
5
-
6
- # Permission is granted for use, copying, modification, distribution,
7
- # and distribution of modified versions of this work as long as the
8
- # above copyright notice is included.
9
- #++
10
-
11
- # Provide a flexible and easy to use Builder for creating XML markup.
12
- # See XmlBuilder for usage details.
13
-
14
- require 'builder/xmlbase'
15
-
16
- module Builder
17
-
18
- # Create XML markup easily. All (well, almost all) methods sent to
19
- # an XmlMarkup object will be translated to the equivalent XML
20
- # markup. Any method with a block will be treated as an XML markup
21
- # tag with nested markup in the block.
22
- #
23
- # Examples will demonstrate this easier than words. In the
24
- # following, +xm+ is an +XmlMarkup+ object.
25
- #
26
- # xm.em("emphasized") # => <em>emphasized</em>
27
- # xm.em { xmm.b("emp & bold") } # => <em><b>emph &amp; bold</b></em>
28
- # xm.a("A Link", "href"=>"http://onestepback.org")
29
- # # => <a href="http://onestepback.org">A Link</a>
30
- # xm.div { br } # => <div><br/></div>
31
- # xm.target("name"=>"compile", "option"=>"fast")
32
- # # => <target option="fast" name="compile"\>
33
- # # NOTE: order of attributes is not specified.
34
- #
35
- # xm.instruct! # <?xml version="1.0" encoding="UTF-8"?>
36
- # xm.html { # <html>
37
- # xm.head { # <head>
38
- # xm.title("History") # <title>History</title>
39
- # } # </head>
40
- # xm.body { # <body>
41
- # xm.comment! "HI" # <! -- HI -->
42
- # xm.h1("Header") # <h1>Header</h1>
43
- # xm.p("paragraph") # <p>paragraph</p>
44
- # } # </body>
45
- # } # </html>
46
- #
47
- # == Notes:
48
- #
49
- # * The order that attributes are inserted in markup tags is
50
- # undefined.
51
- #
52
- # * Sometimes you wish to insert text without enclosing tags. Use
53
- # the <tt>text!</tt> method to accomplish this.
54
- #
55
- # Example:
56
- #
57
- # xm.div { # <div>
58
- # xm.text! "line"; xm.br # line<br/>
59
- # xm.text! "another line"; xmbr # another line<br/>
60
- # } # </div>
61
- #
62
- # * The special XML characters <, >, and & are converted to &lt;,
63
- # &gt; and &amp; automatically. Use the <tt><<</tt> operation to
64
- # insert text without modification.
65
- #
66
- # * Sometimes tags use special characters not allowed in ruby
67
- # identifiers. Use the <tt>tag!</tt> method to handle these
68
- # cases.
69
- #
70
- # Example:
71
- #
72
- # xml.tag!("SOAP:Envelope") { ... }
73
- #
74
- # will produce ...
75
- #
76
- # <SOAP:Envelope> ... </SOAP:Envelope>"
77
- #
78
- # <tt>tag!</tt> will also take text and attribute arguments (after
79
- # the tag name) like normal markup methods. (But see the next
80
- # bullet item for a better way to handle XML namespaces).
81
- #
82
- # * Direct support for XML namespaces is now available. If the
83
- # first argument to a tag call is a symbol, it will be joined to
84
- # the tag to produce a namespace:tag combination. It is easier to
85
- # show this than describe it.
86
- #
87
- # xml.SOAP :Envelope do ... end
88
- #
89
- # Just put a space before the colon in a namespace to produce the
90
- # right form for builder (e.g. "<tt>SOAP:Envelope</tt>" =>
91
- # "<tt>xml.SOAP :Envelope</tt>")
92
- #
93
- # * XmlMarkup builds the markup in any object (called a _target_)
94
- # that accepts the <tt><<</tt> method. If no target is given,
95
- # then XmlMarkup defaults to a string target.
96
- #
97
- # Examples:
98
- #
99
- # xm = Builder::XmlMarkup.new
100
- # result = xm.title("yada")
101
- # # result is a string containing the markup.
102
- #
103
- # buffer = ""
104
- # xm = Builder::XmlMarkup.new(buffer)
105
- # # The markup is appended to buffer (using <<)
106
- #
107
- # xm = Builder::XmlMarkup.new(STDOUT)
108
- # # The markup is written to STDOUT (using <<)
109
- #
110
- # xm = Builder::XmlMarkup.new
111
- # x2 = Builder::XmlMarkup.new(:target=>xm)
112
- # # Markup written to +x2+ will be send to +xm+.
113
- #
114
- # * Indentation is enabled by providing the number of spaces to
115
- # indent for each level as a second argument to XmlBuilder.new.
116
- # Initial indentation may be specified using a third parameter.
117
- #
118
- # Example:
119
- #
120
- # xm = Builder.new(:indent=>2)
121
- # # xm will produce nicely formatted and indented XML.
122
- #
123
- # xm = Builder.new(:indent=>2, :margin=>4)
124
- # # xm will produce nicely formatted and indented XML with 2
125
- # # spaces per indent and an over all indentation level of 4.
126
- #
127
- # builder = Builder::XmlMarkup.new(:target=>$stdout, :indent=>2)
128
- # builder.name { |b| b.first("Jim"); b.last("Weirich) }
129
- # # prints:
130
- # # <name>
131
- # # <first>Jim</first>
132
- # # <last>Weirich</last>
133
- # # </name>
134
- #
135
- # * The instance_eval implementation which forces self to refer to
136
- # the message receiver as self is now obsolete. We now use normal
137
- # block calls to execute the markup block. This means that all
138
- # markup methods must now be explicitly send to the xml builder.
139
- # For instance, instead of
140
- #
141
- # xml.div { strong("text") }
142
- #
143
- # you need to write:
144
- #
145
- # xml.div { xml.strong("text") }
146
- #
147
- # Although more verbose, the subtle change in semantics within the
148
- # block was found to be prone to error. To make this change a
149
- # little less cumbersome, the markup block now gets the markup
150
- # object sent as an argument, allowing you to use a shorter alias
151
- # within the block.
152
- #
153
- # For example:
154
- #
155
- # xml_builder = Builder::XmlMarkup.new
156
- # xml_builder.div { |xml|
157
- # xml.stong("text")
158
- # }
159
- #
160
- class XmlMarkup < XmlBase
161
-
162
- # Create an XML markup builder. Parameters are specified by an
163
- # option hash.
164
- #
165
- # :target=><em>target_object</em>::
166
- # Object receiving the markup. +out+ must respond to the
167
- # <tt><<</tt> operator. The default is a plain string target.
168
- #
169
- # :indent=><em>indentation</em>::
170
- # Number of spaces used for indentation. The default is no
171
- # indentation and no line breaks.
172
- #
173
- # :margin=><em>initial_indentation_level</em>::
174
- # Amount of initial indentation (specified in levels, not
175
- # spaces).
176
- #
177
- # :escape_attrs=><b>OBSOLETE</em>::
178
- # The :escape_attrs option is no longer supported by builder
179
- # (and will be quietly ignored). String attribute values are
180
- # now automatically escaped. If you need unescaped attribute
181
- # values (perhaps you are using entities in the attribute
182
- # values), then give the value as a Symbol. This allows much
183
- # finer control over escaping attribute values.
184
- #
185
- def initialize(options={})
186
- indent = options[:indent] || 0
187
- margin = options[:margin] || 0
188
- super(indent, margin)
189
- @target = options[:target] || ""
190
- end
191
-
192
- # Return the target of the builder.
193
- def target!
194
- @target
195
- end
196
-
197
- def comment!(comment_text)
198
- _ensure_no_block block_given?
199
- _special("<!-- ", " -->", comment_text, nil)
200
- end
201
-
202
- # Insert an XML declaration into the XML markup.
203
- #
204
- # For example:
205
- #
206
- # xml.declare! :ELEMENT, :blah, "yada"
207
- # # => <!ELEMENT blah "yada">
208
- def declare!(inst, *args, &block)
209
- _indent
210
- @target << "<!#{inst}"
211
- args.each do |arg|
212
- case arg
213
- when String
214
- @target << %{ "#{arg}"} # " WART
215
- when Symbol
216
- @target << " #{arg}"
217
- end
218
- end
219
- if block_given?
220
- @target << " ["
221
- _newline
222
- _nested_structures(block)
223
- @target << "]"
224
- end
225
- @target << ">"
226
- _newline
227
- end
228
-
229
- # Insert a processing instruction into the XML markup. E.g.
230
- #
231
- # For example:
232
- #
233
- # xml.instruct!
234
- # #=> <?xml version="1.0" encoding="UTF-8"?>
235
- # xml.instruct! :aaa, :bbb=>"ccc"
236
- # #=> <?aaa bbb="ccc"?>
237
- #
238
- def instruct!(directive_tag=:xml, attrs={})
239
- _ensure_no_block block_given?
240
- if directive_tag == :xml
241
- a = { :version=>"1.0", :encoding=>"UTF-8" }
242
- attrs = a.merge attrs
243
- end
244
- _special(
245
- "<?#{directive_tag}",
246
- "?>",
247
- nil,
248
- attrs,
249
- [:version, :encoding, :standalone])
250
- end
251
-
252
- # Insert a CDATA section into the XML markup.
253
- #
254
- # For example:
255
- #
256
- # xml.cdata!("text to be included in cdata")
257
- # #=> <![CDATA[text to be included in cdata]]>
258
- #
259
- def cdata!(text)
260
- _ensure_no_block block_given?
261
- _special("<![CDATA[", "]]>", text, nil)
262
- end
263
-
264
- private
265
-
266
- # NOTE: All private methods of a builder object are prefixed when
267
- # a "_" character to avoid possible conflict with XML tag names.
268
-
269
- # Insert text directly in to the builder's target.
270
- def _text(text)
271
- @target << text
272
- end
273
-
274
- # Insert special instruction.
275
- def _special(open, close, data=nil, attrs=nil, order=[])
276
- _indent
277
- @target << open
278
- @target << data if data
279
- _insert_attributes(attrs, order) if attrs
280
- @target << close
281
- _newline
282
- end
283
-
284
- # Start an XML tag. If <tt>end_too</tt> is true, then the start
285
- # tag is also the end tag (e.g. <br/>
286
- def _start_tag(sym, attrs, end_too=false)
287
- @target << "<#{sym}"
288
- _insert_attributes(attrs)
289
- @target << "/" if end_too
290
- @target << ">"
291
- end
292
-
293
- # Insert an ending tag.
294
- def _end_tag(sym)
295
- @target << "</#{sym}>"
296
- end
297
-
298
- # Insert the attributes (given in the hash).
299
- def _insert_attributes(attrs, order=[])
300
- return if attrs.nil?
301
- order.each do |k|
302
- v = attrs[k]
303
- @target << %{ #{k}="#{_attr_value(v)}"} if v # " WART
304
- end
305
- attrs.each do |k, v|
306
- @target << %{ #{k}="#{_attr_value(v)}"} unless order.member?(k) # " WART
307
- end
308
- end
309
-
310
- def _attr_value(value)
311
- case value
312
- when Symbol
313
- value.to_s
314
- else
315
- _escape_quote(value.to_s)
316
- end
317
- end
318
-
319
- def _ensure_no_block(got_block)
320
- if got_block
321
- fail IllegalBlockError,
322
- "Blocks are not allowed on XML instructions"
323
- end
324
- end
325
-
326
- end
327
-
328
- end
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- #--
4
- # Copyright 2004 by Jim Weirich (jim@weirichhouse.org).
5
- # All rights reserved.
6
-
7
- # Permission is granted for use, copying, modification, distribution,
8
- # and distribution of modified versions of this work as long as the
9
- # above copyright notice is included.
10
- #++
11
-
12
- require 'builder/xmlmarkup'
13
- require 'builder/xmlevents'
@@ -1,216 +0,0 @@
1
- require 'yaml'
2
-
3
- module I18n
4
- module Backend
5
- class Simple
6
- INTERPOLATION_RESERVED_KEYS = %w(scope default)
7
- MATCH = /(\\\\)?\{\{([^\}]+)\}\}/
8
-
9
- # Accepts a list of paths to translation files. Loads translations from
10
- # plain Ruby (*.rb) or YAML files (*.yml). See #load_rb and #load_yml
11
- # for details.
12
- def load_translations(*filenames)
13
- filenames.each { |filename| load_file(filename) }
14
- end
15
-
16
- # Stores translations for the given locale in memory.
17
- # This uses a deep merge for the translations hash, so existing
18
- # translations will be overwritten by new ones only at the deepest
19
- # level of the hash.
20
- def store_translations(locale, data)
21
- merge_translations(locale, data)
22
- end
23
-
24
- def translate(locale, key, options = {})
25
- raise InvalidLocale.new(locale) if locale.nil?
26
- return key.map { |k| translate(locale, k, options) } if key.is_a? Array
27
-
28
- reserved = :scope, :default
29
- count, scope, default = options.values_at(:count, *reserved)
30
- options.delete(:default)
31
- values = options.reject { |name, value| reserved.include?(name) }
32
-
33
- entry = lookup(locale, key, scope)
34
- if entry.nil?
35
- entry = default(locale, default, options)
36
- if entry.nil?
37
- raise(I18n::MissingTranslationData.new(locale, key, options))
38
- end
39
- end
40
- entry = pluralize(locale, entry, count)
41
- entry = interpolate(locale, entry, values)
42
- entry
43
- end
44
-
45
- # Acts the same as +strftime+, but returns a localized version of the
46
- # formatted date string. Takes a key from the date/time formats
47
- # translations as a format argument (<em>e.g.</em>, <tt>:short</tt> in <tt>:'date.formats'</tt>).
48
- def localize(locale, object, format = :default)
49
- raise ArgumentError, "Object must be a Date, DateTime or Time object. #{object.inspect} given." unless object.respond_to?(:strftime)
50
-
51
- type = object.respond_to?(:sec) ? 'time' : 'date'
52
- # TODO only translate these if format is a String?
53
- formats = translate(locale, :"#{type}.formats")
54
- format = formats[format.to_sym] if formats && formats[format.to_sym]
55
- # TODO raise exception unless format found?
56
- format = format.to_s.dup
57
-
58
- # TODO only translate these if the format string is actually present
59
- # TODO check which format strings are present, then bulk translate then, then replace them
60
- format.gsub!(/%a/, translate(locale, :"date.abbr_day_names")[object.wday])
61
- format.gsub!(/%A/, translate(locale, :"date.day_names")[object.wday])
62
- format.gsub!(/%b/, translate(locale, :"date.abbr_month_names")[object.mon])
63
- format.gsub!(/%B/, translate(locale, :"date.month_names")[object.mon])
64
- format.gsub!(/%p/, translate(locale, :"time.#{object.hour < 12 ? :am : :pm}")) if object.respond_to? :hour
65
- object.strftime(format)
66
- end
67
-
68
- def initialized?
69
- @initialized ||= false
70
- end
71
-
72
- def reload!
73
- @initialized = false
74
- @translations = nil
75
- end
76
-
77
- protected
78
- def init_translations
79
- load_translations(*I18n.load_path)
80
- @initialized = true
81
- end
82
-
83
- def translations
84
- @translations ||= {}
85
- end
86
-
87
- # Looks up a translation from the translations hash. Returns nil if
88
- # eiher key is nil, or locale, scope or key do not exist as a key in the
89
- # nested translations hash. Splits keys or scopes containing dots
90
- # into multiple keys, i.e. <tt>currency.format</tt> is regarded the same as
91
- # <tt>%w(currency format)</tt>.
92
- def lookup(locale, key, scope = [])
93
- return unless key
94
- init_translations unless initialized?
95
- keys = I18n.send(:normalize_translation_keys, locale, key, scope)
96
- keys.inject(translations) do |result, k|
97
- if (x = result[k.to_sym]).nil?
98
- return nil
99
- else
100
- x
101
- end
102
- end
103
- end
104
-
105
- # Evaluates a default translation.
106
- # If the given default is a String it is used literally. If it is a Symbol
107
- # it will be translated with the given options. If it is an Array the first
108
- # translation yielded will be returned.
109
- #
110
- # <em>I.e.</em>, <tt>default(locale, [:foo, 'default'])</tt> will return +default+ if
111
- # <tt>translate(locale, :foo)</tt> does not yield a result.
112
- def default(locale, default, options = {})
113
- case default
114
- when String then default
115
- when Symbol then translate locale, default, options
116
- when Array then default.each do |obj|
117
- result = default(locale, obj, options.dup) and return result
118
- end and nil
119
- end
120
- rescue MissingTranslationData
121
- nil
122
- end
123
-
124
- # Picks a translation from an array according to English pluralization
125
- # rules. It will pick the first translation if count is not equal to 1
126
- # and the second translation if it is equal to 1. Other backends can
127
- # implement more flexible or complex pluralization rules.
128
- def pluralize(locale, entry, count)
129
- return entry unless entry.is_a?(Hash) and count
130
- # raise InvalidPluralizationData.new(entry, count) unless entry.is_a?(Hash)
131
- key = :zero if count == 0 && entry.has_key?(:zero)
132
- key ||= count == 1 ? :one : :other
133
- raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
134
- entry[key]
135
- end
136
-
137
- # Interpolates values into a given string.
138
- #
139
- # interpolate "file {{file}} opened by \\{{user}}", :file => 'test.txt', :user => 'Mr. X'
140
- # # => "file test.txt opened by {{user}}"
141
- #
142
- # Note that you have to double escape the <tt>\\</tt> when you want to escape
143
- # the <tt>{{...}}</tt> key in a string (once for the string and once for the
144
- # interpolation).
145
- def interpolate(locale, string, values = {})
146
- return string unless string.is_a?(String)
147
-
148
- if string.respond_to?(:force_encoding)
149
- original_encoding = string.encoding
150
- string.force_encoding(Encoding::BINARY)
151
- end
152
-
153
- result = string.gsub(MATCH) do
154
- escaped, pattern, key = $1, $2, $2.to_sym
155
-
156
- if escaped
157
- pattern
158
- elsif INTERPOLATION_RESERVED_KEYS.include?(pattern)
159
- raise ReservedInterpolationKey.new(pattern, string)
160
- elsif !values.include?(key)
161
- raise MissingInterpolationArgument.new(pattern, string)
162
- else
163
- values[key].to_s
164
- end
165
- end
166
-
167
- result.force_encoding(original_encoding) if original_encoding
168
- result
169
- end
170
-
171
- # Loads a single translations file by delegating to #load_rb or
172
- # #load_yml depending on the file extension and directly merges the
173
- # data to the existing translations. Raises I18n::UnknownFileType
174
- # for all other file extensions.
175
- def load_file(filename)
176
- type = File.extname(filename).tr('.', '').downcase
177
- raise UnknownFileType.new(type, filename) unless respond_to?(:"load_#{type}")
178
- data = send :"load_#{type}", filename # TODO raise a meaningful exception if this does not yield a Hash
179
- data.each { |locale, d| merge_translations(locale, d) }
180
- end
181
-
182
- # Loads a plain Ruby translations file. eval'ing the file must yield
183
- # a Hash containing translation data with locales as toplevel keys.
184
- def load_rb(filename)
185
- eval(IO.read(filename), binding, filename)
186
- end
187
-
188
- # Loads a YAML translations file. The data must have locales as
189
- # toplevel keys.
190
- def load_yml(filename)
191
- YAML::load(IO.read(filename))
192
- end
193
-
194
- # Deep merges the given translations hash with the existing translations
195
- # for the given locale
196
- def merge_translations(locale, data)
197
- locale = locale.to_sym
198
- translations[locale] ||= {}
199
- data = deep_symbolize_keys(data)
200
-
201
- # deep_merge by Stefan Rusterholz, see http://www.ruby-forum.com/topic/142809
202
- merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
203
- translations[locale].merge!(data, &merger)
204
- end
205
-
206
- # Return a new hash with all keys and nested keys converted to symbols.
207
- def deep_symbolize_keys(hash)
208
- hash.inject({}) { |result, (key, value)|
209
- value = deep_symbolize_keys(value) if value.is_a? Hash
210
- result[(key.to_sym rescue key) || key] = value
211
- result
212
- }
213
- end
214
- end
215
- end
216
- end
@@ -1,53 +0,0 @@
1
- module I18n
2
- class ArgumentError < ::ArgumentError; end
3
-
4
- class InvalidLocale < ArgumentError
5
- attr_reader :locale
6
- def initialize(locale)
7
- @locale = locale
8
- super "#{locale.inspect} is not a valid locale"
9
- end
10
- end
11
-
12
- class MissingTranslationData < ArgumentError
13
- attr_reader :locale, :key, :options
14
- def initialize(locale, key, options)
15
- @key, @locale, @options = key, locale, options
16
- keys = I18n.send(:normalize_translation_keys, locale, key, options[:scope])
17
- keys << 'no key' if keys.size < 2
18
- super "translation missing: #{keys.join(', ')}"
19
- end
20
- end
21
-
22
- class InvalidPluralizationData < ArgumentError
23
- attr_reader :entry, :count
24
- def initialize(entry, count)
25
- @entry, @count = entry, count
26
- super "translation data #{entry.inspect} can not be used with :count => #{count}"
27
- end
28
- end
29
-
30
- class MissingInterpolationArgument < ArgumentError
31
- attr_reader :key, :string
32
- def initialize(key, string)
33
- @key, @string = key, string
34
- super "interpolation argument #{key} missing in #{string.inspect}"
35
- end
36
- end
37
-
38
- class ReservedInterpolationKey < ArgumentError
39
- attr_reader :key, :string
40
- def initialize(key, string)
41
- @key, @string = key, string
42
- super "reserved key #{key.inspect} used in #{string.inspect}"
43
- end
44
- end
45
-
46
- class UnknownFileType < ArgumentError
47
- attr_reader :type, :filename
48
- def initialize(type, filename)
49
- @type, @filename = type, filename
50
- super "can not load translations from #{filename}, the file type #{type} is not known"
51
- end
52
- end
53
- end