simply_stated 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (908) hide show
  1. data/.gitignore +7 -0
  2. data/Gemfile +6 -0
  3. data/README.textile +42 -0
  4. data/Rakefile +3 -4
  5. data/VERSION +1 -1
  6. data/bin/convert_to_should_syntax +3 -0
  7. data/lib/simply_stated.rb +4 -6
  8. data/simply_stated.gemspec +914 -9
  9. data/test/database.yml +3 -0
  10. data/test/models/two_state_rule.rb +10 -0
  11. data/test/models/user.rb +3 -0
  12. data/test/schema.rb +9 -0
  13. data/test/simply_stated_test.rb +66 -0
  14. data/test/test_helper.rb +33 -0
  15. data/vendor/gems/ruby/1.8/cache/activerecord-2.3.5.gem +0 -0
  16. data/vendor/gems/ruby/1.8/cache/activesupport-2.3.5.gem +0 -0
  17. data/vendor/gems/ruby/1.8/cache/freighthopper-0.1.2.gem +0 -0
  18. data/vendor/gems/ruby/1.8/cache/shoulda-2.10.3.gem +0 -0
  19. data/vendor/gems/ruby/1.8/cache/test-rig-0.0.3.gem +0 -0
  20. data/vendor/gems/ruby/1.8/environment.rb +111 -0
  21. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/CHANGELOG +5858 -0
  22. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/README +351 -0
  23. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/RUNNING_UNIT_TESTS +36 -0
  24. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/Rakefile +270 -0
  25. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/examples/associations.png +0 -0
  26. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/examples/performance.rb +162 -0
  27. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/install.rb +30 -0
  28. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/aggregations.rb +261 -0
  29. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/association_preload.rb +389 -0
  30. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_collection.rb +475 -0
  31. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/association_proxy.rb +278 -0
  32. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/belongs_to_association.rb +76 -0
  33. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/belongs_to_polymorphic_association.rb +53 -0
  34. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/has_and_belongs_to_many_association.rb +143 -0
  35. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/has_many_association.rb +122 -0
  36. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/has_many_through_association.rb +266 -0
  37. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/has_one_association.rb +133 -0
  38. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations/has_one_through_association.rb +37 -0
  39. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/associations.rb +2241 -0
  40. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/attribute_methods.rb +388 -0
  41. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/autosave_association.rb +364 -0
  42. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/base.rb +3165 -0
  43. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/batches.rb +81 -0
  44. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/calculations.rb +311 -0
  45. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/callbacks.rb +360 -0
  46. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb +371 -0
  47. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_specification.rb +139 -0
  48. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/database_statements.rb +289 -0
  49. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/query_cache.rb +94 -0
  50. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/quoting.rb +69 -0
  51. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/schema_definitions.rb +722 -0
  52. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/schema_statements.rb +434 -0
  53. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract_adapter.rb +241 -0
  54. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb +630 -0
  55. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/postgresql_adapter.rb +1113 -0
  56. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/sqlite3_adapter.rb +34 -0
  57. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/sqlite_adapter.rb +453 -0
  58. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/dirty.rb +183 -0
  59. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/dynamic_finder_match.rb +41 -0
  60. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/dynamic_scope_match.rb +25 -0
  61. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/fixtures.rb +996 -0
  62. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/i18n_interpolation_deprecation.rb +26 -0
  63. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/locale/en.yml +58 -0
  64. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/locking/optimistic.rb +148 -0
  65. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/locking/pessimistic.rb +55 -0
  66. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/migration.rb +566 -0
  67. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/named_scope.rb +192 -0
  68. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/nested_attributes.rb +392 -0
  69. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/observer.rb +197 -0
  70. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb +33 -0
  71. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/reflection.rb +320 -0
  72. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/schema.rb +51 -0
  73. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/schema_dumper.rb +182 -0
  74. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/serialization.rb +101 -0
  75. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/serializers/json_serializer.rb +91 -0
  76. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/serializers/xml_serializer.rb +357 -0
  77. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/session_store.rb +326 -0
  78. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/test_case.rb +66 -0
  79. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/timestamp.rb +71 -0
  80. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/transactions.rb +235 -0
  81. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/validations.rb +1135 -0
  82. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record/version.rb +9 -0
  83. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/active_record.rb +84 -0
  84. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/lib/activerecord.rb +2 -0
  85. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/assets/example.log +1 -0
  86. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/assets/flowers.jpg +0 -0
  87. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/aaa_create_tables_test.rb +24 -0
  88. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/active_schema_test_mysql.rb +100 -0
  89. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/active_schema_test_postgresql.rb +24 -0
  90. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/adapter_test.rb +145 -0
  91. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/aggregations_test.rb +167 -0
  92. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/ar_schema_test.rb +32 -0
  93. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/belongs_to_associations_test.rb +425 -0
  94. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/callbacks_test.rb +161 -0
  95. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/cascaded_eager_loading_test.rb +131 -0
  96. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/eager_load_includes_full_sti_class_test.rb +36 -0
  97. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/eager_load_nested_include_test.rb +130 -0
  98. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/eager_singularization_test.rb +145 -0
  99. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/eager_test.rb +834 -0
  100. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/extension_test.rb +62 -0
  101. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/habtm_join_table_test.rb +56 -0
  102. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/has_and_belongs_to_many_associations_test.rb +822 -0
  103. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/has_many_associations_test.rb +1134 -0
  104. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/has_many_through_associations_test.rb +346 -0
  105. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/has_one_associations_test.rb +330 -0
  106. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/has_one_through_associations_test.rb +209 -0
  107. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/inner_join_association_test.rb +93 -0
  108. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations/join_model_test.rb +712 -0
  109. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/associations_test.rb +262 -0
  110. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/attribute_methods_test.rb +305 -0
  111. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/autosave_association_test.rb +1142 -0
  112. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/base_test.rb +2154 -0
  113. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/batches_test.rb +61 -0
  114. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/binary_test.rb +30 -0
  115. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/calculations_test.rb +348 -0
  116. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/callbacks_observers_test.rb +38 -0
  117. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/callbacks_test.rb +438 -0
  118. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/class_inheritable_attributes_test.rb +32 -0
  119. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/column_alias_test.rb +17 -0
  120. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/column_definition_test.rb +70 -0
  121. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/connection_pool_test.rb +25 -0
  122. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/connection_test_firebird.rb +8 -0
  123. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/connection_test_mysql.rb +64 -0
  124. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/copy_table_test_sqlite.rb +80 -0
  125. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/database_statements_test.rb +12 -0
  126. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/datatype_test_postgresql.rb +204 -0
  127. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/date_time_test.rb +37 -0
  128. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/default_test_firebird.rb +16 -0
  129. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/defaults_test.rb +111 -0
  130. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/deprecated_finder_test.rb +30 -0
  131. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/dirty_test.rb +316 -0
  132. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/finder_respond_to_test.rb +76 -0
  133. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/finder_test.rb +1054 -0
  134. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/fixtures_test.rb +656 -0
  135. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/helper.rb +68 -0
  136. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/i18n_test.rb +46 -0
  137. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/inheritance_test.rb +262 -0
  138. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/invalid_date_test.rb +24 -0
  139. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/json_serialization_test.rb +205 -0
  140. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/lifecycle_test.rb +193 -0
  141. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/locking_test.rb +304 -0
  142. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/method_scoping_test.rb +704 -0
  143. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/migration_test.rb +1523 -0
  144. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/migration_test_firebird.rb +124 -0
  145. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/mixin_test.rb +96 -0
  146. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/modules_test.rb +81 -0
  147. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/multiple_db_test.rb +85 -0
  148. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/named_scope_test.rb +361 -0
  149. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/nested_attributes_test.rb +581 -0
  150. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/pk_test.rb +119 -0
  151. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/pooled_connections_test.rb +103 -0
  152. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/query_cache_test.rb +123 -0
  153. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/readonly_test.rb +107 -0
  154. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/reflection_test.rb +194 -0
  155. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/reload_models_test.rb +22 -0
  156. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/repair_helper.rb +50 -0
  157. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/reserved_word_test_mysql.rb +176 -0
  158. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/sanitize_test.rb +25 -0
  159. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/schema_authorization_test_postgresql.rb +75 -0
  160. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/schema_dumper_test.rb +211 -0
  161. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/schema_test_postgresql.rb +178 -0
  162. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/serialization_test.rb +47 -0
  163. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/synonym_test_oracle.rb +17 -0
  164. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/timestamp_test.rb +75 -0
  165. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/transactions_test.rb +522 -0
  166. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/unconnected_test.rb +32 -0
  167. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/validations_i18n_test.rb +955 -0
  168. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/validations_test.rb +1640 -0
  169. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/cases/xml_serialization_test.rb +240 -0
  170. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/config.rb +5 -0
  171. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/jdbc_jdbcderby/connection.rb +18 -0
  172. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/jdbc_jdbch2/connection.rb +18 -0
  173. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/jdbc_jdbchsqldb/connection.rb +18 -0
  174. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/jdbc_jdbcmysql/connection.rb +26 -0
  175. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/jdbc_jdbcpostgresql/connection.rb +26 -0
  176. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/jdbc_jdbcsqlite3/connection.rb +25 -0
  177. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_db2/connection.rb +25 -0
  178. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_firebird/connection.rb +26 -0
  179. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_frontbase/connection.rb +27 -0
  180. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_mysql/connection.rb +25 -0
  181. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_openbase/connection.rb +21 -0
  182. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_oracle/connection.rb +27 -0
  183. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_postgresql/connection.rb +21 -0
  184. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_sqlite/connection.rb +25 -0
  185. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_sqlite3/connection.rb +25 -0
  186. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_sqlite3/in_memory_connection.rb +18 -0
  187. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/connections/native_sybase/connection.rb +23 -0
  188. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/accounts.yml +29 -0
  189. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/all/developers.yml +0 -0
  190. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/all/people.csv +0 -0
  191. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/all/tasks.yml +0 -0
  192. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/author_addresses.yml +5 -0
  193. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/author_favorites.yml +4 -0
  194. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/authors.yml +9 -0
  195. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/binaries.yml +132 -0
  196. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/books.yml +7 -0
  197. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/categories/special_categories.yml +9 -0
  198. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/categories/subsubdir/arbitrary_filename.yml +4 -0
  199. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/categories.yml +14 -0
  200. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/categories_ordered.yml +7 -0
  201. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/categories_posts.yml +23 -0
  202. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/categorizations.yml +17 -0
  203. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/clubs.yml +6 -0
  204. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/comments.yml +59 -0
  205. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/companies.yml +56 -0
  206. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/computers.yml +4 -0
  207. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/courses.yml +7 -0
  208. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/customers.yml +26 -0
  209. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/developers.yml +21 -0
  210. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/developers_projects.yml +17 -0
  211. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/edges.yml +6 -0
  212. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/entrants.yml +14 -0
  213. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/fixture_database.sqlite +0 -0
  214. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/fixture_database_2.sqlite +0 -0
  215. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/fk_test_has_fk.yml +3 -0
  216. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/fk_test_has_pk.yml +2 -0
  217. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/funny_jokes.yml +10 -0
  218. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/items.yml +4 -0
  219. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/jobs.yml +7 -0
  220. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/legacy_things.yml +3 -0
  221. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/mateys.yml +4 -0
  222. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/member_types.yml +6 -0
  223. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/members.yml +6 -0
  224. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/memberships.yml +20 -0
  225. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/minimalistics.yml +2 -0
  226. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/mixed_case_monkeys.yml +6 -0
  227. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/mixins.yml +29 -0
  228. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/movies.yml +7 -0
  229. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/naked/csv/accounts.csv +1 -0
  230. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/naked/yml/accounts.yml +1 -0
  231. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/naked/yml/companies.yml +1 -0
  232. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/naked/yml/courses.yml +1 -0
  233. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/organizations.yml +5 -0
  234. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/owners.yml +7 -0
  235. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/parrots.yml +27 -0
  236. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/parrots_pirates.yml +7 -0
  237. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/people.yml +15 -0
  238. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/pets.yml +14 -0
  239. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/pirates.yml +9 -0
  240. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/posts.yml +52 -0
  241. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/price_estimates.yml +7 -0
  242. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/projects.yml +7 -0
  243. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/readers.yml +9 -0
  244. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/references.yml +17 -0
  245. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/reserved_words/distinct.yml +5 -0
  246. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/reserved_words/distincts_selects.yml +11 -0
  247. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/reserved_words/group.yml +14 -0
  248. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/reserved_words/select.yml +8 -0
  249. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/reserved_words/values.yml +7 -0
  250. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/ships.yml +5 -0
  251. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/sponsors.yml +9 -0
  252. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/subscribers.yml +7 -0
  253. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/subscriptions.yml +12 -0
  254. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/taggings.yml +28 -0
  255. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/tags.yml +7 -0
  256. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/tasks.yml +7 -0
  257. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/topics.yml +42 -0
  258. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/toys.yml +4 -0
  259. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/treasures.yml +10 -0
  260. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/vertices.yml +4 -0
  261. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/fixtures/warehouse-things.yml +3 -0
  262. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/broken/100_migration_that_raises_exception.rb +10 -0
  263. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/decimal/1_give_me_big_numbers.rb +15 -0
  264. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/duplicate/1_people_have_last_names.rb +9 -0
  265. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/duplicate/2_we_need_reminders.rb +12 -0
  266. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/duplicate/3_foo.rb +7 -0
  267. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/duplicate/3_innocent_jointable.rb +12 -0
  268. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/duplicate_names/20080507052938_chunky.rb +7 -0
  269. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/duplicate_names/20080507053028_chunky.rb +7 -0
  270. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/interleaved/pass_1/3_innocent_jointable.rb +12 -0
  271. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/interleaved/pass_2/1_people_have_last_names.rb +9 -0
  272. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/interleaved/pass_2/3_innocent_jointable.rb +12 -0
  273. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/interleaved/pass_3/1_people_have_last_names.rb +9 -0
  274. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/interleaved/pass_3/2_i_raise_on_down.rb +8 -0
  275. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/interleaved/pass_3/3_innocent_jointable.rb +12 -0
  276. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/missing/1000_people_have_middle_names.rb +9 -0
  277. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/missing/1_people_have_last_names.rb +9 -0
  278. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/missing/3_we_need_reminders.rb +12 -0
  279. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/missing/4_innocent_jointable.rb +12 -0
  280. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/valid/1_people_have_last_names.rb +9 -0
  281. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/valid/2_we_need_reminders.rb +12 -0
  282. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/migrations/valid/3_innocent_jointable.rb +12 -0
  283. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/author.rb +146 -0
  284. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/auto_id.rb +4 -0
  285. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/binary.rb +2 -0
  286. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/bird.rb +3 -0
  287. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/book.rb +4 -0
  288. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/categorization.rb +5 -0
  289. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/category.rb +34 -0
  290. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/citation.rb +6 -0
  291. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/club.rb +13 -0
  292. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/column_name.rb +3 -0
  293. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/comment.rb +29 -0
  294. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/company.rb +171 -0
  295. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/company_in_module.rb +61 -0
  296. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/computer.rb +3 -0
  297. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/contact.rb +16 -0
  298. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/contract.rb +5 -0
  299. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/course.rb +3 -0
  300. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/customer.rb +73 -0
  301. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/default.rb +2 -0
  302. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/developer.rb +101 -0
  303. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/edge.rb +5 -0
  304. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/entrant.rb +3 -0
  305. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/essay.rb +3 -0
  306. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/event.rb +3 -0
  307. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/guid.rb +2 -0
  308. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/item.rb +7 -0
  309. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/job.rb +5 -0
  310. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/joke.rb +3 -0
  311. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/keyboard.rb +3 -0
  312. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/legacy_thing.rb +3 -0
  313. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/matey.rb +4 -0
  314. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/member.rb +12 -0
  315. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/member_detail.rb +5 -0
  316. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/member_type.rb +3 -0
  317. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/membership.rb +9 -0
  318. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/minimalistic.rb +2 -0
  319. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/mixed_case_monkey.rb +3 -0
  320. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/movie.rb +5 -0
  321. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/order.rb +4 -0
  322. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/organization.rb +6 -0
  323. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/owner.rb +5 -0
  324. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/parrot.rb +16 -0
  325. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/person.rb +16 -0
  326. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/pet.rb +5 -0
  327. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/pirate.rb +70 -0
  328. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/post.rb +100 -0
  329. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/price_estimate.rb +3 -0
  330. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/project.rb +30 -0
  331. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/reader.rb +4 -0
  332. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/reference.rb +4 -0
  333. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/reply.rb +46 -0
  334. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/ship.rb +10 -0
  335. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/ship_part.rb +5 -0
  336. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/sponsor.rb +4 -0
  337. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/subject.rb +4 -0
  338. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/subscriber.rb +8 -0
  339. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/subscription.rb +4 -0
  340. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/tag.rb +7 -0
  341. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/tagging.rb +10 -0
  342. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/task.rb +3 -0
  343. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/topic.rb +80 -0
  344. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/toy.rb +6 -0
  345. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/treasure.rb +8 -0
  346. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/vertex.rb +9 -0
  347. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/models/warehouse_thing.rb +5 -0
  348. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/schema/mysql_specific_schema.rb +24 -0
  349. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/schema/postgresql_specific_schema.rb +114 -0
  350. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/schema/schema.rb +493 -0
  351. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/schema/schema2.rb +6 -0
  352. data/vendor/gems/ruby/1.8/gems/activerecord-2.3.5/test/schema/sqlite_specific_schema.rb +25 -0
  353. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/CHANGELOG +1330 -0
  354. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/README +43 -0
  355. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/all.rb +8 -0
  356. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/backtrace_cleaner.rb +72 -0
  357. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/base64.rb +33 -0
  358. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/basic_object.rb +24 -0
  359. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/buffered_logger.rb +127 -0
  360. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache/compressed_mem_cache_store.rb +20 -0
  361. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache/drb_store.rb +14 -0
  362. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache/file_store.rb +72 -0
  363. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache/mem_cache_store.rb +143 -0
  364. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache/memory_store.rb +52 -0
  365. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache/strategy/local_cache.rb +104 -0
  366. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache/synchronized_memory_store.rb +47 -0
  367. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/cache.rb +248 -0
  368. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/callbacks.rb +279 -0
  369. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array/access.rb +53 -0
  370. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array/conversions.rb +197 -0
  371. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array/extract_options.rb +20 -0
  372. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array/grouping.rb +106 -0
  373. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array/random_access.rb +12 -0
  374. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array/wrapper.rb +24 -0
  375. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/array.rb +15 -0
  376. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/base64/encoding.rb +16 -0
  377. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/base64.rb +4 -0
  378. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb +19 -0
  379. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/bigdecimal/conversions.rb +37 -0
  380. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/bigdecimal.rb +6 -0
  381. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/blank.rb +2 -0
  382. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +23 -0
  383. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/cgi.rb +5 -0
  384. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/class/attribute_accessors.rb +54 -0
  385. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/class/delegating_attributes.rb +47 -0
  386. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/class/inheritable_attributes.rb +140 -0
  387. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/class/removal.rb +50 -0
  388. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/class.rb +4 -0
  389. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date/behavior.rb +42 -0
  390. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date/calculations.rb +231 -0
  391. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date/conversions.rb +107 -0
  392. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date.rb +10 -0
  393. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date_time/calculations.rb +126 -0
  394. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date_time/conversions.rb +96 -0
  395. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/date_time.rb +12 -0
  396. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/duplicable.rb +43 -0
  397. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/enumerable.rb +114 -0
  398. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/exception.rb +45 -0
  399. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/file/atomic.rb +46 -0
  400. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/file.rb +5 -0
  401. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/float/rounding.rb +24 -0
  402. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/float/time.rb +27 -0
  403. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/float.rb +7 -0
  404. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/conversions.rb +247 -0
  405. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/deep_merge.rb +23 -0
  406. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/diff.rb +19 -0
  407. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/except.rb +25 -0
  408. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/indifferent_access.rb +143 -0
  409. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/keys.rb +52 -0
  410. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/reverse_merge.rb +35 -0
  411. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash/slice.rb +40 -0
  412. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/hash.rb +14 -0
  413. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/integer/even_odd.rb +29 -0
  414. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/integer/inflections.rb +20 -0
  415. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/integer/time.rb +45 -0
  416. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/integer.rb +9 -0
  417. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/agnostics.rb +11 -0
  418. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/daemonizing.rb +7 -0
  419. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/debugger.rb +16 -0
  420. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/reporting.rb +59 -0
  421. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/requires.rb +24 -0
  422. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel.rb +5 -0
  423. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/load_error.rb +38 -0
  424. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/logger.rb +145 -0
  425. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/aliasing.rb +74 -0
  426. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/attr_accessor_with_default.rb +31 -0
  427. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/attr_internal.rb +32 -0
  428. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/attribute_accessors.rb +60 -0
  429. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/delegation.rb +135 -0
  430. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/inclusion.rb +30 -0
  431. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/introspection.rb +90 -0
  432. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/loading.rb +23 -0
  433. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/model_naming.rb +25 -0
  434. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/synchronization.rb +39 -0
  435. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module.rb +23 -0
  436. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/name_error.rb +19 -0
  437. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/numeric/bytes.rb +50 -0
  438. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/numeric/conversions.rb +19 -0
  439. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/numeric/time.rb +81 -0
  440. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/numeric.rb +9 -0
  441. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/object/blank.rb +58 -0
  442. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/object/conversions.rb +15 -0
  443. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/object/extending.rb +80 -0
  444. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/object/instance_variables.rb +74 -0
  445. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/object/metaclass.rb +13 -0
  446. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/object/misc.rb +90 -0
  447. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/object.rb +6 -0
  448. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/pathname/clean_within.rb +14 -0
  449. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/pathname.rb +7 -0
  450. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/proc.rb +12 -0
  451. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/process/daemon.rb +25 -0
  452. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/process.rb +1 -0
  453. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/range/blockless_step.rb +32 -0
  454. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/range/conversions.rb +27 -0
  455. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/range/include_range.rb +30 -0
  456. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/range/overlaps.rb +15 -0
  457. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/range.rb +11 -0
  458. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/rexml.rb +41 -0
  459. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/access.rb +106 -0
  460. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/behavior.rb +13 -0
  461. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/bytesize.rb +5 -0
  462. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/conversions.rb +28 -0
  463. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/filters.rb +26 -0
  464. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/inflections.rb +167 -0
  465. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/iterators.rb +23 -0
  466. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/multibyte.rb +81 -0
  467. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/output_safety.rb +48 -0
  468. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/starts_ends_with.rb +35 -0
  469. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string/xchar.rb +11 -0
  470. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/string.rb +25 -0
  471. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/symbol.rb +14 -0
  472. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/time/behavior.rb +13 -0
  473. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/time/calculations.rb +304 -0
  474. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/time/conversions.rb +90 -0
  475. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/time/zones.rb +86 -0
  476. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/time.rb +42 -0
  477. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/try.rb +36 -0
  478. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/uri.rb +16 -0
  479. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext.rb +8 -0
  480. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb +625 -0
  481. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/deprecation.rb +196 -0
  482. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/duration.rb +100 -0
  483. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/gzip.rb +25 -0
  484. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/inflections.rb +56 -0
  485. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/inflector.rb +406 -0
  486. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/backends/jsongem.rb +37 -0
  487. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/backends/yaml.rb +84 -0
  488. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/decoding.rb +35 -0
  489. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/date.rb +22 -0
  490. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/date_time.rb +22 -0
  491. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/enumerable.rb +17 -0
  492. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/false_class.rb +7 -0
  493. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/hash.rb +56 -0
  494. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/nil_class.rb +7 -0
  495. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/numeric.rb +21 -0
  496. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/object.rb +10 -0
  497. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/regexp.rb +9 -0
  498. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/string.rb +9 -0
  499. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/symbol.rb +5 -0
  500. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/time.rb +22 -0
  501. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoders/true_class.rb +7 -0
  502. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/encoding.rb +102 -0
  503. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json/variable.rb +10 -0
  504. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/json.rb +2 -0
  505. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/locale/en.yml +33 -0
  506. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/memoizable.rb +100 -0
  507. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/message_encryptor.rb +70 -0
  508. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/message_verifier.rb +79 -0
  509. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/multibyte/chars.rb +707 -0
  510. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/multibyte/exceptions.rb +8 -0
  511. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/multibyte/unicode_database.rb +71 -0
  512. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/multibyte/utils.rb +61 -0
  513. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/multibyte.rb +57 -0
  514. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/option_merger.rb +23 -0
  515. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/ordered_hash.rb +141 -0
  516. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/ordered_options.rb +19 -0
  517. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/rescuable.rb +108 -0
  518. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/secure_random.rb +199 -0
  519. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/string_inquirer.rb +21 -0
  520. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/test_case.rb +40 -0
  521. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/testing/assertions.rb +65 -0
  522. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/testing/declarative.rb +21 -0
  523. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/testing/default.rb +9 -0
  524. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/testing/deprecation.rb +57 -0
  525. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/testing/performance.rb +452 -0
  526. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/testing/setup_and_teardown.rb +91 -0
  527. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/time_with_zone.rb +335 -0
  528. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/values/time_zone.rb +404 -0
  529. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/values/unicode_tables.dat +0 -0
  530. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/blankslate.rb +113 -0
  531. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb +20 -0
  532. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/builder/css.rb +250 -0
  533. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb +115 -0
  534. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb +139 -0
  535. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb +63 -0
  536. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb +328 -0
  537. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/builder-2.1.2/builder.rb +13 -0
  538. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE +20 -0
  539. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/README.textile +20 -0
  540. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/Rakefile +5 -0
  541. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec +27 -0
  542. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb +214 -0
  543. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/exceptions.rb +53 -0
  544. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb +199 -0
  545. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/test/all.rb +5 -0
  546. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb +99 -0
  547. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb +124 -0
  548. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb +1 -0
  549. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml +3 -0
  550. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb +567 -0
  551. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb +1107 -0
  552. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb +47 -0
  553. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb +228 -0
  554. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb +55 -0
  555. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb +219 -0
  556. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb +40 -0
  557. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb +18 -0
  558. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb +25 -0
  559. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb +22 -0
  560. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb +23 -0
  561. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +166 -0
  562. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb +86 -0
  563. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb +23 -0
  564. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb +23 -0
  565. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb +283 -0
  566. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb +136 -0
  567. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb +204 -0
  568. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb +161 -0
  569. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb +27 -0
  570. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb +274 -0
  571. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb +149 -0
  572. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb +194 -0
  573. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb +22 -0
  574. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb +35 -0
  575. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb +232 -0
  576. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb +139 -0
  577. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb +144 -0
  578. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb +131 -0
  579. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb +282 -0
  580. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb +30 -0
  581. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb +74 -0
  582. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb +205 -0
  583. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb +171 -0
  584. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb +288 -0
  585. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb +196 -0
  586. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb +67 -0
  587. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb +73 -0
  588. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb +161 -0
  589. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb +20 -0
  590. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb +33 -0
  591. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb +30 -0
  592. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb +27 -0
  593. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb +87 -0
  594. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb +165 -0
  595. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb +30 -0
  596. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb +163 -0
  597. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb +20 -0
  598. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb +163 -0
  599. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb +30 -0
  600. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb +20 -0
  601. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb +25 -0
  602. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb +163 -0
  603. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb +31 -0
  604. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb +18 -0
  605. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb +163 -0
  606. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb +18 -0
  607. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb +164 -0
  608. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb +24 -0
  609. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb +18 -0
  610. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb +34 -0
  611. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb +35 -0
  612. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb +33 -0
  613. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb +59 -0
  614. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb +47 -0
  615. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb +78 -0
  616. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb +121 -0
  617. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb +30 -0
  618. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb +65 -0
  619. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb +33 -0
  620. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb +164 -0
  621. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb +163 -0
  622. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb +165 -0
  623. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb +165 -0
  624. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb +270 -0
  625. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb +23 -0
  626. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb +18 -0
  627. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb +187 -0
  628. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb +35 -0
  629. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb +29 -0
  630. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb +193 -0
  631. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb +185 -0
  632. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb +37 -0
  633. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb +185 -0
  634. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb +16 -0
  635. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb +228 -0
  636. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb +185 -0
  637. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb +163 -0
  638. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb +188 -0
  639. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb +13 -0
  640. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb +232 -0
  641. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb +181 -0
  642. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb +197 -0
  643. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb +179 -0
  644. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb +276 -0
  645. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb +163 -0
  646. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb +218 -0
  647. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb +168 -0
  648. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb +268 -0
  649. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb +13 -0
  650. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb +288 -0
  651. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb +211 -0
  652. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb +170 -0
  653. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb +181 -0
  654. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb +232 -0
  655. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb +187 -0
  656. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb +176 -0
  657. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb +215 -0
  658. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb +13 -0
  659. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb +13 -0
  660. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb +173 -0
  661. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb +165 -0
  662. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb +172 -0
  663. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb +183 -0
  664. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb +170 -0
  665. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb +212 -0
  666. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb +13 -0
  667. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb +202 -0
  668. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb +23 -0
  669. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb +22 -0
  670. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb +28 -0
  671. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb +20 -0
  672. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb +25 -0
  673. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb +25 -0
  674. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb +26 -0
  675. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb +20 -0
  676. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb +27 -0
  677. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb +52 -0
  678. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb +51 -0
  679. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb +44 -0
  680. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb +98 -0
  681. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb +56 -0
  682. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb +292 -0
  683. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb +508 -0
  684. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb +56 -0
  685. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb +40 -0
  686. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb +94 -0
  687. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb +198 -0
  688. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb +129 -0
  689. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb +33 -0
  690. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/vendor.rb +28 -0
  691. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/version.rb +9 -0
  692. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/whiny_nil.rb +64 -0
  693. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/xml_mini/jdom.rb +162 -0
  694. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/xml_mini/libxml.rb +133 -0
  695. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/xml_mini/nokogiri.rb +69 -0
  696. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/xml_mini/rexml.rb +108 -0
  697. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/xml_mini.rb +31 -0
  698. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/active_support.rb +59 -0
  699. data/vendor/gems/ruby/1.8/gems/activesupport-2.3.5/lib/activesupport.rb +2 -0
  700. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/.gitignore +7 -0
  701. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/Gemfile +4 -0
  702. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/LICENSE +20 -0
  703. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/README +0 -0
  704. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/Rakefile +29 -0
  705. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/VERSION +1 -0
  706. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/bin/convert_to_should_syntax +3 -0
  707. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/freighthopper.gemspec +75 -0
  708. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/init.rb +1 -0
  709. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/lib/freighthopper.rb +132 -0
  710. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/array_test.rb +48 -0
  711. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/define_and_alias_test.rb +48 -0
  712. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/float_test.rb +18 -0
  713. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/hash_test.rb +27 -0
  714. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/kernel_test.rb +34 -0
  715. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/lazy_alias_test.rb +34 -0
  716. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/object_test.rb +68 -0
  717. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/string_test.rb +58 -0
  718. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/test/test_helper.rb +17 -0
  719. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/vendor/gems/cache/shoulda-2.10.2.gem +0 -0
  720. data/vendor/gems/ruby/1.8/gems/freighthopper-0.1.2/vendor/gems/cache/test-rig-0.0.1.gem +0 -0
  721. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/CONTRIBUTION_GUIDELINES.rdoc +10 -0
  722. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/MIT-LICENSE +22 -0
  723. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/README.rdoc +171 -0
  724. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/Rakefile +72 -0
  725. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/bin/convert_to_should_syntax +42 -0
  726. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/macros.rb +240 -0
  727. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/assign_to_matcher.rb +109 -0
  728. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/filter_param_matcher.rb +57 -0
  729. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/render_with_layout_matcher.rb +81 -0
  730. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/respond_with_content_type_matcher.rb +74 -0
  731. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/respond_with_matcher.rb +81 -0
  732. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/route_matcher.rb +93 -0
  733. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/set_session_matcher.rb +87 -0
  734. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers/set_the_flash_matcher.rb +85 -0
  735. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller/matchers.rb +37 -0
  736. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_controller.rb +26 -0
  737. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_mailer/assertions.rb +38 -0
  738. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_mailer.rb +10 -0
  739. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_view/macros.rb +61 -0
  740. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/action_view.rb +10 -0
  741. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/assertions.rb +69 -0
  742. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/helpers.rb +27 -0
  743. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/macros.rb +512 -0
  744. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/allow_mass_assignment_of_matcher.rb +83 -0
  745. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/allow_value_matcher.rb +102 -0
  746. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/association_matcher.rb +226 -0
  747. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/ensure_inclusion_of_matcher.rb +87 -0
  748. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/ensure_length_of_matcher.rb +141 -0
  749. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/have_db_column_matcher.rb +169 -0
  750. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/have_db_index_matcher.rb +112 -0
  751. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/have_named_scope_matcher.rb +128 -0
  752. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/have_readonly_attribute_matcher.rb +59 -0
  753. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/validate_acceptance_of_matcher.rb +41 -0
  754. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/validate_format_of_matcher.rb +67 -0
  755. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/validate_numericality_of_matcher.rb +39 -0
  756. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/validate_presence_of_matcher.rb +60 -0
  757. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/validate_uniqueness_of_matcher.rb +148 -0
  758. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers/validation_matcher.rb +57 -0
  759. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record/matchers.rb +43 -0
  760. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/active_record.rb +16 -0
  761. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/assertions.rb +71 -0
  762. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/autoload_macros.rb +46 -0
  763. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/context.rb +413 -0
  764. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/helpers.rb +8 -0
  765. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/macros.rb +133 -0
  766. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/private_helpers.rb +13 -0
  767. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/proc_extensions.rb +14 -0
  768. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/rails.rb +13 -0
  769. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/rspec.rb +11 -0
  770. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/tasks/list_tests.rake +29 -0
  771. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/tasks/yaml_to_shoulda.rake +28 -0
  772. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/tasks.rb +3 -0
  773. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda/test_unit.rb +22 -0
  774. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/lib/shoulda.rb +9 -0
  775. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/rails/init.rb +7 -0
  776. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/README +36 -0
  777. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fail_macros.rb +39 -0
  778. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fixtures/addresses.yml +3 -0
  779. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fixtures/friendships.yml +0 -0
  780. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fixtures/posts.yml +5 -0
  781. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fixtures/products.yml +0 -0
  782. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fixtures/taggings.yml +0 -0
  783. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fixtures/tags.yml +9 -0
  784. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/fixtures/users.yml +6 -0
  785. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/functional/posts_controller_test.rb +121 -0
  786. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/functional/users_controller_test.rb +19 -0
  787. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/allow_mass_assignment_of_matcher_test.rb +68 -0
  788. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/allow_value_matcher_test.rb +64 -0
  789. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/association_matcher_test.rb +263 -0
  790. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/ensure_inclusion_of_matcher_test.rb +80 -0
  791. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/ensure_length_of_matcher_test.rb +158 -0
  792. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/have_db_column_matcher_test.rb +169 -0
  793. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/have_db_index_matcher_test.rb +91 -0
  794. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/have_named_scope_matcher_test.rb +65 -0
  795. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/have_readonly_attributes_matcher_test.rb +29 -0
  796. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/validate_acceptance_of_matcher_test.rb +44 -0
  797. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/validate_format_of_matcher_test.rb +39 -0
  798. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/validate_numericality_of_matcher_test.rb +52 -0
  799. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/validate_presence_of_matcher_test.rb +86 -0
  800. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/active_record/validate_uniqueness_of_matcher_test.rb +147 -0
  801. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/assign_to_matcher_test.rb +35 -0
  802. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/filter_param_matcher_test.rb +32 -0
  803. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/render_with_layout_matcher_test.rb +33 -0
  804. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/respond_with_content_type_matcher_test.rb +32 -0
  805. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/respond_with_matcher_test.rb +106 -0
  806. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/route_matcher_test.rb +75 -0
  807. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/set_session_matcher_test.rb +38 -0
  808. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/matchers/controller/set_the_flash_matcher.rb +41 -0
  809. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/model_builder.rb +106 -0
  810. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/other/autoload_macro_test.rb +18 -0
  811. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/other/context_test.rb +203 -0
  812. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/other/convert_to_should_syntax_test.rb +63 -0
  813. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/other/helpers_test.rb +340 -0
  814. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/other/private_helpers_test.rb +32 -0
  815. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/other/should_test.rb +271 -0
  816. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/controllers/application_controller.rb +25 -0
  817. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/controllers/posts_controller.rb +87 -0
  818. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/controllers/users_controller.rb +84 -0
  819. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/helpers/application_helper.rb +3 -0
  820. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/helpers/posts_helper.rb +2 -0
  821. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/helpers/users_helper.rb +2 -0
  822. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/address.rb +7 -0
  823. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/flea.rb +3 -0
  824. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/friendship.rb +4 -0
  825. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/pets/cat.rb +7 -0
  826. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/pets/dog.rb +10 -0
  827. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/post.rb +12 -0
  828. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/product.rb +12 -0
  829. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/profile.rb +2 -0
  830. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/registration.rb +2 -0
  831. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/tag.rb +8 -0
  832. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/tagging.rb +4 -0
  833. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/treat.rb +3 -0
  834. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/models/user.rb +32 -0
  835. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/layouts/posts.rhtml +19 -0
  836. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/layouts/users.rhtml +17 -0
  837. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/layouts/wide.html.erb +1 -0
  838. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/posts/edit.rhtml +27 -0
  839. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/posts/index.rhtml +25 -0
  840. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/posts/new.rhtml +26 -0
  841. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/posts/show.rhtml +18 -0
  842. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/users/edit.rhtml +22 -0
  843. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/users/index.rhtml +22 -0
  844. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/users/new.rhtml +21 -0
  845. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/app/views/users/show.rhtml +13 -0
  846. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/config/boot.rb +110 -0
  847. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/config/database.yml +4 -0
  848. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/config/environment.rb +18 -0
  849. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/config/environments/test.rb +0 -0
  850. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/config/initializers/new_rails_defaults.rb +15 -0
  851. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/config/initializers/shoulda.rb +8 -0
  852. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/config/routes.rb +6 -0
  853. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/001_create_users.rb +19 -0
  854. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/002_create_posts.rb +13 -0
  855. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/003_create_taggings.rb +12 -0
  856. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/004_create_tags.rb +11 -0
  857. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/005_create_dogs.rb +12 -0
  858. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/006_create_addresses.rb +14 -0
  859. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/007_create_fleas.rb +11 -0
  860. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/008_create_dogs_fleas.rb +12 -0
  861. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/009_create_products.rb +17 -0
  862. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/010_create_friendships.rb +14 -0
  863. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/011_create_treats.rb +12 -0
  864. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/20090506203502_create_profiles.rb +12 -0
  865. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/20090506203536_create_registrations.rb +14 -0
  866. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/migrate/20090513104502_create_cats.rb +12 -0
  867. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/db/schema.rb +0 -0
  868. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/public/404.html +30 -0
  869. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/public/422.html +30 -0
  870. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/public/500.html +30 -0
  871. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/script/console +3 -0
  872. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/script/generate +3 -0
  873. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/test/shoulda_macros/custom_macro.rb +6 -0
  874. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/vendor/gems/gem_with_macro-0.0.1/shoulda_macros/gem_macro.rb +6 -0
  875. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rails_root/vendor/plugins/plugin_with_macro/shoulda_macros/plugin_macro.rb +6 -0
  876. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/rspec_test.rb +207 -0
  877. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/test_helper.rb +28 -0
  878. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/address_test.rb +10 -0
  879. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/cat_test.rb +7 -0
  880. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/dog_test.rb +9 -0
  881. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/flea_test.rb +6 -0
  882. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/friendship_test.rb +6 -0
  883. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/post_test.rb +19 -0
  884. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/product_test.rb +23 -0
  885. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/tag_test.rb +15 -0
  886. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/tagging_test.rb +6 -0
  887. data/vendor/gems/ruby/1.8/gems/shoulda-2.10.3/test/unit/user_test.rb +80 -0
  888. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/.document +5 -0
  889. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/.gitignore +5 -0
  890. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/LICENSE +20 -0
  891. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/README.textile +140 -0
  892. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/Rakefile +56 -0
  893. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/VERSION +1 -0
  894. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/lib/test_rig/dynamic_assertions.rb +38 -0
  895. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/lib/test_rig/smarter_message.rb +69 -0
  896. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/lib/test_rig.rb +11 -0
  897. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/test/dynamic_assertions_test.rb +65 -0
  898. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/test/smarter_message_test.rb +51 -0
  899. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/test/test_helper.rb +13 -0
  900. data/vendor/gems/ruby/1.8/gems/test-rig-0.0.3/test-rig.gemspec +55 -0
  901. data/vendor/gems/ruby/1.8/specifications/activerecord-2.3.5.gemspec +34 -0
  902. data/vendor/gems/ruby/1.8/specifications/activesupport-2.3.5.gemspec +28 -0
  903. data/vendor/gems/ruby/1.8/specifications/freighthopper-0.1.2.gemspec +32 -0
  904. data/vendor/gems/ruby/1.8/specifications/shoulda-2.10.3.gemspec +31 -0
  905. data/vendor/gems/ruby/1.8/specifications/test-rig-0.0.3.gemspec +30 -0
  906. metadata +920 -10
  907. data/test/helper.rb +0 -10
  908. data/test/test_simply_stated.rb +0 -5
@@ -0,0 +1,508 @@
1
+ #--
2
+ # Copyright (c) 2005-2006 Philip Ross
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ # THE SOFTWARE.
21
+ #++
22
+
23
+ require 'date'
24
+ # require 'tzinfo/country'
25
+ require 'tzinfo/time_or_datetime'
26
+ require 'tzinfo/timezone_period'
27
+
28
+ module TZInfo
29
+ # Indicate a specified time in a local timezone has more than one
30
+ # possible time in UTC. This happens when switching from daylight savings time
31
+ # to normal time where the clocks are rolled back. Thrown by period_for_local
32
+ # and local_to_utc when using an ambiguous time and not specifying any
33
+ # means to resolve the ambiguity.
34
+ class AmbiguousTime < StandardError
35
+ end
36
+
37
+ # Thrown to indicate that no TimezonePeriod matching a given time could be found.
38
+ class PeriodNotFound < StandardError
39
+ end
40
+
41
+ # Thrown by Timezone#get if the identifier given is not valid.
42
+ class InvalidTimezoneIdentifier < StandardError
43
+ end
44
+
45
+ # Thrown if an attempt is made to use a timezone created with Timezone.new(nil).
46
+ class UnknownTimezone < StandardError
47
+ end
48
+
49
+ # Timezone is the base class of all timezones. It provides a factory method
50
+ # get to access timezones by identifier. Once a specific Timezone has been
51
+ # retrieved, DateTimes, Times and timestamps can be converted between the UTC
52
+ # and the local time for the zone. For example:
53
+ #
54
+ # tz = TZInfo::Timezone.get('America/New_York')
55
+ # puts tz.utc_to_local(DateTime.new(2005,8,29,15,35,0)).to_s
56
+ # puts tz.local_to_utc(Time.utc(2005,8,29,11,35,0)).to_s
57
+ # puts tz.utc_to_local(1125315300).to_s
58
+ #
59
+ # Each time conversion method returns an object of the same type it was
60
+ # passed.
61
+ #
62
+ # The timezone information all comes from the tz database
63
+ # (see http://www.twinsun.com/tz/tz-link.htm)
64
+ class Timezone
65
+ include Comparable
66
+
67
+ # Cache of loaded zones by identifier to avoid using require if a zone
68
+ # has already been loaded.
69
+ @@loaded_zones = {}
70
+
71
+ # Whether the timezones index has been loaded yet.
72
+ @@index_loaded = false
73
+
74
+ # Returns a timezone by its identifier (e.g. "Europe/London",
75
+ # "America/Chicago" or "UTC").
76
+ #
77
+ # Raises InvalidTimezoneIdentifier if the timezone couldn't be found.
78
+ def self.get(identifier)
79
+ instance = @@loaded_zones[identifier]
80
+ unless instance
81
+ raise InvalidTimezoneIdentifier, 'Invalid identifier' if identifier !~ /^[A-z0-9\+\-_]+(\/[A-z0-9\+\-_]+)*$/
82
+ identifier = identifier.gsub(/-/, '__m__').gsub(/\+/, '__p__')
83
+ begin
84
+ # Use a temporary variable to avoid an rdoc warning
85
+ file = "tzinfo/definitions/#{identifier}"
86
+ require file
87
+
88
+ m = Definitions
89
+ identifier.split(/\//).each {|part|
90
+ m = m.const_get(part)
91
+ }
92
+
93
+ info = m.get
94
+
95
+ # Could make Timezone subclasses register an interest in an info
96
+ # type. Since there are currently only two however, there isn't
97
+ # much point.
98
+ if info.kind_of?(DataTimezoneInfo)
99
+ instance = DataTimezone.new(info)
100
+ elsif info.kind_of?(LinkedTimezoneInfo)
101
+ instance = LinkedTimezone.new(info)
102
+ else
103
+ raise InvalidTimezoneIdentifier, "No handler for info type #{info.class}"
104
+ end
105
+
106
+ @@loaded_zones[instance.identifier] = instance
107
+ rescue LoadError, NameError => e
108
+ raise InvalidTimezoneIdentifier, e.message
109
+ end
110
+ end
111
+
112
+ instance
113
+ end
114
+
115
+ # Returns a proxy for the Timezone with the given identifier. The proxy
116
+ # will cause the real timezone to be loaded when an attempt is made to
117
+ # find a period or convert a time. get_proxy will not validate the
118
+ # identifier. If an invalid identifier is specified, no exception will be
119
+ # raised until the proxy is used.
120
+ def self.get_proxy(identifier)
121
+ TimezoneProxy.new(identifier)
122
+ end
123
+
124
+ # If identifier is nil calls super(), otherwise calls get. An identfier
125
+ # should always be passed in when called externally.
126
+ def self.new(identifier = nil)
127
+ if identifier
128
+ get(identifier)
129
+ else
130
+ super()
131
+ end
132
+ end
133
+
134
+ # Returns an array containing all the available Timezones.
135
+ #
136
+ # Returns TimezoneProxy objects to avoid the overhead of loading Timezone
137
+ # definitions until a conversion is actually required.
138
+ def self.all
139
+ get_proxies(all_identifiers)
140
+ end
141
+
142
+ # Returns an array containing the identifiers of all the available
143
+ # Timezones.
144
+ def self.all_identifiers
145
+ load_index
146
+ Indexes::Timezones.timezones
147
+ end
148
+
149
+ # Returns an array containing all the available Timezones that are based
150
+ # on data (are not links to other Timezones).
151
+ #
152
+ # Returns TimezoneProxy objects to avoid the overhead of loading Timezone
153
+ # definitions until a conversion is actually required.
154
+ def self.all_data_zones
155
+ get_proxies(all_data_zone_identifiers)
156
+ end
157
+
158
+ # Returns an array containing the identifiers of all the available
159
+ # Timezones that are based on data (are not links to other Timezones)..
160
+ def self.all_data_zone_identifiers
161
+ load_index
162
+ Indexes::Timezones.data_timezones
163
+ end
164
+
165
+ # Returns an array containing all the available Timezones that are links
166
+ # to other Timezones.
167
+ #
168
+ # Returns TimezoneProxy objects to avoid the overhead of loading Timezone
169
+ # definitions until a conversion is actually required.
170
+ def self.all_linked_zones
171
+ get_proxies(all_linked_zone_identifiers)
172
+ end
173
+
174
+ # Returns an array containing the identifiers of all the available
175
+ # Timezones that are links to other Timezones.
176
+ def self.all_linked_zone_identifiers
177
+ load_index
178
+ Indexes::Timezones.linked_timezones
179
+ end
180
+
181
+ # Returns all the Timezones defined for all Countries. This is not the
182
+ # complete set of Timezones as some are not country specific (e.g.
183
+ # 'Etc/GMT').
184
+ #
185
+ # Returns TimezoneProxy objects to avoid the overhead of loading Timezone
186
+ # definitions until a conversion is actually required.
187
+ def self.all_country_zones
188
+ Country.all_codes.inject([]) {|zones,country|
189
+ zones += Country.get(country).zones
190
+ }
191
+ end
192
+
193
+ # Returns all the zone identifiers defined for all Countries. This is not the
194
+ # complete set of zone identifiers as some are not country specific (e.g.
195
+ # 'Etc/GMT'). You can obtain a Timezone instance for a given identifier
196
+ # with the get method.
197
+ def self.all_country_zone_identifiers
198
+ Country.all_codes.inject([]) {|zones,country|
199
+ zones += Country.get(country).zone_identifiers
200
+ }
201
+ end
202
+
203
+ # Returns all US Timezone instances. A shortcut for
204
+ # TZInfo::Country.get('US').zones.
205
+ #
206
+ # Returns TimezoneProxy objects to avoid the overhead of loading Timezone
207
+ # definitions until a conversion is actually required.
208
+ def self.us_zones
209
+ Country.get('US').zones
210
+ end
211
+
212
+ # Returns all US zone identifiers. A shortcut for
213
+ # TZInfo::Country.get('US').zone_identifiers.
214
+ def self.us_zone_identifiers
215
+ Country.get('US').zone_identifiers
216
+ end
217
+
218
+ # The identifier of the timezone, e.g. "Europe/Paris".
219
+ def identifier
220
+ raise UnknownTimezone, 'TZInfo::Timezone constructed directly'
221
+ end
222
+
223
+ # An alias for identifier.
224
+ def name
225
+ # Don't use alias, as identifier gets overridden.
226
+ identifier
227
+ end
228
+
229
+ # Returns a friendlier version of the identifier.
230
+ def to_s
231
+ friendly_identifier
232
+ end
233
+
234
+ # Returns internal object state as a programmer-readable string.
235
+ def inspect
236
+ "#<#{self.class}: #{identifier}>"
237
+ end
238
+
239
+ # Returns a friendlier version of the identifier. Set skip_first_part to
240
+ # omit the first part of the identifier (typically a region name) where
241
+ # there is more than one part.
242
+ #
243
+ # For example:
244
+ #
245
+ # Timezone.get('Europe/Paris').friendly_identifier(false) #=> "Europe - Paris"
246
+ # Timezone.get('Europe/Paris').friendly_identifier(true) #=> "Paris"
247
+ # Timezone.get('America/Indiana/Knox').friendly_identifier(false) #=> "America - Knox, Indiana"
248
+ # Timezone.get('America/Indiana/Knox').friendly_identifier(true) #=> "Knox, Indiana"
249
+ def friendly_identifier(skip_first_part = false)
250
+ parts = identifier.split('/')
251
+ if parts.empty?
252
+ # shouldn't happen
253
+ identifier
254
+ elsif parts.length == 1
255
+ parts[0]
256
+ else
257
+ if skip_first_part
258
+ result = ''
259
+ else
260
+ result = parts[0] + ' - '
261
+ end
262
+
263
+ parts[1, parts.length - 1].reverse_each {|part|
264
+ part.gsub!(/_/, ' ')
265
+
266
+ if part.index(/[a-z]/)
267
+ # Missing a space if a lower case followed by an upper case and the
268
+ # name isn't McXxxx.
269
+ part.gsub!(/([^M][a-z])([A-Z])/, '\1 \2')
270
+ part.gsub!(/([M][a-bd-z])([A-Z])/, '\1 \2')
271
+
272
+ # Missing an apostrophe if two consecutive upper case characters.
273
+ part.gsub!(/([A-Z])([A-Z])/, '\1\'\2')
274
+ end
275
+
276
+ result << part
277
+ result << ', '
278
+ }
279
+
280
+ result.slice!(result.length - 2, 2)
281
+ result
282
+ end
283
+ end
284
+
285
+ # Returns the TimezonePeriod for the given UTC time. utc can either be
286
+ # a DateTime, Time or integer timestamp (Time.to_i). Any timezone
287
+ # information in utc is ignored (it is treated as a UTC time).
288
+ def period_for_utc(utc)
289
+ raise UnknownTimezone, 'TZInfo::Timezone constructed directly'
290
+ end
291
+
292
+ # Returns the set of TimezonePeriod instances that are valid for the given
293
+ # local time as an array. If you just want a single period, use
294
+ # period_for_local instead and specify how ambiguities should be resolved.
295
+ # Returns an empty array if no periods are found for the given time.
296
+ def periods_for_local(local)
297
+ raise UnknownTimezone, 'TZInfo::Timezone constructed directly'
298
+ end
299
+
300
+ # Returns the TimezonePeriod for the given local time. local can either be
301
+ # a DateTime, Time or integer timestamp (Time.to_i). Any timezone
302
+ # information in local is ignored (it is treated as a time in the current
303
+ # timezone).
304
+ #
305
+ # Warning: There are local times that have no equivalent UTC times (e.g.
306
+ # in the transition from standard time to daylight savings time). There are
307
+ # also local times that have more than one UTC equivalent (e.g. in the
308
+ # transition from daylight savings time to standard time).
309
+ #
310
+ # In the first case (no equivalent UTC time), a PeriodNotFound exception
311
+ # will be raised.
312
+ #
313
+ # In the second case (more than one equivalent UTC time), an AmbiguousTime
314
+ # exception will be raised unless the optional dst parameter or block
315
+ # handles the ambiguity.
316
+ #
317
+ # If the ambiguity is due to a transition from daylight savings time to
318
+ # standard time, the dst parameter can be used to select whether the
319
+ # daylight savings time or local time is used. For example,
320
+ #
321
+ # Timezone.get('America/New_York').period_for_local(DateTime.new(2004,10,31,1,30,0))
322
+ #
323
+ # would raise an AmbiguousTime exception.
324
+ #
325
+ # Specifying dst=true would the daylight savings period from April to
326
+ # October 2004. Specifying dst=false would return the standard period
327
+ # from October 2004 to April 2005.
328
+ #
329
+ # If the dst parameter does not resolve the ambiguity, and a block is
330
+ # specified, it is called. The block must take a single parameter - an
331
+ # array of the periods that need to be resolved. The block can select and
332
+ # return a single period or return nil or an empty array
333
+ # to cause an AmbiguousTime exception to be raised.
334
+ def period_for_local(local, dst = nil)
335
+ results = periods_for_local(local)
336
+
337
+ if results.empty?
338
+ raise PeriodNotFound
339
+ elsif results.size < 2
340
+ results.first
341
+ else
342
+ # ambiguous result try to resolve
343
+
344
+ if !dst.nil?
345
+ matches = results.find_all {|period| period.dst? == dst}
346
+ results = matches if !matches.empty?
347
+ end
348
+
349
+ if results.size < 2
350
+ results.first
351
+ else
352
+ # still ambiguous, try the block
353
+
354
+ if block_given?
355
+ results = yield results
356
+ end
357
+
358
+ if results.is_a?(TimezonePeriod)
359
+ results
360
+ elsif results && results.size == 1
361
+ results.first
362
+ else
363
+ raise AmbiguousTime, "#{local} is an ambiguous local time."
364
+ end
365
+ end
366
+ end
367
+ end
368
+
369
+ # Converts a time in UTC to the local timezone. utc can either be
370
+ # a DateTime, Time or timestamp (Time.to_i). The returned time has the same
371
+ # type as utc. Any timezone information in utc is ignored (it is treated as
372
+ # a UTC time).
373
+ def utc_to_local(utc)
374
+ TimeOrDateTime.wrap(utc) {|wrapped|
375
+ period_for_utc(wrapped).to_local(wrapped)
376
+ }
377
+ end
378
+
379
+ # Converts a time in the local timezone to UTC. local can either be
380
+ # a DateTime, Time or timestamp (Time.to_i). The returned time has the same
381
+ # type as local. Any timezone information in local is ignored (it is treated
382
+ # as a local time).
383
+ #
384
+ # Warning: There are local times that have no equivalent UTC times (e.g.
385
+ # in the transition from standard time to daylight savings time). There are
386
+ # also local times that have more than one UTC equivalent (e.g. in the
387
+ # transition from daylight savings time to standard time).
388
+ #
389
+ # In the first case (no equivalent UTC time), a PeriodNotFound exception
390
+ # will be raised.
391
+ #
392
+ # In the second case (more than one equivalent UTC time), an AmbiguousTime
393
+ # exception will be raised unless the optional dst parameter or block
394
+ # handles the ambiguity.
395
+ #
396
+ # If the ambiguity is due to a transition from daylight savings time to
397
+ # standard time, the dst parameter can be used to select whether the
398
+ # daylight savings time or local time is used. For example,
399
+ #
400
+ # Timezone.get('America/New_York').local_to_utc(DateTime.new(2004,10,31,1,30,0))
401
+ #
402
+ # would raise an AmbiguousTime exception.
403
+ #
404
+ # Specifying dst=true would return 2004-10-31 5:30:00. Specifying dst=false
405
+ # would return 2004-10-31 6:30:00.
406
+ #
407
+ # If the dst parameter does not resolve the ambiguity, and a block is
408
+ # specified, it is called. The block must take a single parameter - an
409
+ # array of the periods that need to be resolved. The block can return a
410
+ # single period to use to convert the time or return nil or an empty array
411
+ # to cause an AmbiguousTime exception to be raised.
412
+ def local_to_utc(local, dst = nil)
413
+ TimeOrDateTime.wrap(local) {|wrapped|
414
+ if block_given?
415
+ period = period_for_local(wrapped, dst) {|periods| yield periods }
416
+ else
417
+ period = period_for_local(wrapped, dst)
418
+ end
419
+
420
+ period.to_utc(wrapped)
421
+ }
422
+ end
423
+
424
+ # Returns the current time in the timezone as a Time.
425
+ def now
426
+ utc_to_local(Time.now.utc)
427
+ end
428
+
429
+ # Returns the TimezonePeriod for the current time.
430
+ def current_period
431
+ period_for_utc(Time.now.utc)
432
+ end
433
+
434
+ # Returns the current Time and TimezonePeriod as an array. The first element
435
+ # is the time, the second element is the period.
436
+ def current_period_and_time
437
+ utc = Time.now.utc
438
+ period = period_for_utc(utc)
439
+ [period.to_local(utc), period]
440
+ end
441
+
442
+ alias :current_time_and_period :current_period_and_time
443
+
444
+ # Converts a time in UTC to local time and returns it as a string
445
+ # according to the given format. The formatting is identical to
446
+ # Time.strftime and DateTime.strftime, except %Z is replaced with the
447
+ # timezone abbreviation for the specified time (for example, EST or EDT).
448
+ def strftime(format, utc = Time.now.utc)
449
+ period = period_for_utc(utc)
450
+ local = period.to_local(utc)
451
+ local = Time.at(local).utc unless local.kind_of?(Time) || local.kind_of?(DateTime)
452
+ abbreviation = period.abbreviation.to_s.gsub(/%/, '%%')
453
+
454
+ format = format.gsub(/(.?)%Z/) do
455
+ if $1 == '%'
456
+ # return %%Z so the real strftime treats it as a literal %Z too
457
+ '%%Z'
458
+ else
459
+ "#$1#{abbreviation}"
460
+ end
461
+ end
462
+
463
+ local.strftime(format)
464
+ end
465
+
466
+ # Compares two Timezones based on their identifier. Returns -1 if tz is less
467
+ # than self, 0 if tz is equal to self and +1 if tz is greater than self.
468
+ def <=>(tz)
469
+ identifier <=> tz.identifier
470
+ end
471
+
472
+ # Returns true if and only if the identifier of tz is equal to the
473
+ # identifier of this Timezone.
474
+ def eql?(tz)
475
+ self == tz
476
+ end
477
+
478
+ # Returns a hash of this Timezone.
479
+ def hash
480
+ identifier.hash
481
+ end
482
+
483
+ # Dumps this Timezone for marshalling.
484
+ def _dump(limit)
485
+ identifier
486
+ end
487
+
488
+ # Loads a marshalled Timezone.
489
+ def self._load(data)
490
+ Timezone.get(data)
491
+ end
492
+
493
+ private
494
+ # Loads in the index of timezones if it hasn't already been loaded.
495
+ def self.load_index
496
+ unless @@index_loaded
497
+ require 'tzinfo/indexes/timezones'
498
+ @@index_loaded = true
499
+ end
500
+ end
501
+
502
+ # Returns an array of proxies corresponding to the given array of
503
+ # identifiers.
504
+ def self.get_proxies(identifiers)
505
+ identifiers.collect {|identifier| get_proxy(identifier)}
506
+ end
507
+ end
508
+ end
@@ -0,0 +1,56 @@
1
+ #--
2
+ # Copyright (c) 2006 Philip Ross
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ # THE SOFTWARE.
21
+ #++
22
+
23
+ require 'tzinfo/data_timezone_info'
24
+ require 'tzinfo/linked_timezone_info'
25
+
26
+ module TZInfo
27
+
28
+ # TimezoneDefinition is included into Timezone definition modules.
29
+ # TimezoneDefinition provides the methods for defining timezones.
30
+ module TimezoneDefinition #:nodoc:
31
+ # Add class methods to the includee.
32
+ def self.append_features(base)
33
+ super
34
+ base.extend(ClassMethods)
35
+ end
36
+
37
+ # Class methods for inclusion.
38
+ module ClassMethods #:nodoc:
39
+ # Returns and yields a DataTimezoneInfo object to define a timezone.
40
+ def timezone(identifier)
41
+ yield @timezone = DataTimezoneInfo.new(identifier)
42
+ end
43
+
44
+ # Defines a linked timezone.
45
+ def linked_timezone(identifier, link_to_identifier)
46
+ @timezone = LinkedTimezoneInfo.new(identifier, link_to_identifier)
47
+ end
48
+
49
+ # Returns the last TimezoneInfo to be defined with timezone or
50
+ # linked_timezone.
51
+ def get
52
+ @timezone
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,40 @@
1
+ #--
2
+ # Copyright (c) 2006 Philip Ross
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ # THE SOFTWARE.
21
+ #++
22
+
23
+ module TZInfo
24
+ # Represents a timezone defined in a data module.
25
+ class TimezoneInfo #:nodoc:
26
+
27
+ # The timezone identifier.
28
+ attr_reader :identifier
29
+
30
+ # Constructs a new TimezoneInfo with an identifier.
31
+ def initialize(identifier)
32
+ @identifier = identifier
33
+ end
34
+
35
+ # Returns internal object state as a programmer-readable string.
36
+ def inspect
37
+ "#<#{self.class}: #@identifier>"
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,94 @@
1
+ #--
2
+ # Copyright (c) 2006 Philip Ross
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all
12
+ # copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ # THE SOFTWARE.
21
+ #++
22
+
23
+ module TZInfo
24
+ # Represents an offset defined in a Timezone data file.
25
+ class TimezoneOffsetInfo #:nodoc:
26
+ # The base offset of the timezone from UTC in seconds.
27
+ attr_reader :utc_offset
28
+
29
+ # The offset from standard time for the zone in seconds (i.e. non-zero if
30
+ # daylight savings is being observed).
31
+ attr_reader :std_offset
32
+
33
+ # The total offset of this observance from UTC in seconds
34
+ # (utc_offset + std_offset).
35
+ attr_reader :utc_total_offset
36
+
37
+ # The abbreviation that identifies this observance, e.g. "GMT"
38
+ # (Greenwich Mean Time) or "BST" (British Summer Time) for "Europe/London". The returned identifier is a
39
+ # symbol.
40
+ attr_reader :abbreviation
41
+
42
+ # Constructs a new TimezoneOffsetInfo. utc_offset and std_offset are
43
+ # specified in seconds.
44
+ def initialize(utc_offset, std_offset, abbreviation)
45
+ @utc_offset = utc_offset
46
+ @std_offset = std_offset
47
+ @abbreviation = abbreviation
48
+
49
+ @utc_total_offset = @utc_offset + @std_offset
50
+ end
51
+
52
+ # True if std_offset is non-zero.
53
+ def dst?
54
+ @std_offset != 0
55
+ end
56
+
57
+ # Converts a UTC DateTime to local time based on the offset of this period.
58
+ def to_local(utc)
59
+ TimeOrDateTime.wrap(utc) {|wrapped|
60
+ wrapped + @utc_total_offset
61
+ }
62
+ end
63
+
64
+ # Converts a local DateTime to UTC based on the offset of this period.
65
+ def to_utc(local)
66
+ TimeOrDateTime.wrap(local) {|wrapped|
67
+ wrapped - @utc_total_offset
68
+ }
69
+ end
70
+
71
+ # Returns true if and only if toi has the same utc_offset, std_offset
72
+ # and abbreviation as this TimezoneOffsetInfo.
73
+ def ==(toi)
74
+ toi.respond_to?(:utc_offset) && toi.respond_to?(:std_offset) && toi.respond_to?(:abbreviation) &&
75
+ utc_offset == toi.utc_offset && std_offset == toi.std_offset && abbreviation == toi.abbreviation
76
+ end
77
+
78
+ # Returns true if and only if toi has the same utc_offset, std_offset
79
+ # and abbreviation as this TimezoneOffsetInfo.
80
+ def eql?(toi)
81
+ self == toi
82
+ end
83
+
84
+ # Returns a hash of this TimezoneOffsetInfo.
85
+ def hash
86
+ utc_offset.hash ^ std_offset.hash ^ abbreviation.hash
87
+ end
88
+
89
+ # Returns internal object state as a programmer-readable string.
90
+ def inspect
91
+ "#<#{self.class}: #@utc_offset,#@std_offset,#@abbreviation>"
92
+ end
93
+ end
94
+ end