spree 0.0.8 → 0.0.9

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

Potentially problematic release.


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

Files changed (1960) hide show
  1. data/CHANGELOG +47 -0
  2. data/CONTRIBUTORS +27 -0
  3. data/INSTALL +27 -0
  4. data/{starter-app/vendor/plugins/spree/LICENSE → LICENSE} +0 -0
  5. data/{README.txt → README} +0 -0
  6. data/Rakefile +11 -4
  7. data/{starter-app/vendor/plugins/spree/app → app}/controllers/account_controller.rb +0 -0
  8. data/{starter-app/vendor/plugins/spree/app → app}/controllers/admin/base_controller.rb +0 -0
  9. data/{starter-app/vendor/plugins/spree/app → app}/controllers/admin/categories_controller.rb +0 -0
  10. data/{starter-app/vendor/plugins/spree/app → app}/controllers/admin/images_controller.rb +0 -0
  11. data/app/controllers/admin/inventory_units_controller.rb +27 -0
  12. data/{starter-app/vendor/plugins/spree/app → app}/controllers/admin/option_types_controller.rb +0 -0
  13. data/app/controllers/admin/orders_controller.rb +272 -0
  14. data/{starter-app/vendor/plugins/spree/app → app}/controllers/admin/overview_controller.rb +0 -0
  15. data/app/controllers/admin/products_controller.rb +169 -0
  16. data/{starter-app/vendor/plugins/spree/app → app}/controllers/admin/reports_controller.rb +0 -0
  17. data/{starter-app/vendor/plugins/spree/app → app}/controllers/admin/users_controller.rb +0 -0
  18. data/app/controllers/application.rb +24 -0
  19. data/app/controllers/cart_controller.rb +44 -0
  20. data/app/controllers/checkout_controller.rb +180 -0
  21. data/app/controllers/spree/base_controller.rb +47 -0
  22. data/{starter-app/vendor/plugins/spree/app → app}/controllers/store_controller.rb +0 -0
  23. data/{starter-app/vendor/plugins/spree/app → app}/helpers/account_helper.rb +0 -0
  24. data/{starter-app/vendor/plugins/spree/app → app}/helpers/admin/base_helper.rb +0 -0
  25. data/{starter-app/vendor/plugins/spree/app → app}/helpers/admin/categories_helper.rb +0 -0
  26. data/{starter-app/vendor/plugins/spree/app → app}/helpers/admin/option_values_helper.rb +0 -0
  27. data/{starter-app/vendor/plugins/spree/app → app}/helpers/admin/orders_helper.rb +0 -0
  28. data/{starter-app/vendor/plugins/spree/app → app}/helpers/admin/overview_helper.rb +0 -0
  29. data/{starter-app/vendor/plugins/spree/app → app}/helpers/admin/products_helper.rb +0 -0
  30. data/{starter-app/vendor/plugins/spree/app → app}/helpers/admin/users_helper.rb +0 -0
  31. data/app/helpers/application_helper.rb +9 -0
  32. data/{starter-app/vendor/plugins/spree/app → app}/helpers/cart_helper.rb +0 -0
  33. data/app/helpers/checkout_helper.rb +14 -0
  34. data/{starter-app/vendor/plugins/spree/app → app}/helpers/search_helper.rb +0 -0
  35. data/app/helpers/spree/base_helper.rb +105 -0
  36. data/{starter-app/vendor/plugins/spree/app → app}/helpers/store_helper.rb +0 -0
  37. data/{starter-app/vendor/plugins/spree/app → app}/models/address.rb +0 -0
  38. data/{starter-app/vendor/plugins/spree/app → app}/models/cart.rb +0 -0
  39. data/app/models/cart_item.rb +29 -0
  40. data/{starter-app/vendor/plugins/spree/app → app}/models/category.rb +0 -0
  41. data/{starter-app/vendor/plugins/spree/app → app}/models/country.rb +0 -0
  42. data/{starter-app/vendor/plugins/spree/app → app}/models/credit_card.rb +0 -0
  43. data/app/models/image.rb +13 -0
  44. data/app/models/inventory_level.rb +19 -0
  45. data/app/models/inventory_unit.rb +49 -0
  46. data/{starter-app/vendor/plugins/spree/app → app}/models/line_item.rb +0 -0
  47. data/{starter-app/vendor/plugins/spree/app → app}/models/option_type.rb +0 -0
  48. data/{starter-app/vendor/plugins/spree/app → app}/models/option_value.rb +0 -0
  49. data/app/models/order.rb +88 -0
  50. data/{starter-app/vendor/plugins/spree/app → app}/models/order_mailer.rb +0 -0
  51. data/{starter-app/vendor/plugins/spree/app → app}/models/order_operation.rb +0 -0
  52. data/{starter-app/vendor/plugins/spree/app → app}/models/payment.rb +0 -0
  53. data/app/models/product.rb +64 -0
  54. data/{starter-app/vendor/plugins/spree/app → app}/models/product_option_type.rb +0 -0
  55. data/{starter-app/app → app}/models/role.rb +0 -0
  56. data/{starter-app/vendor/plugins/spree/app → app}/models/search_criteria.rb +0 -0
  57. data/{starter-app/vendor/plugins/spree/app → app}/models/state.rb +0 -0
  58. data/{starter-app/vendor/plugins/spree/app → app}/models/tax_treatment.rb +0 -0
  59. data/{starter-app/vendor/plugins/spree/app → app}/models/txn.rb +0 -0
  60. data/{starter-app/app → app}/models/user.rb +0 -0
  61. data/app/models/variant.rb +11 -0
  62. data/{starter-app/vendor/plugins/spree/app → app}/views/account/index.rhtml +0 -0
  63. data/{starter-app/vendor/plugins/spree/app → app}/views/account/login.rhtml +0 -0
  64. data/{starter-app/vendor/plugins/spree/app → app}/views/account/signup.rhtml +0 -0
  65. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/categories/_form.rhtml +0 -0
  66. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/categories/edit.rhtml +0 -0
  67. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/categories/list.rhtml +0 -0
  68. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/categories/new.rhtml +0 -0
  69. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/images/new.html.erb +0 -0
  70. data/app/views/admin/inventory_units/adjust.html.erb +32 -0
  71. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/option_types/_form.rhtml +0 -0
  72. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/option_types/_new_option_value.rhtml +0 -0
  73. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/option_types/_option_values.rhtml +0 -0
  74. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/option_types/edit.rhtml +0 -0
  75. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/option_types/index.rhtml +0 -0
  76. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/option_types/new.rhtml +0 -0
  77. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/option_types/select.rhtml +0 -0
  78. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/orders/_address.rhtml +0 -0
  79. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/orders/index.rhtml +0 -0
  80. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/orders/show.rhtml +0 -0
  81. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/overview/index.rhtml +0 -0
  82. data/app/views/admin/products/_form.rhtml +70 -0
  83. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/products/_menu.rhtml +0 -0
  84. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/products/_new_variant.rhtml +0 -0
  85. data/app/views/admin/products/_option_types.rhtml +42 -0
  86. data/app/views/admin/products/_variants.rhtml +50 -0
  87. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/products/edit.rhtml +0 -0
  88. data/app/views/admin/products/index.rhtml +62 -0
  89. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/products/new.rhtml +0 -0
  90. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/reports/index.rhtml +0 -0
  91. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/reports/sales_total.rhtml +0 -0
  92. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/users/_form.rhtml +0 -0
  93. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/users/_menu.rhtml +0 -0
  94. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/users/edit.rhtml +0 -0
  95. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/users/index.rhtml +0 -0
  96. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/users/new.rhtml +0 -0
  97. data/{starter-app/vendor/plugins/spree/app → app}/views/admin/users/show.rhtml +0 -0
  98. data/app/views/cart/index.rhtml +49 -0
  99. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/_address.rhtml +0 -0
  100. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/_address_ro.rhtml +0 -0
  101. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/_cart_item.rhtml +0 -0
  102. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/_extra.rhtml +0 -0
  103. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/addresses.rhtml +0 -0
  104. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/cvv.rhtml +0 -0
  105. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/empty_cart.rhtml +0 -0
  106. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/final_confirmation.rhtml +0 -0
  107. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/incomplete.rhtml +0 -0
  108. data/{starter-app/vendor/plugins/spree/app → app}/views/checkout/thank_you.rhtml +0 -0
  109. data/app/views/layouts/admin.rhtml +70 -0
  110. data/app/views/layouts/application.rhtml +50 -0
  111. data/app/views/layouts/products.rhtml +19 -0
  112. data/{starter-app/vendor/plugins/spree/app → app}/views/layouts/simple.rhtml +0 -0
  113. data/app/views/order_mailer/cancel.rhtml +15 -0
  114. data/app/views/order_mailer/confirm.rhtml +18 -0
  115. data/{starter-app/vendor/plugins/spree/app → app}/views/shared/_images.html.erb +0 -0
  116. data/{starter-app/vendor/plugins/spree/app → app}/views/shared/_order_details.rhtml +0 -0
  117. data/{starter-app/vendor/plugins/spree/app → app}/views/shared/_paginate.rhtml +0 -0
  118. data/{starter-app/vendor/plugins/spree/app → app}/views/shared/_report_criteria.rhtml +0 -0
  119. data/{starter-app/app → app}/views/shared/_store_menu.rhtml +0 -0
  120. data/{starter-app/vendor/plugins/spree/app → app}/views/shared/_tax_treatments.rhtml +0 -0
  121. data/{starter-app/vendor/plugins/spree/app → app}/views/store/_image.html.erb +0 -0
  122. data/{starter-app/vendor/plugins/spree/app → app}/views/store/_products.rhtml +0 -0
  123. data/{starter-app/vendor/plugins/spree/app → app}/views/store/_thumbnails.html.erb +0 -0
  124. data/app/views/store/list.rhtml +14 -0
  125. data/app/views/store/show.rhtml +60 -0
  126. data/bin/spree +35 -144
  127. data/config/boot.rb +148 -0
  128. data/{starter-app/config → config}/database.yml +0 -0
  129. data/config/environment.rb +143 -0
  130. data/config/environments/development.rb +24 -0
  131. data/{starter-app/config → config}/environments/production.rb +0 -0
  132. data/{starter-app/config → config}/environments/test.rb +0 -0
  133. data/config/routes.rb +31 -0
  134. data/db/development_structure.sql +267 -0
  135. data/{starter-app/vendor/plugins/spree/db → db}/migrate/001_create_addresses.rb +0 -0
  136. data/{starter-app/vendor/plugins/spree/db → db}/migrate/002_create_cart_items.rb +0 -0
  137. data/{starter-app/vendor/plugins/spree/db → db}/migrate/003_create_carts.rb +0 -0
  138. data/{starter-app/vendor/plugins/spree/db → db}/migrate/004_create_categories.rb +0 -0
  139. data/{starter-app/vendor/plugins/spree/db → db}/migrate/005_create_categories_products.rb +0 -0
  140. data/{starter-app/vendor/plugins/spree/db → db}/migrate/006_create_line_items.rb +0 -0
  141. data/{starter-app/vendor/plugins/spree/db → db}/migrate/007_create_option_values.rb +0 -0
  142. data/db/migrate/008_create_orders.rb +23 -0
  143. data/db/migrate/009_create_products.rb +16 -0
  144. data/{starter-app/vendor/plugins/spree/db → db}/migrate/010_create_txns.rb +0 -0
  145. data/db/migrate/011_create_variants.rb +12 -0
  146. data/{starter-app/vendor/plugins/spree/db → db}/migrate/012_create_tax_treatments.rb +0 -0
  147. data/{starter-app/vendor/plugins/spree/db/migrate/014_create_countries.rb → db/migrate/013_create_countries.rb} +0 -0
  148. data/{starter-app/vendor/plugins/spree/db/migrate/015_create_states.rb → db/migrate/014_create_states.rb} +0 -0
  149. data/{starter-app/vendor/plugins/spree/db/migrate/016_create_option_types.rb → db/migrate/015_create_option_types.rb} +0 -0
  150. data/{starter-app/vendor/plugins/spree/db/migrate/017_create_product_option_types.rb → db/migrate/016_create_product_option_types.rb} +0 -0
  151. data/{starter-app/vendor/plugins/spree/db/migrate/018_create_option_values_variants.rb → db/migrate/017_create_option_values_variants.rb} +0 -0
  152. data/db/migrate/018_create_images.rb +20 -0
  153. data/{starter-app/vendor/plugins/spree/db/migrate/020_create_credit_cards.rb → db/migrate/019_create_credit_cards.rb} +0 -0
  154. data/{starter-app/vendor/plugins/spree/db/migrate/021_create_order_operations.rb → db/migrate/020_create_order_operations.rb} +0 -0
  155. data/db/migrate/021_create_inventory_units.rb +15 -0
  156. data/{starter-app/db/migrate/001_create_users.rb → db/migrate/022_create_users.rb} +0 -0
  157. data/{starter-app/db/migrate/002_create_roles.rb → db/migrate/023_create_roles.rb} +0 -0
  158. data/{starter-app/db → db}/sample/addresses.yml +0 -0
  159. data/{starter-app/db → db}/sample/categories.yml +0 -0
  160. data/{starter-app/db → db}/sample/countries.yml +0 -0
  161. data/db/sample/credit_cards.yml +12 -0
  162. data/db/sample/images.yml +300 -0
  163. data/{starter-app/vendor/plugins/spree/assets/images/products → db/sample/images}/ror_bag.jpg +0 -0
  164. data/{starter-app/vendor/plugins/spree/assets/images/products → db/sample/images}/ror_baseball_jersey.jpg +0 -0
  165. data/{starter-app/vendor/plugins/spree/assets/images/products → db/sample/images}/ror_jr_spaghetti.jpg +0 -0
  166. data/{starter-app/vendor/plugins/spree/assets/images/products → db/sample/images}/ror_mug.jpg +0 -0
  167. data/{starter-app/vendor/plugins/spree/assets/images/products → db/sample/images}/ror_ringer_tshirt.jpg +0 -0
  168. data/{starter-app/vendor/plugins/spree/assets/images/products → db/sample/images}/ror_stein.jpg +0 -0
  169. data/{starter-app/vendor/plugins/spree/assets/images/products → db/sample/images}/ror_tote.jpg +0 -0
  170. data/db/sample/inventory_units.yml +98 -0
  171. data/db/sample/line_items.yml +25 -0
  172. data/{starter-app/db → db}/sample/option_types.yml +0 -0
  173. data/{starter-app/db → db}/sample/option_values.yml +0 -0
  174. data/db/sample/orders.yml +15 -0
  175. data/{starter-app/db → db}/sample/product_option_types.yml +0 -0
  176. data/{starter-app/db → db}/sample/products.yml +0 -0
  177. data/{starter-app/db → db}/sample/roles.yml +0 -0
  178. data/{starter-app/db → db}/sample/states.yml +0 -0
  179. data/{starter-app/db → db}/sample/txns.yml +0 -0
  180. data/{starter-app/db → db}/sample/users.yml +0 -0
  181. data/db/sample/variants.yml +61 -0
  182. data/{starter-app/lib → lib}/authenticated_system.rb +0 -0
  183. data/{starter-app/lib → lib}/authenticated_test_helper.rb +0 -0
  184. data/{starter-app/lib → lib}/custom_fixtures.rb +0 -0
  185. data/{starter-app/vendor/plugins/spree/lib/shipping → lib}/flat_rate.rb +0 -0
  186. data/{starter-app/vendor/plugins/spree/lib → lib}/format.rb +0 -0
  187. data/lib/generators/instance/instance_generator.rb +129 -0
  188. data/lib/generators/instance/templates/databases/mysql.yml +47 -0
  189. data/lib/generators/instance/templates/databases/postgresql.yml +44 -0
  190. data/lib/generators/instance/templates/databases/sqlite3.yml +16 -0
  191. data/lib/generators/instance/templates/databases/sqlserver.yml +20 -0
  192. data/lib/generators/instance/templates/demo_mongrel_cluster.yml +7 -0
  193. data/lib/generators/instance/templates/demo_robots.txt +2 -0
  194. data/lib/generators/instance/templates/instance_boot.rb +148 -0
  195. data/lib/generators/instance/templates/instance_environment.rb +136 -0
  196. data/lib/generators/instance/templates/instance_generate +16 -0
  197. data/lib/generators/instance/templates/instance_rakefile +3 -0
  198. data/lib/generators/instance/templates/instance_routes.rb +1 -0
  199. data/{starter-app/lib → lib}/hijacker.rb +0 -0
  200. data/lib/plugins/extension_patches/init.rb +7 -0
  201. data/lib/plugins/extension_patches/lib/fixture_loading_extension.rb +80 -0
  202. data/lib/plugins/extension_patches/lib/mailer_hack.rb +8 -0
  203. data/lib/plugins/extension_patches/lib/routing_extension.rb +37 -0
  204. data/{starter-app/vendor → lib}/plugins/paginating_find/CHANGELOG +0 -0
  205. data/{starter-app/vendor → lib}/plugins/paginating_find/README +0 -0
  206. data/{starter-app/vendor → lib}/plugins/paginating_find/init.rb +0 -0
  207. data/{starter-app/vendor → lib}/plugins/paginating_find/lib/paginating_find.rb +0 -0
  208. data/{starter-app/vendor → lib}/plugins/paginating_find/lib/paging_enumerator.rb +0 -0
  209. data/{starter-app/vendor → lib}/plugins/paginating_find/lib/paging_helper.rb +0 -0
  210. data/{starter-app → lib/plugins/paginating_find/test_app}/Rakefile +0 -0
  211. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/app/controllers/application.rb +0 -0
  212. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/config/boot.rb +0 -0
  213. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/config/database.yml +0 -0
  214. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/config/environment.rb +0 -0
  215. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/config/environments/test.rb +0 -0
  216. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/config/routes.rb +0 -0
  217. data/{starter-app → lib/plugins/paginating_find/test_app}/script/breakpointer +0 -0
  218. data/{starter-app → lib/plugins/paginating_find/test_app}/script/console +0 -0
  219. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/fixtures/articles.yml +0 -0
  220. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/fixtures/authors.yml +0 -0
  221. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/fixtures/edits.yml +0 -0
  222. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/fixtures/models.rb +0 -0
  223. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/test_helper.rb +0 -0
  224. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/unit/abstract_test.rb +0 -0
  225. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/unit/group_test.rb +0 -0
  226. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/unit/paginating_find_test.rb +0 -0
  227. data/{starter-app/vendor → lib}/plugins/paginating_find/test_app/test/unit/paging_enumerator_test.rb +0 -0
  228. data/{starter-app/lib → lib}/role_requirement_system.rb +0 -0
  229. data/{starter-app/lib → lib}/role_requirement_test_helper.rb +0 -0
  230. data/lib/sales_tax.rb +26 -0
  231. data/lib/spree.rb +22 -0
  232. data/{starter-app/vendor/plugins/spree/lib/gateway → lib/spree}/bogus_gateway.rb +0 -0
  233. data/lib/spree/initializer.rb +154 -0
  234. data/lib/spree/setup.rb +146 -0
  235. data/lib/tasks/database.rake +35 -0
  236. data/lib/tasks/environments.rake +11 -0
  237. data/lib/tasks/instance.rake +26 -0
  238. data/lib/tasks/release.rake +98 -0
  239. data/{starter-app/lib → lib}/tasks/sample/products/0000/0001/ror_tote.jpeg +0 -0
  240. data/{starter-app/lib → lib}/tasks/sample/products/0000/0001/ror_tote_mini.jpeg +0 -0
  241. data/{starter-app/lib → lib}/tasks/sample/products/0000/0001/ror_tote_product.jpeg +0 -0
  242. data/{starter-app/lib → lib}/tasks/sample/products/0000/0001/ror_tote_small.jpeg +0 -0
  243. data/{starter-app/lib → lib}/tasks/sample/products/0000/0002/ror_tote_back.jpeg +0 -0
  244. data/{starter-app/lib → lib}/tasks/sample/products/0000/0002/ror_tote_back_mini.jpeg +0 -0
  245. data/{starter-app/lib → lib}/tasks/sample/products/0000/0002/ror_tote_back_product.jpeg +0 -0
  246. data/{starter-app/lib → lib}/tasks/sample/products/0000/0002/ror_tote_back_small.jpeg +0 -0
  247. data/{starter-app/lib → lib}/tasks/sample/products/0000/0003/ror_bag.jpeg +0 -0
  248. data/{starter-app/lib → lib}/tasks/sample/products/0000/0003/ror_bag_mini.jpeg +0 -0
  249. data/{starter-app/lib → lib}/tasks/sample/products/0000/0003/ror_bag_product.jpeg +0 -0
  250. data/{starter-app/lib → lib}/tasks/sample/products/0000/0003/ror_bag_small.jpeg +0 -0
  251. data/{starter-app/lib → lib}/tasks/sample/products/0000/0004/ror_baseball.jpeg +0 -0
  252. data/{starter-app/lib → lib}/tasks/sample/products/0000/0004/ror_baseball_mini.jpeg +0 -0
  253. data/{starter-app/lib → lib}/tasks/sample/products/0000/0004/ror_baseball_product.jpeg +0 -0
  254. data/{starter-app/lib → lib}/tasks/sample/products/0000/0004/ror_baseball_small.jpeg +0 -0
  255. data/{starter-app/lib → lib}/tasks/sample/products/0000/0005/ror_baseball_back.jpeg +0 -0
  256. data/{starter-app/lib → lib}/tasks/sample/products/0000/0005/ror_baseball_back_mini.jpeg +0 -0
  257. data/{starter-app/lib → lib}/tasks/sample/products/0000/0005/ror_baseball_back_product.jpeg +0 -0
  258. data/{starter-app/lib → lib}/tasks/sample/products/0000/0005/ror_baseball_back_small.jpeg +0 -0
  259. data/{starter-app/lib → lib}/tasks/sample/products/0000/0006/ror_jr_spaghetti.jpeg +0 -0
  260. data/{starter-app/lib → lib}/tasks/sample/products/0000/0006/ror_jr_spaghetti_mini.jpeg +0 -0
  261. data/{starter-app/lib → lib}/tasks/sample/products/0000/0006/ror_jr_spaghetti_product.jpeg +0 -0
  262. data/{starter-app/lib → lib}/tasks/sample/products/0000/0006/ror_jr_spaghetti_small.jpeg +0 -0
  263. data/{starter-app/lib → lib}/tasks/sample/products/0000/0007/ror_mug.jpeg +0 -0
  264. data/{starter-app/lib → lib}/tasks/sample/products/0000/0007/ror_mug_mini.jpeg +0 -0
  265. data/{starter-app/lib → lib}/tasks/sample/products/0000/0007/ror_mug_product.jpeg +0 -0
  266. data/{starter-app/lib → lib}/tasks/sample/products/0000/0007/ror_mug_small.jpeg +0 -0
  267. data/{starter-app/lib → lib}/tasks/sample/products/0000/0008/ror_mug_back.jpeg +0 -0
  268. data/{starter-app/lib → lib}/tasks/sample/products/0000/0008/ror_mug_back_mini.jpeg +0 -0
  269. data/{starter-app/lib → lib}/tasks/sample/products/0000/0008/ror_mug_back_product.jpeg +0 -0
  270. data/{starter-app/lib → lib}/tasks/sample/products/0000/0008/ror_mug_back_small.jpeg +0 -0
  271. data/{starter-app/lib → lib}/tasks/sample/products/0000/0009/ror_ringer.jpeg +0 -0
  272. data/{starter-app/lib → lib}/tasks/sample/products/0000/0009/ror_ringer_mini.jpeg +0 -0
  273. data/{starter-app/lib → lib}/tasks/sample/products/0000/0009/ror_ringer_product.jpeg +0 -0
  274. data/{starter-app/lib → lib}/tasks/sample/products/0000/0009/ror_ringer_small.jpeg +0 -0
  275. data/{starter-app/lib → lib}/tasks/sample/products/0000/0010/ror_ringer_back.jpeg +0 -0
  276. data/{starter-app/lib → lib}/tasks/sample/products/0000/0010/ror_ringer_back_mini.jpeg +0 -0
  277. data/{starter-app/lib → lib}/tasks/sample/products/0000/0010/ror_ringer_back_product.jpeg +0 -0
  278. data/{starter-app/lib → lib}/tasks/sample/products/0000/0010/ror_ringer_back_small.jpeg +0 -0
  279. data/{starter-app/lib → lib}/tasks/sample/products/0000/0011/ror_stein.jpeg +0 -0
  280. data/{starter-app/lib → lib}/tasks/sample/products/0000/0011/ror_stein_mini.jpeg +0 -0
  281. data/{starter-app/lib → lib}/tasks/sample/products/0000/0011/ror_stein_product.jpeg +0 -0
  282. data/{starter-app/lib → lib}/tasks/sample/products/0000/0011/ror_stein_small.jpeg +0 -0
  283. data/{starter-app/lib → lib}/tasks/sample/products/0000/0012/ror_stein_back.jpeg +0 -0
  284. data/{starter-app/lib → lib}/tasks/sample/products/0000/0012/ror_stein_back_mini.jpeg +0 -0
  285. data/{starter-app/lib → lib}/tasks/sample/products/0000/0012/ror_stein_back_product.jpeg +0 -0
  286. data/{starter-app/lib → lib}/tasks/sample/products/0000/0012/ror_stein_back_small.jpeg +0 -0
  287. data/{starter-app/lib → lib}/tasks/spree_sample_data.rake +0 -0
  288. data/{starter-app/log → log}/README +0 -0
  289. data/{starter-app/public → public}/.htaccess +0 -0
  290. data/{starter-app/public → public}/404.html +0 -0
  291. data/{starter-app/public → public}/500.html +0 -0
  292. data/{starter-app/public → public}/dispatch.cgi +0 -0
  293. data/{starter-app/public → public}/dispatch.fcgi +0 -0
  294. data/{starter-app/public → public}/dispatch.rb +0 -0
  295. data/{starter-app/public → public}/favicon.ico +0 -0
  296. data/{starter-app/vendor/plugins/spree/assets → public}/images/amex_cid.gif +0 -0
  297. data/{starter-app/vendor/plugins/calendar_date_select/public → public}/images/calendar_date_select/calendar.gif +0 -0
  298. data/{starter-app/vendor/plugins/spree/assets → public}/images/creditcard.gif +0 -0
  299. data/{starter-app/vendor/plugins/spree/assets → public}/images/discover_cid.gif +0 -0
  300. data/{starter-app/vendor/plugins/spree/assets → public}/images/master_cid.jpg +0 -0
  301. data/{starter-app/public → public}/images/rails.png +0 -0
  302. data/{starter-app/vendor/plugins/spree/assets → public}/images/spinner.gif +0 -0
  303. data/{starter-app/public → public}/images/spree.jpg +0 -0
  304. data/{starter-app/vendor/plugins/spree/assets → public}/images/spree/progress.gif +0 -0
  305. data/{starter-app/vendor/plugins/spree/assets → public}/images/spree/spinner.gif +0 -0
  306. data/{starter-app/vendor/plugins/spree/assets → public}/images/spree/spree.jpg +0 -0
  307. data/{starter-app/vendor/plugins/spree/assets → public}/images/visa_cid.gif +0 -0
  308. data/{starter-app/public → public}/javascripts/application.js +0 -0
  309. data/{starter-app/vendor/plugins/calendar_date_select/public → public}/javascripts/calendar_date_select/calendar_date_select.js +0 -0
  310. data/{starter-app/vendor/plugins/calendar_date_select/public → public}/javascripts/calendar_date_select/format_american.js +0 -0
  311. data/{starter-app/vendor/plugins/calendar_date_select/public → public}/javascripts/calendar_date_select/format_euro_24hr.js +0 -0
  312. data/{starter-app/vendor/plugins/calendar_date_select/public → public}/javascripts/calendar_date_select/format_finnish.js +0 -0
  313. data/{starter-app/vendor/plugins/calendar_date_select/public → public}/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -0
  314. data/{starter-app/vendor/plugins/calendar_date_select/public → public}/javascripts/calendar_date_select/format_italian.js +0 -0
  315. data/{starter-app/public → public}/javascripts/controls.js +0 -0
  316. data/{starter-app/public → public}/javascripts/dragdrop.js +0 -0
  317. data/{starter-app/public → public}/javascripts/effects.js +0 -0
  318. data/{starter-app/public → public}/javascripts/prototype.js +0 -0
  319. data/public/plugin_assets/README +5 -0
  320. data/public/plugin_assets/calendar_date_select/images/calendar_date_select/calendar.gif +0 -0
  321. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/calendar_date_select.js +439 -0
  322. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_american.js +34 -0
  323. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
  324. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_finnish.js +24 -0
  325. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_hyphen_ampm.js +36 -0
  326. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_italian.js +24 -0
  327. data/{starter-app/vendor/plugins/calendar_date_select/public → public/plugin_assets/calendar_date_select}/javascripts/calendar_date_select/locale/fi.js +0 -0
  328. data/{starter-app/vendor/plugins/calendar_date_select/public → public/plugin_assets/calendar_date_select}/stylesheets/calendar_date_select/blue.css +0 -0
  329. data/{starter-app/vendor/plugins/calendar_date_select/public → public/plugin_assets/calendar_date_select}/stylesheets/calendar_date_select/default.css +0 -0
  330. data/{starter-app/vendor/plugins/calendar_date_select/public → public/plugin_assets/calendar_date_select}/stylesheets/calendar_date_select/plain.css +0 -0
  331. data/{starter-app/vendor/plugins/calendar_date_select/public → public/plugin_assets/calendar_date_select}/stylesheets/calendar_date_select/red.css +0 -0
  332. data/{starter-app/vendor/plugins/calendar_date_select/public → public/plugin_assets/calendar_date_select}/stylesheets/calendar_date_select/silver.css +0 -0
  333. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/404.html +0 -0
  334. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/500.html +0 -0
  335. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/dispatch.cgi +0 -0
  336. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/dispatch.fcgi +0 -0
  337. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/dispatch.rb +0 -0
  338. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/favicon.ico +0 -0
  339. data/public/plugin_assets/spree/images/amex_cid.gif +0 -0
  340. data/public/plugin_assets/spree/images/creditcard.gif +0 -0
  341. data/public/plugin_assets/spree/images/discover_cid.gif +0 -0
  342. data/public/plugin_assets/spree/images/master_cid.jpg +0 -0
  343. data/public/plugin_assets/spree/images/products/ror_bag.jpg +0 -0
  344. data/public/plugin_assets/spree/images/products/ror_baseball_jersey.jpg +0 -0
  345. data/public/plugin_assets/spree/images/products/ror_jr_spaghetti.jpg +0 -0
  346. data/public/plugin_assets/spree/images/products/ror_mug.jpg +0 -0
  347. data/public/plugin_assets/spree/images/products/ror_ringer_tshirt.jpg +0 -0
  348. data/public/plugin_assets/spree/images/products/ror_stein.jpg +0 -0
  349. data/public/plugin_assets/spree/images/products/ror_tote.jpg +0 -0
  350. data/{starter-app/vendor/plugins/attachment_fu/test/fixtures/files → public/plugin_assets/spree/images}/rails.png +0 -0
  351. data/public/plugin_assets/spree/images/spinner.gif +0 -0
  352. data/public/plugin_assets/spree/images/spree/progress.gif +0 -0
  353. data/public/plugin_assets/spree/images/spree/spinner.gif +0 -0
  354. data/public/plugin_assets/spree/images/spree/spree.jpg +0 -0
  355. data/public/plugin_assets/spree/images/spree/spree_logo142x65.gif +0 -0
  356. data/public/plugin_assets/spree/images/spree/spree_logo245x112.gif +0 -0
  357. data/public/plugin_assets/spree/images/visa_cid.gif +0 -0
  358. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/javascripts/application.js +0 -0
  359. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/javascripts/controls.js +0 -0
  360. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/javascripts/dragdrop.js +0 -0
  361. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/javascripts/effects.js +0 -0
  362. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/javascripts/lowpro.js +0 -0
  363. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/javascripts/prototype.js +0 -0
  364. data/{starter-app/public → public/plugin_assets/spree}/robots.txt +0 -0
  365. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/stylesheets/cart/_controller.css +0 -0
  366. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/stylesheets/checkout/_controller.css +0 -0
  367. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/stylesheets/fullscreen.css +0 -0
  368. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/stylesheets/orders/_controller.css +0 -0
  369. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/stylesheets/products/_controller.css +0 -0
  370. data/public/plugin_assets/spree/stylesheets/spree-admin.css +355 -0
  371. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/stylesheets/spree.css +0 -0
  372. data/{starter-app/vendor/plugins/spree/assets → public/plugin_assets/spree}/stylesheets/store/_controller.css +0 -0
  373. data/{starter-app/vendor/plugins/spree/assets → public}/robots.txt +0 -0
  374. data/{starter-app/public → public}/stylesheets/application.css +0 -0
  375. data/public/stylesheets/calendar_date_select/blue.css +130 -0
  376. data/public/stylesheets/calendar_date_select/default.css +135 -0
  377. data/public/stylesheets/calendar_date_select/plain.css +128 -0
  378. data/public/stylesheets/calendar_date_select/red.css +135 -0
  379. data/public/stylesheets/calendar_date_select/silver.css +133 -0
  380. data/public/stylesheets/cart/_controller.css +71 -0
  381. data/{starter-app/public/stylesheets/checkout/_controller.css → public/stylesheets/checkout/_controller-override.css} +0 -0
  382. data/public/stylesheets/checkout/_controller.css +31 -0
  383. data/public/stylesheets/fullscreen.css +63 -0
  384. data/public/stylesheets/orders/_controller.css +3 -0
  385. data/public/stylesheets/products/_controller.css +38 -0
  386. data/public/stylesheets/spree-admin.css +355 -0
  387. data/public/stylesheets/spree.css +66 -0
  388. data/public/stylesheets/store/_controller.css +23 -0
  389. data/{starter-app/script → script}/about +0 -0
  390. data/{starter-app/vendor/plugins/paginating_find/test_app/script → script}/breakpointer +0 -0
  391. data/{starter-app/vendor/plugins/paginating_find/test_app/script → script}/console +0 -0
  392. data/script/destroy +2 -13
  393. data/script/generate +2 -13
  394. data/{starter-app/script → script}/performance/benchmarker +0 -0
  395. data/{starter-app/script → script}/performance/profiler +0 -0
  396. data/{starter-app/script → script}/plugin +0 -0
  397. data/{starter-app/script → script}/process/inspector +0 -0
  398. data/{starter-app/script → script}/process/reaper +0 -0
  399. data/{starter-app/script → script}/process/spawner +0 -0
  400. data/{starter-app/script → script}/runner +0 -0
  401. data/{starter-app/script → script}/server +0 -0
  402. data/{starter-app/script → script}/spec +0 -0
  403. data/{starter-app/script → script}/spec_server +0 -0
  404. data/spec/helpers/spree/base_helper_spec.rb +6 -0
  405. data/{starter-app/spec → spec}/models/cart_item_spec.rb +0 -0
  406. data/{starter-app/spec → spec}/models/cart_spec.rb +0 -0
  407. data/spec/models/inventory_unit_spec.rb +18 -0
  408. data/{starter-app/spec → spec}/models/line_item_spec.rb +0 -0
  409. data/spec/models/product_spec.rb +48 -0
  410. data/{starter-app/spec → spec}/rcov.opts +0 -0
  411. data/{starter-app/spec → spec}/spec.opts +0 -0
  412. data/{starter-app/spec → spec}/spec_helper.rb +0 -0
  413. data/spree.tmproj +444 -0
  414. data/{starter-app/stories → stories}/all.rb +0 -0
  415. data/{starter-app/stories → stories}/helper.rb +0 -0
  416. data/vendor/extensions/bogus_gateway/LICENSE +26 -0
  417. data/{starter-app/vendor → vendor}/plugins/acts_as_list/README +0 -0
  418. data/{starter-app/vendor → vendor}/plugins/acts_as_list/init.rb +0 -0
  419. data/{starter-app/vendor → vendor}/plugins/acts_as_list/lib/active_record/acts/list.rb +0 -0
  420. data/{starter-app/vendor → vendor}/plugins/acts_as_list/test/list_test.rb +0 -0
  421. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/README +0 -0
  422. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/Rakefile +0 -0
  423. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/init.rb +0 -0
  424. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/lib/active_record/acts/tree.rb +0 -0
  425. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
  426. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/test/acts_as_tree_test.rb +0 -0
  427. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/test/database.yml +0 -0
  428. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
  429. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
  430. data/{starter-app/vendor → vendor}/plugins/acts_as_tree/test/schema.rb +0 -0
  431. data/{starter-app/vendor → vendor}/plugins/attachment_fu/CHANGELOG +0 -0
  432. data/{starter-app/vendor → vendor}/plugins/attachment_fu/README +0 -0
  433. data/{starter-app/vendor → vendor}/plugins/attachment_fu/Rakefile +0 -0
  434. data/{starter-app/vendor → vendor}/plugins/attachment_fu/amazon_s3.yml.tpl +0 -0
  435. data/{starter-app/vendor → vendor}/plugins/attachment_fu/init.rb +0 -0
  436. data/{starter-app/vendor → vendor}/plugins/attachment_fu/install.rb +0 -0
  437. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/geometry.rb +0 -0
  438. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb +0 -0
  439. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/db_file_backend.rb +0 -0
  440. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb +0 -0
  441. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb +0 -0
  442. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb +0 -0
  443. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/mini_magick_processor.rb +0 -0
  444. data/{starter-app/vendor → vendor}/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb +0 -0
  445. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/amazon_s3.yml +0 -0
  446. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/backends/db_file_test.rb +0 -0
  447. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/backends/file_system_test.rb +0 -0
  448. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/backends/remote/s3_test.rb +0 -0
  449. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/base_attachment_tests.rb +0 -0
  450. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/basic_test.rb +0 -0
  451. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/database.yml +0 -0
  452. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/extra_attachment_test.rb +0 -0
  453. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/fixtures/attachment.rb +0 -0
  454. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/fixtures/files/fake/rails.png +0 -0
  455. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/fixtures/files/foo.txt +0 -0
  456. data/{starter-app/vendor/plugins/spree/assets/images → vendor/plugins/attachment_fu/test/fixtures/files}/rails.png +0 -0
  457. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/geometry_test.rb +0 -0
  458. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/processors/image_science_test.rb +0 -0
  459. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/processors/mini_magick_test.rb +0 -0
  460. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/processors/rmagick_test.rb +0 -0
  461. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/schema.rb +0 -0
  462. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/test_helper.rb +0 -0
  463. data/{starter-app/vendor → vendor}/plugins/attachment_fu/test/validation_test.rb +0 -0
  464. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/CHANGELOG +0 -0
  465. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/MIT-LICENSE +0 -0
  466. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/README +0 -0
  467. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/init.rb +0 -0
  468. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/js_test/functional/cds_test.html +0 -0
  469. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/js_test/prototype.js +0 -0
  470. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/js_test/test.css +0 -0
  471. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/js_test/unit/cds_helper_methods.html +0 -0
  472. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/js_test/unittest.js +0 -0
  473. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/lib/calendar_date_select.rb +0 -0
  474. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/lib/includes_helper.rb +0 -0
  475. data/vendor/plugins/calendar_date_select/public/images/calendar_date_select/calendar.gif +0 -0
  476. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +439 -0
  477. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_american.js +34 -0
  478. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
  479. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +24 -0
  480. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +36 -0
  481. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +24 -0
  482. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fi.js +10 -0
  483. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/blue.css +130 -0
  484. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/default.css +135 -0
  485. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/plain.css +128 -0
  486. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/red.css +135 -0
  487. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/silver.css +133 -0
  488. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/test/functional/calendar_date_select_test.rb +0 -0
  489. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/test/functional/helper_methods_test.rb +0 -0
  490. data/{starter-app/vendor → vendor}/plugins/calendar_date_select/test/test_helper.rb +0 -0
  491. data/vendor/plugins/enumerable_constants/README +4 -0
  492. data/vendor/plugins/enumerable_constants/Rakefile +22 -0
  493. data/vendor/plugins/enumerable_constants/init.rb +1 -0
  494. data/{starter-app/vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt → vendor/plugins/enumerable_constants/install.rb} +0 -0
  495. data/vendor/plugins/enumerable_constants/lib/enumerable_constants.rb +204 -0
  496. data/vendor/plugins/enumerable_constants/tasks/enumerable_constants_tasks.rake +4 -0
  497. data/vendor/plugins/enumerable_constants/test/enumerable_constants_test.rb +8 -0
  498. data/{starter-app/vendor → vendor}/plugins/in_place_editing/README +0 -0
  499. data/{starter-app/vendor → vendor}/plugins/in_place_editing/Rakefile +0 -0
  500. data/{starter-app/vendor → vendor}/plugins/in_place_editing/init.rb +0 -0
  501. data/{starter-app/vendor → vendor}/plugins/in_place_editing/lib/in_place_editing.rb +0 -0
  502. data/{starter-app/vendor → vendor}/plugins/in_place_editing/lib/in_place_macros_helper.rb +0 -0
  503. data/{starter-app/vendor → vendor}/plugins/in_place_editing/test/in_place_editing_test.rb +0 -0
  504. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/MIT-LICENSE +0 -0
  505. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/README +0 -0
  506. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/Rakefile +0 -0
  507. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/CHANGES +0 -0
  508. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/rspec_generator.rb +0 -0
  509. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/templates/all_stories.rb +0 -0
  510. data/{starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_partial.rhtml → vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt} +0 -0
  511. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/templates/rcov.opts +0 -0
  512. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/templates/script/spec +0 -0
  513. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +0 -0
  514. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +0 -0
  515. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +0 -0
  516. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec/templates/stories_helper.rb +0 -0
  517. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_controller/USAGE +0 -0
  518. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_controller/rspec_controller_generator.rb +0 -0
  519. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +0 -0
  520. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +0 -0
  521. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +0 -0
  522. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_model/USAGE +0 -0
  523. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_model/rspec_model_generator.rb +0 -0
  524. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +0 -0
  525. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +0 -0
  526. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +0 -0
  527. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +0 -0
  528. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +0 -0
  529. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +0 -0
  530. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +0 -0
  531. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/templates/routing_spec.rb +0 -0
  532. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +0 -0
  533. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/init.rb +0 -0
  534. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/autotest/discover.rb +0 -0
  535. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +0 -0
  536. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails.rb +0 -0
  537. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example.rb +0 -0
  538. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb +0 -0
  539. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb +0 -0
  540. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/functional_example_group.rb +0 -0
  541. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/helper_example_group.rb +0 -0
  542. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/ivar_proxy.rb +0 -0
  543. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/model_example_group.rb +0 -0
  544. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb +0 -0
  545. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb +0 -0
  546. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb +0 -0
  547. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions.rb +0 -0
  548. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +0 -0
  549. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb +0 -0
  550. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb +0 -0
  551. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb +0 -0
  552. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb +0 -0
  553. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb +0 -0
  554. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/example/configuration.rb +0 -0
  555. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/matchers/have.rb +0 -0
  556. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +0 -0
  557. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +0 -0
  558. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +0 -0
  559. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +0 -0
  560. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +0 -0
  561. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb +0 -0
  562. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/lib/spec/rails/version.rb +0 -0
  563. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb +0 -0
  564. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb +0 -0
  565. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb +0 -0
  566. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/configuration_spec.rb +0 -0
  567. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb +0 -0
  568. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb +0 -0
  569. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/example_group_factory_spec.rb +0 -0
  570. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb +0 -0
  571. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/ivar_proxy_spec.rb +0 -0
  572. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/model_spec_spec.rb +0 -0
  573. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/shared_behaviour_spec.rb +0 -0
  574. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb +0 -0
  575. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb +0 -0
  576. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +0 -0
  577. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb +0 -0
  578. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +0 -0
  579. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +0 -0
  580. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +0 -0
  581. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb +0 -0
  582. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/matchers/have_text_spec.rb +0 -0
  583. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +0 -0
  584. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +0 -0
  585. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +0 -0
  586. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/sample_spec.rb +0 -0
  587. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb +0 -0
  588. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails/spec_spec.rb +0 -0
  589. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/rails_suite.rb +0 -0
  590. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec/spec_helper.rb +0 -0
  591. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/controllers/action_view_base_spec_controller.rb +0 -0
  592. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +0 -0
  593. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +0 -0
  594. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +0 -0
  595. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +0 -0
  596. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +0 -0
  597. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/helpers/more_explicit_helper.rb +0 -0
  598. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/helpers/plugin_application_helper.rb +0 -0
  599. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/helpers/view_spec_helper.rb +0 -0
  600. data/{starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml → vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_partial.rhtml} +0 -0
  601. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +0 -0
  602. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +0 -0
  603. data/{starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml → vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml} +0 -0
  604. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +0 -0
  605. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_template.rhtml +0 -0
  606. data/{starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml → vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml} +0 -0
  607. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.js.rjs +0 -0
  608. data/{starter-app/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_used_twice.rhtml → vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml} +0 -0
  609. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rjs +0 -0
  610. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +0 -0
  611. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_div.rjs +0 -0
  612. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_page_element.rjs +0 -0
  613. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/insert_html.rjs +0 -0
  614. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace.rjs +0 -0
  615. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html.rjs +0 -0
  616. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +0 -0
  617. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_effect.rjs +0 -0
  618. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +0 -0
  619. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/tag_spec/no_tags.rhtml +0 -0
  620. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +0 -0
  621. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +0 -0
  622. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial.rhtml +0 -0
  623. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
  624. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +0 -0
  625. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +0 -0
  626. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/_spacer.rhtml +0 -0
  627. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +0 -0
  628. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/entry_form.rhtml +0 -0
  629. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/explicit_helper.rhtml +0 -0
  630. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/foo/show.rhtml +0 -0
  631. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/implicit_helper.rhtml +0 -0
  632. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/multiple_helpers.rhtml +0 -0
  633. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial.rhtml +0 -0
  634. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +0 -0
  635. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +0 -0
  636. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/stories/all.rb +0 -0
  637. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/stories/helper.rb +0 -0
  638. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/stories/steps/people.rb +0 -0
  639. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/stories/transactions_should_rollback +0 -0
  640. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/stories/transactions_should_rollback.rb +0 -0
  641. data/{starter-app/vendor → vendor}/plugins/rspec_on_rails/tasks/rspec.rake +0 -0
  642. data/vendor/rails/TAG_rel_2-0-2 +0 -0
  643. data/vendor/rails/actionmailer/CHANGELOG +325 -0
  644. data/vendor/rails/actionmailer/MIT-LICENSE +21 -0
  645. data/vendor/rails/actionmailer/README +145 -0
  646. data/vendor/rails/actionmailer/Rakefile +96 -0
  647. data/vendor/rails/actionmailer/install.rb +30 -0
  648. data/vendor/rails/actionmailer/lib/action_mailer.rb +52 -0
  649. data/vendor/rails/actionmailer/lib/action_mailer/adv_attr_accessor.rb +30 -0
  650. data/vendor/rails/actionmailer/lib/action_mailer/base.rb +603 -0
  651. data/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +111 -0
  652. data/vendor/rails/actionmailer/lib/action_mailer/mail_helper.rb +19 -0
  653. data/vendor/rails/actionmailer/lib/action_mailer/part.rb +110 -0
  654. data/vendor/rails/actionmailer/lib/action_mailer/part_container.rb +51 -0
  655. data/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +59 -0
  656. data/vendor/rails/actionmailer/lib/action_mailer/test_case.rb +59 -0
  657. data/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb +67 -0
  658. data/vendor/rails/actionmailer/lib/action_mailer/utils.rb +8 -0
  659. data/vendor/rails/actionmailer/lib/action_mailer/vendor.rb +14 -0
  660. data/vendor/rails/actionmailer/lib/action_mailer/vendor/text-format-0.6.3/text/format.rb +1466 -0
  661. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail.rb +4 -0
  662. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/Makefile +19 -0
  663. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/address.rb +245 -0
  664. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/attachments.rb +47 -0
  665. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/base64.rb +52 -0
  666. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/compat.rb +39 -0
  667. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/config.rb +71 -0
  668. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb +67 -0
  669. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/encode.rb +481 -0
  670. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/facade.rb +552 -0
  671. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/header.rb +931 -0
  672. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/info.rb +35 -0
  673. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/interface.rb +540 -0
  674. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/loader.rb +1 -0
  675. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mail.rb +462 -0
  676. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mailbox.rb +435 -0
  677. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mbox.rb +1 -0
  678. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/net.rb +282 -0
  679. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/obsolete.rb +137 -0
  680. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.rb +1475 -0
  681. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.y +381 -0
  682. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/port.rb +379 -0
  683. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/quoting.rb +142 -0
  684. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner.rb +43 -0
  685. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner_r.rb +263 -0
  686. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/stringio.rb +279 -0
  687. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/tmail.rb +1 -0
  688. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/utils.rb +281 -0
  689. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/version.rb +38 -0
  690. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +9 -0
  691. data/vendor/rails/actionmailer/lib/actionmailer.rb +1 -0
  692. data/vendor/rails/actionmailer/test/abstract_unit.rb +49 -0
  693. data/vendor/rails/actionmailer/test/delivery_method_test.rb +51 -0
  694. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb +1 -0
  695. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml +0 -0
  696. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb +1 -0
  697. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml +0 -0
  698. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb +1 -0
  699. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml +0 -0
  700. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb +1 -0
  701. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml +0 -0
  702. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb +5 -0
  703. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml +0 -0
  704. data/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb +5 -0
  705. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb +1 -0
  706. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml +0 -0
  707. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml +0 -0
  708. data/vendor/rails/actionmailer/test/fixtures/raw_base64_decoded_string +0 -0
  709. data/vendor/rails/actionmailer/test/fixtures/raw_base64_encoded_string +1 -0
  710. data/vendor/rails/actionmailer/test/fixtures/raw_email +14 -0
  711. data/vendor/rails/actionmailer/test/fixtures/raw_email10 +20 -0
  712. data/vendor/rails/actionmailer/test/fixtures/raw_email12 +32 -0
  713. data/vendor/rails/actionmailer/test/fixtures/raw_email13 +29 -0
  714. data/vendor/rails/actionmailer/test/fixtures/raw_email2 +114 -0
  715. data/vendor/rails/actionmailer/test/fixtures/raw_email3 +70 -0
  716. data/vendor/rails/actionmailer/test/fixtures/raw_email4 +59 -0
  717. data/vendor/rails/actionmailer/test/fixtures/raw_email5 +19 -0
  718. data/vendor/rails/actionmailer/test/fixtures/raw_email6 +20 -0
  719. data/vendor/rails/actionmailer/test/fixtures/raw_email7 +66 -0
  720. data/vendor/rails/actionmailer/test/fixtures/raw_email8 +47 -0
  721. data/vendor/rails/actionmailer/test/fixtures/raw_email9 +28 -0
  722. data/vendor/rails/actionmailer/test/fixtures/raw_email_quoted_with_0d0a +14 -0
  723. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type +104 -0
  724. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment +100 -0
  725. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject +14 -0
  726. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb +1 -0
  727. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml +0 -0
  728. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb +3 -0
  729. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml +0 -0
  730. data/vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb +1 -0
  731. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml +6 -0
  732. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml +6 -0
  733. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb +1 -0
  734. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml +0 -0
  735. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb +10 -0
  736. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml +0 -0
  737. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb +2 -0
  738. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml +0 -0
  739. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb +1 -0
  740. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml +0 -0
  741. data/vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb +1 -0
  742. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder +2 -0
  743. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml +2 -0
  744. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.erb +3 -0
  745. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml +0 -0
  746. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb +5 -0
  747. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml +0 -0
  748. data/vendor/rails/actionmailer/test/mail_helper_test.rb +95 -0
  749. data/vendor/rails/actionmailer/test/mail_render_test.rb +122 -0
  750. data/vendor/rails/actionmailer/test/mail_service_test.rb +939 -0
  751. data/vendor/rails/actionmailer/test/quoting_test.rb +111 -0
  752. data/vendor/rails/actionmailer/test/test_helper_test.rb +117 -0
  753. data/vendor/rails/actionmailer/test/tmail_test.rb +22 -0
  754. data/vendor/rails/actionmailer/test/url_test.rb +76 -0
  755. data/vendor/rails/actionpack/CHANGELOG +4606 -0
  756. data/vendor/rails/actionpack/MIT-LICENSE +21 -0
  757. data/vendor/rails/actionpack/README +469 -0
  758. data/vendor/rails/actionpack/RUNNING_UNIT_TESTS +24 -0
  759. data/vendor/rails/actionpack/Rakefile +153 -0
  760. data/vendor/rails/actionpack/install.rb +30 -0
  761. data/vendor/rails/actionpack/lib/action_controller.rb +79 -0
  762. data/vendor/rails/actionpack/lib/action_controller/assertions.rb +69 -0
  763. data/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +39 -0
  764. data/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +19 -0
  765. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +166 -0
  766. data/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +143 -0
  767. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +640 -0
  768. data/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb +130 -0
  769. data/vendor/rails/actionpack/lib/action_controller/base.rb +1295 -0
  770. data/vendor/rails/actionpack/lib/action_controller/benchmarking.rb +94 -0
  771. data/vendor/rails/actionpack/lib/action_controller/caching.rb +683 -0
  772. data/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb +16 -0
  773. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb +106 -0
  774. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb +22 -0
  775. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb +73 -0
  776. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb +23 -0
  777. data/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +221 -0
  778. data/vendor/rails/actionpack/lib/action_controller/components.rb +165 -0
  779. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +84 -0
  780. data/vendor/rails/actionpack/lib/action_controller/dispatcher.rb +195 -0
  781. data/vendor/rails/actionpack/lib/action_controller/filters.rb +767 -0
  782. data/vendor/rails/actionpack/lib/action_controller/flash.rb +177 -0
  783. data/vendor/rails/actionpack/lib/action_controller/helpers.rb +204 -0
  784. data/vendor/rails/actionpack/lib/action_controller/http_authentication.rb +126 -0
  785. data/vendor/rails/actionpack/lib/action_controller/integration.rb +581 -0
  786. data/vendor/rails/actionpack/lib/action_controller/layout.rb +326 -0
  787. data/vendor/rails/actionpack/lib/action_controller/mime_responds.rb +170 -0
  788. data/vendor/rails/actionpack/lib/action_controller/mime_type.rb +163 -0
  789. data/vendor/rails/actionpack/lib/action_controller/mime_types.rb +20 -0
  790. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +88 -0
  791. data/vendor/rails/actionpack/lib/action_controller/record_identifier.rb +91 -0
  792. data/vendor/rails/actionpack/lib/action_controller/request.rb +730 -0
  793. data/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb +132 -0
  794. data/vendor/rails/actionpack/lib/action_controller/request_profiler.rb +138 -0
  795. data/vendor/rails/actionpack/lib/action_controller/rescue.rb +258 -0
  796. data/vendor/rails/actionpack/lib/action_controller/resources.rb +529 -0
  797. data/vendor/rails/actionpack/lib/action_controller/response.rb +76 -0
  798. data/vendor/rails/actionpack/lib/action_controller/routing.rb +1499 -0
  799. data/vendor/rails/actionpack/lib/action_controller/routing_optimisation.rb +119 -0
  800. data/vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb +336 -0
  801. data/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb +164 -0
  802. data/vendor/rails/actionpack/lib/action_controller/session/drb_server.rb +32 -0
  803. data/vendor/rails/actionpack/lib/action_controller/session/drb_store.rb +35 -0
  804. data/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb +98 -0
  805. data/vendor/rails/actionpack/lib/action_controller/session_management.rb +151 -0
  806. data/vendor/rails/actionpack/lib/action_controller/status_codes.rb +88 -0
  807. data/vendor/rails/actionpack/lib/action_controller/streaming.rb +141 -0
  808. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb +24 -0
  809. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb +26 -0
  810. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb +11 -0
  811. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb +29 -0
  812. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb +2 -0
  813. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb +10 -0
  814. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb +21 -0
  815. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb +2 -0
  816. data/vendor/rails/actionpack/lib/action_controller/test_case.rb +53 -0
  817. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +520 -0
  818. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +135 -0
  819. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +68 -0
  820. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +530 -0
  821. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb +173 -0
  822. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb +828 -0
  823. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +105 -0
  824. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb +11 -0
  825. data/vendor/rails/actionpack/lib/action_controller/verification.rb +114 -0
  826. data/vendor/rails/actionpack/lib/action_pack.rb +24 -0
  827. data/vendor/rails/actionpack/lib/action_pack/version.rb +9 -0
  828. data/vendor/rails/actionpack/lib/action_view.rb +37 -0
  829. data/vendor/rails/actionpack/lib/action_view/base.rb +642 -0
  830. data/vendor/rails/actionpack/lib/action_view/compiled_templates.rb +69 -0
  831. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +255 -0
  832. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +548 -0
  833. data/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb +111 -0
  834. data/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb +31 -0
  835. data/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb +39 -0
  836. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +162 -0
  837. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +689 -0
  838. data/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +31 -0
  839. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +689 -0
  840. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +425 -0
  841. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +432 -0
  842. data/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +217 -0
  843. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/controls.js +963 -0
  844. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/dragdrop.js +972 -0
  845. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/effects.js +1120 -0
  846. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/prototype.js +4225 -0
  847. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +179 -0
  848. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +1268 -0
  849. data/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb +20 -0
  850. data/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb +59 -0
  851. data/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb +223 -0
  852. data/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb +199 -0
  853. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +133 -0
  854. data/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +479 -0
  855. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +524 -0
  856. data/vendor/rails/actionpack/lib/action_view/partials.rb +200 -0
  857. data/vendor/rails/actionpack/lib/action_view/template_error.rb +102 -0
  858. data/vendor/rails/actionpack/lib/action_view/template_handler.rb +17 -0
  859. data/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb +19 -0
  860. data/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb +21 -0
  861. data/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb +14 -0
  862. data/vendor/rails/actionpack/lib/actionpack.rb +1 -0
  863. data/vendor/rails/actionpack/test/abstract_unit.rb +36 -0
  864. data/vendor/rails/actionpack/test/action_view_test.rb +44 -0
  865. data/vendor/rails/actionpack/test/active_record_unit.rb +108 -0
  866. data/vendor/rails/actionpack/test/activerecord/active_record_store_test.rb +142 -0
  867. data/vendor/rails/actionpack/test/activerecord/render_partial_with_record_identification_test.rb +74 -0
  868. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +492 -0
  869. data/vendor/rails/actionpack/test/controller/addresses_render_test.rb +43 -0
  870. data/vendor/rails/actionpack/test/controller/assert_select_test.rb +682 -0
  871. data/vendor/rails/actionpack/test/controller/base_test.rb +134 -0
  872. data/vendor/rails/actionpack/test/controller/benchmark_test.rb +33 -0
  873. data/vendor/rails/actionpack/test/controller/caching_test.rb +349 -0
  874. data/vendor/rails/actionpack/test/controller/capture_test.rb +89 -0
  875. data/vendor/rails/actionpack/test/controller/cgi_test.rb +115 -0
  876. data/vendor/rails/actionpack/test/controller/components_test.rb +140 -0
  877. data/vendor/rails/actionpack/test/controller/content_type_test.rb +139 -0
  878. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
  879. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
  880. data/vendor/rails/actionpack/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
  881. data/vendor/rails/actionpack/test/controller/cookie_test.rb +135 -0
  882. data/vendor/rails/actionpack/test/controller/custom_handler_test.rb +41 -0
  883. data/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +37 -0
  884. data/vendor/rails/actionpack/test/controller/dispatcher_test.rb +123 -0
  885. data/vendor/rails/actionpack/test/controller/fake_controllers.rb +16 -0
  886. data/vendor/rails/actionpack/test/controller/fake_models.rb +5 -0
  887. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +43 -0
  888. data/vendor/rails/actionpack/test/controller/filters_test.rb +856 -0
  889. data/vendor/rails/actionpack/test/controller/flash_test.rb +146 -0
  890. data/vendor/rails/actionpack/test/controller/fragment_store_setting_test.rb +47 -0
  891. data/vendor/rails/actionpack/test/controller/helper_test.rb +206 -0
  892. data/vendor/rails/actionpack/test/controller/html-scanner/document_test.rb +124 -0
  893. data/vendor/rails/actionpack/test/controller/html-scanner/node_test.rb +69 -0
  894. data/vendor/rails/actionpack/test/controller/html-scanner/sanitizer_test.rb +250 -0
  895. data/vendor/rails/actionpack/test/controller/html-scanner/tag_node_test.rb +239 -0
  896. data/vendor/rails/actionpack/test/controller/html-scanner/text_node_test.rb +51 -0
  897. data/vendor/rails/actionpack/test/controller/html-scanner/tokenizer_test.rb +125 -0
  898. data/vendor/rails/actionpack/test/controller/http_authentication_test.rb +54 -0
  899. data/vendor/rails/actionpack/test/controller/integration_test.rb +255 -0
  900. data/vendor/rails/actionpack/test/controller/layout_test.rb +239 -0
  901. data/vendor/rails/actionpack/test/controller/mime_responds_test.rb +506 -0
  902. data/vendor/rails/actionpack/test/controller/mime_type_test.rb +55 -0
  903. data/vendor/rails/actionpack/test/controller/new_render_test.rb +832 -0
  904. data/vendor/rails/actionpack/test/controller/polymorphic_routes_test.rb +98 -0
  905. data/vendor/rails/actionpack/test/controller/record_identifier_test.rb +103 -0
  906. data/vendor/rails/actionpack/test/controller/redirect_test.rb +258 -0
  907. data/vendor/rails/actionpack/test/controller/render_test.rb +464 -0
  908. data/vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb +217 -0
  909. data/vendor/rails/actionpack/test/controller/request_test.rb +836 -0
  910. data/vendor/rails/actionpack/test/controller/rescue_test.rb +501 -0
  911. data/vendor/rails/actionpack/test/controller/resources_test.rb +787 -0
  912. data/vendor/rails/actionpack/test/controller/routing_test.rb +2203 -0
  913. data/vendor/rails/actionpack/test/controller/selector_test.rb +628 -0
  914. data/vendor/rails/actionpack/test/controller/send_file_test.rb +127 -0
  915. data/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +246 -0
  916. data/vendor/rails/actionpack/test/controller/session/mem_cache_store_test.rb +182 -0
  917. data/vendor/rails/actionpack/test/controller/session_fixation_test.rb +89 -0
  918. data/vendor/rails/actionpack/test/controller/session_management_test.rb +156 -0
  919. data/vendor/rails/actionpack/test/controller/test_test.rb +623 -0
  920. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +246 -0
  921. data/vendor/rails/actionpack/test/controller/verification_test.rb +253 -0
  922. data/vendor/rails/actionpack/test/controller/view_paths_test.rb +137 -0
  923. data/vendor/rails/actionpack/test/controller/webservice_test.rb +184 -0
  924. data/vendor/rails/actionpack/test/fixtures/addresses/list.erb +1 -0
  925. data/vendor/rails/actionpack/test/fixtures/companies.yml +24 -0
  926. data/vendor/rails/actionpack/test/fixtures/company.rb +9 -0
  927. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_content_types_for_respond_to.rhtml +1 -0
  928. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rhtml.rhtml +1 -0
  929. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rjs.rjs +1 -0
  930. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rxml.rxml +1 -0
  931. data/vendor/rails/actionpack/test/fixtures/db_definitions/sqlite.sql +43 -0
  932. data/vendor/rails/actionpack/test/fixtures/developer.rb +9 -0
  933. data/vendor/rails/actionpack/test/fixtures/developers.yml +21 -0
  934. data/vendor/rails/actionpack/test/fixtures/developers_projects.yml +13 -0
  935. data/vendor/rails/actionpack/test/fixtures/fun/games/hello_world.erb +1 -0
  936. data/vendor/rails/actionpack/test/fixtures/helpers/abc_helper.rb +5 -0
  937. data/vendor/rails/actionpack/test/fixtures/helpers/fun/games_helper.rb +3 -0
  938. data/vendor/rails/actionpack/test/fixtures/helpers/fun/pdf_helper.rb +3 -0
  939. data/vendor/rails/actionpack/test/fixtures/layout_tests/alt/hello.rhtml +1 -0
  940. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +1 -0
  941. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/item.rhtml +1 -0
  942. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/layout_test.rhtml +1 -0
  943. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/multiple_extensions.html.erb +1 -0
  944. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/third_party_template_library.mab +1 -0
  945. data/vendor/rails/actionpack/test/fixtures/layout_tests/views/hello.rhtml +1 -0
  946. data/vendor/rails/actionpack/test/fixtures/layouts/builder.builder +3 -0
  947. data/vendor/rails/actionpack/test/fixtures/layouts/standard.erb +1 -0
  948. data/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.erb +2 -0
  949. data/vendor/rails/actionpack/test/fixtures/layouts/yield.erb +2 -0
  950. data/vendor/rails/actionpack/test/fixtures/multipart/binary_file +0 -0
  951. data/vendor/rails/actionpack/test/fixtures/multipart/bracketed_param +5 -0
  952. data/vendor/rails/actionpack/test/fixtures/multipart/large_text_file +10 -0
  953. data/vendor/rails/actionpack/test/fixtures/multipart/mixed_files +0 -0
  954. data/vendor/rails/actionpack/test/fixtures/multipart/mona_lisa.jpg +0 -0
  955. data/vendor/rails/actionpack/test/fixtures/multipart/single_parameter +5 -0
  956. data/vendor/rails/actionpack/test/fixtures/multipart/text_file +10 -0
  957. data/vendor/rails/actionpack/test/fixtures/override/test/hello_world.erb +1 -0
  958. data/vendor/rails/actionpack/test/fixtures/override2/layouts/test/sub.erb +1 -0
  959. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/post.html.erb +1 -0
  960. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/super_post.iphone.erb +1 -0
  961. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.html.erb +1 -0
  962. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.iphone.erb +1 -0
  963. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.html.erb +1 -0
  964. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.iphone.erb +1 -0
  965. data/vendor/rails/actionpack/test/fixtures/project.rb +3 -0
  966. data/vendor/rails/actionpack/test/fixtures/projects.yml +7 -0
  967. data/vendor/rails/actionpack/test/fixtures/public/404.html +1 -0
  968. data/vendor/rails/actionpack/test/fixtures/public/500.html +1 -0
  969. data/vendor/rails/actionpack/test/fixtures/public/images/rails.png +0 -0
  970. data/vendor/rails/actionpack/test/fixtures/public/javascripts/application.js +0 -0
  971. data/vendor/rails/actionpack/test/fixtures/public/javascripts/bank.js +1 -0
  972. data/vendor/rails/actionpack/test/fixtures/public/javascripts/robber.js +1 -0
  973. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/bank.css +1 -0
  974. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/robber.css +1 -0
  975. data/vendor/rails/actionpack/test/fixtures/replies.yml +15 -0
  976. data/vendor/rails/actionpack/test/fixtures/reply.rb +6 -0
  977. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.html.erb +1 -0
  978. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.js.rjs +1 -0
  979. data/vendor/rails/actionpack/test/fixtures/respond_to/custom_constant_handling_without_block.mobile.erb +1 -0
  980. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.html.erb +1 -0
  981. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.iphone.erb +1 -0
  982. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/missing.html.erb +1 -0
  983. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.html.erb +1 -0
  984. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.iphone.erb +1 -0
  985. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.html.erb +1 -0
  986. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.js.rjs +1 -0
  987. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.xml.builder +1 -0
  988. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.html.erb +1 -0
  989. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.js.rjs +1 -0
  990. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.xml.builder +1 -0
  991. data/vendor/rails/actionpack/test/fixtures/scope/test/modgreet.erb +1 -0
  992. data/vendor/rails/actionpack/test/fixtures/test/_customer.erb +1 -0
  993. data/vendor/rails/actionpack/test/fixtures/test/_customer_greeting.erb +1 -0
  994. data/vendor/rails/actionpack/test/fixtures/test/_hash_greeting.erb +1 -0
  995. data/vendor/rails/actionpack/test/fixtures/test/_hash_object.erb +2 -0
  996. data/vendor/rails/actionpack/test/fixtures/test/_hello.builder +1 -0
  997. data/vendor/rails/actionpack/test/fixtures/test/_layout_for_partial.html.erb +3 -0
  998. data/vendor/rails/actionpack/test/fixtures/test/_partial.erb +1 -0
  999. data/vendor/rails/actionpack/test/fixtures/test/_partial.html.erb +1 -0
  1000. data/vendor/rails/actionpack/test/fixtures/test/_partial.js.erb +1 -0
  1001. data/vendor/rails/actionpack/test/fixtures/test/_partial_for_use_in_layout.html.erb +1 -0
  1002. data/vendor/rails/actionpack/test/fixtures/test/_partial_only.erb +1 -0
  1003. data/vendor/rails/actionpack/test/fixtures/test/_person.erb +2 -0
  1004. data/vendor/rails/actionpack/test/fixtures/test/action_talk_to_layout.erb +2 -0
  1005. data/vendor/rails/actionpack/test/fixtures/test/block_content_for.erb +2 -0
  1006. data/vendor/rails/actionpack/test/fixtures/test/calling_partial_with_layout.html.erb +1 -0
  1007. data/vendor/rails/actionpack/test/fixtures/test/capturing.erb +4 -0
  1008. data/vendor/rails/actionpack/test/fixtures/test/content_for.erb +2 -0
  1009. data/vendor/rails/actionpack/test/fixtures/test/content_for_concatenated.erb +3 -0
  1010. data/vendor/rails/actionpack/test/fixtures/test/content_for_with_parameter.erb +2 -0
  1011. data/vendor/rails/actionpack/test/fixtures/test/delete_with_js.rjs +2 -0
  1012. data/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.erb +1 -0
  1013. data/vendor/rails/actionpack/test/fixtures/test/enum_rjs_test.rjs +6 -0
  1014. data/vendor/rails/actionpack/test/fixtures/test/erb_content_for.erb +2 -0
  1015. data/vendor/rails/actionpack/test/fixtures/test/formatted_html_erb.html.erb +1 -0
  1016. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.builder +1 -0
  1017. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.html.erb +1 -0
  1018. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.xml.erb +1 -0
  1019. data/vendor/rails/actionpack/test/fixtures/test/greeting.erb +1 -0
  1020. data/vendor/rails/actionpack/test/fixtures/test/hello.builder +4 -0
  1021. data/vendor/rails/actionpack/test/fixtures/test/hello_world.erb +1 -0
  1022. data/vendor/rails/actionpack/test/fixtures/test/hello_world_container.builder +3 -0
  1023. data/vendor/rails/actionpack/test/fixtures/test/hello_world_from_rxml.builder +4 -0
  1024. data/vendor/rails/actionpack/test/fixtures/test/hello_world_with_layout_false.erb +1 -0
  1025. data/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.builder +11 -0
  1026. data/vendor/rails/actionpack/test/fixtures/test/list.erb +1 -0
  1027. data/vendor/rails/actionpack/test/fixtures/test/non_erb_block_content_for.builder +4 -0
  1028. data/vendor/rails/actionpack/test/fixtures/test/potential_conflicts.erb +4 -0
  1029. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.erb +1 -0
  1030. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.erb +1 -0
  1031. data/vendor/rails/actionpack/test/fixtures/test/render_to_string_test.erb +1 -0
  1032. data/vendor/rails/actionpack/test/fixtures/test/update_element_with_capture.erb +9 -0
  1033. data/vendor/rails/actionpack/test/fixtures/test/using_layout_around_block.html.erb +1 -0
  1034. data/vendor/rails/actionpack/test/fixtures/topic.rb +3 -0
  1035. data/vendor/rails/actionpack/test/fixtures/topics.yml +22 -0
  1036. data/vendor/rails/actionpack/test/template/active_record_helper_test.rb +251 -0
  1037. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +438 -0
  1038. data/vendor/rails/actionpack/test/template/atom_feed_helper_test.rb +101 -0
  1039. data/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +72 -0
  1040. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +193 -0
  1041. data/vendor/rails/actionpack/test/template/date_helper_test.rb +1438 -0
  1042. data/vendor/rails/actionpack/test/template/erb_util_test.rb +56 -0
  1043. data/vendor/rails/actionpack/test/template/form_helper_test.rb +792 -0
  1044. data/vendor/rails/actionpack/test/template/form_options_helper_test.rb +1296 -0
  1045. data/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +238 -0
  1046. data/vendor/rails/actionpack/test/template/javascript_helper_test.rb +115 -0
  1047. data/vendor/rails/actionpack/test/template/number_helper_test.rb +93 -0
  1048. data/vendor/rails/actionpack/test/template/prototype_helper_test.rb +627 -0
  1049. data/vendor/rails/actionpack/test/template/sanitize_helper_test.rb +49 -0
  1050. data/vendor/rails/actionpack/test/template/scriptaculous_helper_test.rb +96 -0
  1051. data/vendor/rails/actionpack/test/template/tag_helper_test.rb +80 -0
  1052. data/vendor/rails/actionpack/test/template/text_helper_test.rb +335 -0
  1053. data/vendor/rails/actionpack/test/template/url_helper_test.rb +536 -0
  1054. data/vendor/rails/actionpack/test/testing_sandbox.rb +11 -0
  1055. data/vendor/rails/activerecord/CHANGELOG +5527 -0
  1056. data/vendor/rails/activerecord/MIT-LICENSE +20 -0
  1057. data/vendor/rails/activerecord/README +346 -0
  1058. data/vendor/rails/activerecord/RUNNING_UNIT_TESTS +33 -0
  1059. data/vendor/rails/activerecord/Rakefile +248 -0
  1060. data/vendor/rails/activerecord/examples/associations.png +0 -0
  1061. data/vendor/rails/activerecord/install.rb +30 -0
  1062. data/vendor/rails/activerecord/lib/active_record.rb +76 -0
  1063. data/vendor/rails/activerecord/lib/active_record/aggregations.rb +180 -0
  1064. data/vendor/rails/activerecord/lib/active_record/associations.rb +1769 -0
  1065. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +240 -0
  1066. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +160 -0
  1067. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +56 -0
  1068. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +50 -0
  1069. data/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +164 -0
  1070. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +174 -0
  1071. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +284 -0
  1072. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +96 -0
  1073. data/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +328 -0
  1074. data/vendor/rails/activerecord/lib/active_record/base.rb +2471 -0
  1075. data/vendor/rails/activerecord/lib/active_record/calculations.rb +267 -0
  1076. data/vendor/rails/activerecord/lib/active_record/callbacks.rb +341 -0
  1077. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +308 -0
  1078. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +171 -0
  1079. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb +87 -0
  1080. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +69 -0
  1081. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +472 -0
  1082. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +306 -0
  1083. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +172 -0
  1084. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +496 -0
  1085. data/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +847 -0
  1086. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +34 -0
  1087. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +391 -0
  1088. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +1034 -0
  1089. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +144 -0
  1090. data/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +77 -0
  1091. data/vendor/rails/activerecord/lib/active_record/migration.rb +417 -0
  1092. data/vendor/rails/activerecord/lib/active_record/observer.rb +181 -0
  1093. data/vendor/rails/activerecord/lib/active_record/query_cache.rb +21 -0
  1094. data/vendor/rails/activerecord/lib/active_record/reflection.rb +219 -0
  1095. data/vendor/rails/activerecord/lib/active_record/schema.rb +58 -0
  1096. data/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +171 -0
  1097. data/vendor/rails/activerecord/lib/active_record/serialization.rb +98 -0
  1098. data/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb +71 -0
  1099. data/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb +315 -0
  1100. data/vendor/rails/activerecord/lib/active_record/timestamp.rb +41 -0
  1101. data/vendor/rails/activerecord/lib/active_record/transactions.rb +132 -0
  1102. data/vendor/rails/activerecord/lib/active_record/validations.rb +1025 -0
  1103. data/vendor/rails/activerecord/lib/active_record/vendor/db2.rb +362 -0
  1104. data/vendor/rails/activerecord/lib/active_record/vendor/mysql.rb +1214 -0
  1105. data/vendor/rails/activerecord/lib/active_record/version.rb +9 -0
  1106. data/vendor/rails/activerecord/lib/activerecord.rb +1 -0
  1107. data/vendor/rails/activerecord/test/aaa_create_tables_test.rb +72 -0
  1108. data/vendor/rails/activerecord/test/abstract_unit.rb +84 -0
  1109. data/vendor/rails/activerecord/test/active_schema_test_mysql.rb +43 -0
  1110. data/vendor/rails/activerecord/test/adapter_test.rb +105 -0
  1111. data/vendor/rails/activerecord/test/adapter_test_sqlserver.rb +95 -0
  1112. data/vendor/rails/activerecord/test/aggregations_test.rb +128 -0
  1113. data/vendor/rails/activerecord/test/all.sh +8 -0
  1114. data/vendor/rails/activerecord/test/ar_schema_test.rb +33 -0
  1115. data/vendor/rails/activerecord/test/association_inheritance_reload.rb +14 -0
  1116. data/vendor/rails/activerecord/test/associations/callbacks_test.rb +147 -0
  1117. data/vendor/rails/activerecord/test/associations/cascaded_eager_loading_test.rb +110 -0
  1118. data/vendor/rails/activerecord/test/associations/eager_singularization_test.rb +145 -0
  1119. data/vendor/rails/activerecord/test/associations/eager_test.rb +442 -0
  1120. data/vendor/rails/activerecord/test/associations/extension_test.rb +47 -0
  1121. data/vendor/rails/activerecord/test/associations/inner_join_association_test.rb +88 -0
  1122. data/vendor/rails/activerecord/test/associations/join_model_test.rb +559 -0
  1123. data/vendor/rails/activerecord/test/associations_test.rb +2147 -0
  1124. data/vendor/rails/activerecord/test/attribute_methods_test.rb +146 -0
  1125. data/vendor/rails/activerecord/test/base_test.rb +1745 -0
  1126. data/vendor/rails/activerecord/test/binary_test.rb +32 -0
  1127. data/vendor/rails/activerecord/test/calculations_test.rb +251 -0
  1128. data/vendor/rails/activerecord/test/callbacks_test.rb +400 -0
  1129. data/vendor/rails/activerecord/test/class_inheritable_attributes_test.rb +32 -0
  1130. data/vendor/rails/activerecord/test/column_alias_test.rb +17 -0
  1131. data/vendor/rails/activerecord/test/connection_test_firebird.rb +8 -0
  1132. data/vendor/rails/activerecord/test/connection_test_mysql.rb +30 -0
  1133. data/vendor/rails/activerecord/test/connections/native_db2/connection.rb +25 -0
  1134. data/vendor/rails/activerecord/test/connections/native_firebird/connection.rb +26 -0
  1135. data/vendor/rails/activerecord/test/connections/native_frontbase/connection.rb +27 -0
  1136. data/vendor/rails/activerecord/test/connections/native_mysql/connection.rb +27 -0
  1137. data/vendor/rails/activerecord/test/connections/native_openbase/connection.rb +21 -0
  1138. data/vendor/rails/activerecord/test/connections/native_oracle/connection.rb +27 -0
  1139. data/vendor/rails/activerecord/test/connections/native_postgresql/connection.rb +23 -0
  1140. data/vendor/rails/activerecord/test/connections/native_sqlite/connection.rb +25 -0
  1141. data/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb +25 -0
  1142. data/vendor/rails/activerecord/test/connections/native_sqlite3/in_memory_connection.rb +18 -0
  1143. data/vendor/rails/activerecord/test/connections/native_sybase/connection.rb +23 -0
  1144. data/vendor/rails/activerecord/test/copy_table_test_sqlite.rb +69 -0
  1145. data/vendor/rails/activerecord/test/datatype_test_postgresql.rb +203 -0
  1146. data/vendor/rails/activerecord/test/date_time_test.rb +37 -0
  1147. data/vendor/rails/activerecord/test/default_test_firebird.rb +16 -0
  1148. data/vendor/rails/activerecord/test/defaults_test.rb +67 -0
  1149. data/vendor/rails/activerecord/test/deprecated_finder_test.rb +30 -0
  1150. data/vendor/rails/activerecord/test/finder_test.rb +650 -0
  1151. data/vendor/rails/activerecord/test/fixtures/accounts.yml +28 -0
  1152. data/vendor/rails/activerecord/test/fixtures/all/developers.yml +0 -0
  1153. data/vendor/rails/activerecord/test/fixtures/all/people.csv +0 -0
  1154. data/vendor/rails/activerecord/test/fixtures/all/tasks.yml +0 -0
  1155. data/vendor/rails/activerecord/test/fixtures/author.rb +109 -0
  1156. data/vendor/rails/activerecord/test/fixtures/author_favorites.yml +4 -0
  1157. data/vendor/rails/activerecord/test/fixtures/authors.yml +7 -0
  1158. data/vendor/rails/activerecord/test/fixtures/auto_id.rb +4 -0
  1159. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_numeric_first_char +1 -0
  1160. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_spaces +1 -0
  1161. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/blank_line +3 -0
  1162. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/duplicate_attributes +3 -0
  1163. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/missing_value +1 -0
  1164. data/vendor/rails/activerecord/test/fixtures/binaries.yml +132 -0
  1165. data/vendor/rails/activerecord/test/fixtures/binary.rb +2 -0
  1166. data/vendor/rails/activerecord/test/fixtures/book.rb +4 -0
  1167. data/vendor/rails/activerecord/test/fixtures/books.yml +7 -0
  1168. data/vendor/rails/activerecord/test/fixtures/categories.yml +14 -0
  1169. data/vendor/rails/activerecord/test/fixtures/categories/special_categories.yml +9 -0
  1170. data/vendor/rails/activerecord/test/fixtures/categories/subsubdir/arbitrary_filename.yml +4 -0
  1171. data/vendor/rails/activerecord/test/fixtures/categories_ordered.yml +7 -0
  1172. data/vendor/rails/activerecord/test/fixtures/categories_posts.yml +23 -0
  1173. data/vendor/rails/activerecord/test/fixtures/categorization.rb +5 -0
  1174. data/vendor/rails/activerecord/test/fixtures/categorizations.yml +17 -0
  1175. data/vendor/rails/activerecord/test/fixtures/category.rb +26 -0
  1176. data/vendor/rails/activerecord/test/fixtures/citation.rb +6 -0
  1177. data/vendor/rails/activerecord/test/fixtures/column_name.rb +3 -0
  1178. data/vendor/rails/activerecord/test/fixtures/comment.rb +23 -0
  1179. data/vendor/rails/activerecord/test/fixtures/comments.yml +59 -0
  1180. data/vendor/rails/activerecord/test/fixtures/companies.yml +55 -0
  1181. data/vendor/rails/activerecord/test/fixtures/company.rb +114 -0
  1182. data/vendor/rails/activerecord/test/fixtures/company_in_module.rb +59 -0
  1183. data/vendor/rails/activerecord/test/fixtures/computer.rb +4 -0
  1184. data/vendor/rails/activerecord/test/fixtures/computers.yml +4 -0
  1185. data/vendor/rails/activerecord/test/fixtures/contact.rb +16 -0
  1186. data/vendor/rails/activerecord/test/fixtures/course.rb +3 -0
  1187. data/vendor/rails/activerecord/test/fixtures/courses.yml +7 -0
  1188. data/vendor/rails/activerecord/test/fixtures/customer.rb +55 -0
  1189. data/vendor/rails/activerecord/test/fixtures/customers.yml +17 -0
  1190. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.drop.sql +33 -0
  1191. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.sql +235 -0
  1192. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.drop.sql +2 -0
  1193. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.sql +5 -0
  1194. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.drop.sql +65 -0
  1195. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.sql +310 -0
  1196. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.drop.sql +2 -0
  1197. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.sql +6 -0
  1198. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.drop.sql +33 -0
  1199. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.sql +273 -0
  1200. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.drop.sql +1 -0
  1201. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.sql +4 -0
  1202. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.drop.sql +2 -0
  1203. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.sql +318 -0
  1204. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.drop.sql +2 -0
  1205. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.sql +7 -0
  1206. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.drop.sql +67 -0
  1207. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.sql +330 -0
  1208. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.drop.sql +2 -0
  1209. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.sql +6 -0
  1210. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.drop.sql +44 -0
  1211. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.sql +292 -0
  1212. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.drop.sql +2 -0
  1213. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.sql +4 -0
  1214. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema.rb +354 -0
  1215. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema2.rb +11 -0
  1216. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.drop.sql +33 -0
  1217. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.sql +219 -0
  1218. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.drop.sql +2 -0
  1219. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.sql +5 -0
  1220. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.drop.sql +35 -0
  1221. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.sql +222 -0
  1222. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.drop.sql +4 -0
  1223. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.sql +5 -0
  1224. data/vendor/rails/activerecord/test/fixtures/default.rb +2 -0
  1225. data/vendor/rails/activerecord/test/fixtures/developer.rb +72 -0
  1226. data/vendor/rails/activerecord/test/fixtures/developers.yml +21 -0
  1227. data/vendor/rails/activerecord/test/fixtures/developers_projects.yml +17 -0
  1228. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_action_controller +3 -0
  1229. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_active_record +3 -0
  1230. data/vendor/rails/activerecord/test/fixtures/developers_projects/jamis_active_record +2 -0
  1231. data/vendor/rails/activerecord/test/fixtures/edge.rb +5 -0
  1232. data/vendor/rails/activerecord/test/fixtures/edges.yml +6 -0
  1233. data/vendor/rails/activerecord/test/fixtures/entrant.rb +3 -0
  1234. data/vendor/rails/activerecord/test/fixtures/entrants.yml +14 -0
  1235. data/vendor/rails/activerecord/test/fixtures/example.log +1 -0
  1236. data/vendor/rails/activerecord/test/fixtures/fk_test_has_fk.yml +3 -0
  1237. data/vendor/rails/activerecord/test/fixtures/fk_test_has_pk.yml +2 -0
  1238. data/vendor/rails/activerecord/test/fixtures/flowers.jpg +0 -0
  1239. data/vendor/rails/activerecord/test/fixtures/funny_jokes.yml +10 -0
  1240. data/vendor/rails/activerecord/test/fixtures/item.rb +7 -0
  1241. data/vendor/rails/activerecord/test/fixtures/items.yml +4 -0
  1242. data/vendor/rails/activerecord/test/fixtures/joke.rb +3 -0
  1243. data/vendor/rails/activerecord/test/fixtures/keyboard.rb +3 -0
  1244. data/vendor/rails/activerecord/test/fixtures/legacy_thing.rb +3 -0
  1245. data/vendor/rails/activerecord/test/fixtures/legacy_things.yml +3 -0
  1246. data/vendor/rails/activerecord/test/fixtures/matey.rb +4 -0
  1247. data/vendor/rails/activerecord/test/fixtures/mateys.yml +4 -0
  1248. data/vendor/rails/activerecord/test/fixtures/migrations/1_people_have_last_names.rb +9 -0
  1249. data/vendor/rails/activerecord/test/fixtures/migrations/2_we_need_reminders.rb +12 -0
  1250. data/vendor/rails/activerecord/test/fixtures/migrations/3_innocent_jointable.rb +12 -0
  1251. data/vendor/rails/activerecord/test/fixtures/migrations_with_decimal/1_give_me_big_numbers.rb +15 -0
  1252. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/1_people_have_last_names.rb +9 -0
  1253. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/2_we_need_reminders.rb +12 -0
  1254. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_foo.rb +7 -0
  1255. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_innocent_jointable.rb +12 -0
  1256. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1000_people_have_middle_names.rb +9 -0
  1257. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1_people_have_last_names.rb +9 -0
  1258. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/3_we_need_reminders.rb +12 -0
  1259. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/4_innocent_jointable.rb +12 -0
  1260. data/vendor/rails/activerecord/test/fixtures/minimalistic.rb +2 -0
  1261. data/vendor/rails/activerecord/test/fixtures/minimalistics.yml +2 -0
  1262. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkey.rb +3 -0
  1263. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkeys.yml +6 -0
  1264. data/vendor/rails/activerecord/test/fixtures/mixins.yml +29 -0
  1265. data/vendor/rails/activerecord/test/fixtures/movie.rb +5 -0
  1266. data/vendor/rails/activerecord/test/fixtures/movies.yml +7 -0
  1267. data/vendor/rails/activerecord/test/fixtures/naked/csv/accounts.csv +1 -0
  1268. data/vendor/rails/activerecord/test/fixtures/naked/yml/accounts.yml +1 -0
  1269. data/vendor/rails/activerecord/test/fixtures/naked/yml/companies.yml +1 -0
  1270. data/vendor/rails/activerecord/test/fixtures/naked/yml/courses.yml +1 -0
  1271. data/vendor/rails/activerecord/test/fixtures/order.rb +4 -0
  1272. data/vendor/rails/activerecord/test/fixtures/parrot.rb +13 -0
  1273. data/vendor/rails/activerecord/test/fixtures/parrots.yml +27 -0
  1274. data/vendor/rails/activerecord/test/fixtures/parrots_pirates.yml +7 -0
  1275. data/vendor/rails/activerecord/test/fixtures/people.yml +3 -0
  1276. data/vendor/rails/activerecord/test/fixtures/person.rb +4 -0
  1277. data/vendor/rails/activerecord/test/fixtures/pirate.rb +5 -0
  1278. data/vendor/rails/activerecord/test/fixtures/pirates.yml +9 -0
  1279. data/vendor/rails/activerecord/test/fixtures/post.rb +59 -0
  1280. data/vendor/rails/activerecord/test/fixtures/posts.yml +48 -0
  1281. data/vendor/rails/activerecord/test/fixtures/project.rb +28 -0
  1282. data/vendor/rails/activerecord/test/fixtures/projects.yml +7 -0
  1283. data/vendor/rails/activerecord/test/fixtures/reader.rb +4 -0
  1284. data/vendor/rails/activerecord/test/fixtures/readers.yml +4 -0
  1285. data/vendor/rails/activerecord/test/fixtures/reply.rb +37 -0
  1286. data/vendor/rails/activerecord/test/fixtures/reserved_words/distinct.yml +5 -0
  1287. data/vendor/rails/activerecord/test/fixtures/reserved_words/distincts_selects.yml +11 -0
  1288. data/vendor/rails/activerecord/test/fixtures/reserved_words/group.yml +14 -0
  1289. data/vendor/rails/activerecord/test/fixtures/reserved_words/select.yml +8 -0
  1290. data/vendor/rails/activerecord/test/fixtures/reserved_words/values.yml +7 -0
  1291. data/vendor/rails/activerecord/test/fixtures/ship.rb +3 -0
  1292. data/vendor/rails/activerecord/test/fixtures/ships.yml +5 -0
  1293. data/vendor/rails/activerecord/test/fixtures/subject.rb +4 -0
  1294. data/vendor/rails/activerecord/test/fixtures/subscriber.rb +6 -0
  1295. data/vendor/rails/activerecord/test/fixtures/subscribers/first +2 -0
  1296. data/vendor/rails/activerecord/test/fixtures/subscribers/second +2 -0
  1297. data/vendor/rails/activerecord/test/fixtures/tag.rb +7 -0
  1298. data/vendor/rails/activerecord/test/fixtures/tagging.rb +10 -0
  1299. data/vendor/rails/activerecord/test/fixtures/taggings.yml +25 -0
  1300. data/vendor/rails/activerecord/test/fixtures/tags.yml +7 -0
  1301. data/vendor/rails/activerecord/test/fixtures/task.rb +3 -0
  1302. data/vendor/rails/activerecord/test/fixtures/tasks.yml +7 -0
  1303. data/vendor/rails/activerecord/test/fixtures/topic.rb +37 -0
  1304. data/vendor/rails/activerecord/test/fixtures/topics.yml +22 -0
  1305. data/vendor/rails/activerecord/test/fixtures/treasure.rb +4 -0
  1306. data/vendor/rails/activerecord/test/fixtures/treasures.yml +10 -0
  1307. data/vendor/rails/activerecord/test/fixtures/vertex.rb +9 -0
  1308. data/vendor/rails/activerecord/test/fixtures/vertices.yml +4 -0
  1309. data/vendor/rails/activerecord/test/fixtures_test.rb +602 -0
  1310. data/vendor/rails/activerecord/test/inheritance_test.rb +211 -0
  1311. data/vendor/rails/activerecord/test/json_serialization_test.rb +180 -0
  1312. data/vendor/rails/activerecord/test/lifecycle_test.rb +137 -0
  1313. data/vendor/rails/activerecord/test/locking_test.rb +282 -0
  1314. data/vendor/rails/activerecord/test/method_scoping_test.rb +416 -0
  1315. data/vendor/rails/activerecord/test/migration_test.rb +933 -0
  1316. data/vendor/rails/activerecord/test/migration_test_firebird.rb +124 -0
  1317. data/vendor/rails/activerecord/test/mixin_test.rb +95 -0
  1318. data/vendor/rails/activerecord/test/modules_test.rb +34 -0
  1319. data/vendor/rails/activerecord/test/multiple_db_test.rb +60 -0
  1320. data/vendor/rails/activerecord/test/pk_test.rb +101 -0
  1321. data/vendor/rails/activerecord/test/query_cache_test.rb +104 -0
  1322. data/vendor/rails/activerecord/test/readonly_test.rb +107 -0
  1323. data/vendor/rails/activerecord/test/reflection_test.rb +175 -0
  1324. data/vendor/rails/activerecord/test/reserved_word_test_mysql.rb +177 -0
  1325. data/vendor/rails/activerecord/test/schema_authorization_test_postgresql.rb +75 -0
  1326. data/vendor/rails/activerecord/test/schema_dumper_test.rb +131 -0
  1327. data/vendor/rails/activerecord/test/schema_test_postgresql.rb +64 -0
  1328. data/vendor/rails/activerecord/test/serialization_test.rb +47 -0
  1329. data/vendor/rails/activerecord/test/synonym_test_oracle.rb +17 -0
  1330. data/vendor/rails/activerecord/test/table_name_test_sqlserver.rb +23 -0
  1331. data/vendor/rails/activerecord/test/threaded_connections_test.rb +48 -0
  1332. data/vendor/rails/activerecord/test/transactions_test.rb +281 -0
  1333. data/vendor/rails/activerecord/test/unconnected_test.rb +32 -0
  1334. data/vendor/rails/activerecord/test/validations_test.rb +1395 -0
  1335. data/vendor/rails/activerecord/test/xml_serialization_test.rb +202 -0
  1336. data/vendor/rails/activeresource/CHANGELOG +223 -0
  1337. data/vendor/rails/activeresource/MIT-LICENSE +20 -0
  1338. data/vendor/rails/activeresource/README +165 -0
  1339. data/vendor/rails/activeresource/Rakefile +134 -0
  1340. data/vendor/rails/activeresource/lib/active_resource.rb +47 -0
  1341. data/vendor/rails/activeresource/lib/active_resource/base.rb +872 -0
  1342. data/vendor/rails/activeresource/lib/active_resource/connection.rb +172 -0
  1343. data/vendor/rails/activeresource/lib/active_resource/custom_methods.rb +105 -0
  1344. data/vendor/rails/activeresource/lib/active_resource/formats.rb +14 -0
  1345. data/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb +23 -0
  1346. data/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb +34 -0
  1347. data/vendor/rails/activeresource/lib/active_resource/http_mock.rb +147 -0
  1348. data/vendor/rails/activeresource/lib/active_resource/validations.rb +288 -0
  1349. data/vendor/rails/activeresource/lib/active_resource/version.rb +9 -0
  1350. data/vendor/rails/activeresource/lib/activeresource.rb +1 -0
  1351. data/vendor/rails/activeresource/test/abstract_unit.rb +10 -0
  1352. data/vendor/rails/activeresource/test/authorization_test.rb +82 -0
  1353. data/vendor/rails/activeresource/test/base/custom_methods_test.rb +96 -0
  1354. data/vendor/rails/activeresource/test/base/equality_test.rb +43 -0
  1355. data/vendor/rails/activeresource/test/base/load_test.rb +111 -0
  1356. data/vendor/rails/activeresource/test/base_errors_test.rb +48 -0
  1357. data/vendor/rails/activeresource/test/base_test.rb +454 -0
  1358. data/vendor/rails/activeresource/test/connection_test.rb +170 -0
  1359. data/vendor/rails/activeresource/test/fixtures/beast.rb +14 -0
  1360. data/vendor/rails/activeresource/test/fixtures/person.rb +3 -0
  1361. data/vendor/rails/activeresource/test/fixtures/street_address.rb +4 -0
  1362. data/vendor/rails/activeresource/test/format_test.rb +42 -0
  1363. data/vendor/rails/activeresource/test/setter_trap.rb +27 -0
  1364. data/vendor/rails/activesupport/CHANGELOG +986 -0
  1365. data/vendor/rails/activesupport/MIT-LICENSE +20 -0
  1366. data/vendor/rails/activesupport/README +43 -0
  1367. data/vendor/rails/activesupport/Rakefile +84 -0
  1368. data/vendor/rails/activesupport/install.rb +30 -0
  1369. data/vendor/rails/activesupport/lib/active_support.rb +49 -0
  1370. data/vendor/rails/activesupport/lib/active_support/basic_object.rb +5 -0
  1371. data/vendor/rails/activesupport/lib/active_support/buffered_logger.rb +107 -0
  1372. data/vendor/rails/activesupport/lib/active_support/clean_logger.rb +127 -0
  1373. data/vendor/rails/activesupport/lib/active_support/core_ext.rb +4 -0
  1374. data/vendor/rails/activesupport/lib/active_support/core_ext/array.rb +13 -0
  1375. data/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb +28 -0
  1376. data/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +94 -0
  1377. data/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb +19 -0
  1378. data/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb +68 -0
  1379. data/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb +12 -0
  1380. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb +2 -0
  1381. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb +6 -0
  1382. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +50 -0
  1383. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb +5 -0
  1384. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +14 -0
  1385. data/vendor/rails/activesupport/lib/active_support/core_ext/class.rb +4 -0
  1386. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +48 -0
  1387. data/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb +40 -0
  1388. data/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +140 -0
  1389. data/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb +24 -0
  1390. data/vendor/rails/activesupport/lib/active_support/core_ext/date.rb +10 -0
  1391. data/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb +13 -0
  1392. data/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb +188 -0
  1393. data/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb +98 -0
  1394. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb +10 -0
  1395. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb +77 -0
  1396. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb +74 -0
  1397. data/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb +37 -0
  1398. data/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +63 -0
  1399. data/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb +33 -0
  1400. data/vendor/rails/activesupport/lib/active_support/core_ext/file.rb +21 -0
  1401. data/vendor/rails/activesupport/lib/active_support/core_ext/float.rb +5 -0
  1402. data/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb +24 -0
  1403. data/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb +13 -0
  1404. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +242 -0
  1405. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb +19 -0
  1406. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb +24 -0
  1407. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +102 -0
  1408. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb +54 -0
  1409. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +25 -0
  1410. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb +28 -0
  1411. data/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb +7 -0
  1412. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb +24 -0
  1413. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb +21 -0
  1414. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb +5 -0
  1415. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb +11 -0
  1416. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb +15 -0
  1417. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb +13 -0
  1418. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +51 -0
  1419. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb +24 -0
  1420. data/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb +38 -0
  1421. data/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb +16 -0
  1422. data/vendor/rails/activesupport/lib/active_support/core_ext/module.rb +8 -0
  1423. data/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb +70 -0
  1424. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb +31 -0
  1425. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb +31 -0
  1426. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +48 -0
  1427. data/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb +62 -0
  1428. data/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb +11 -0
  1429. data/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +35 -0
  1430. data/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb +13 -0
  1431. data/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb +17 -0
  1432. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb +7 -0
  1433. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb +44 -0
  1434. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb +91 -0
  1435. data/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +4 -0
  1436. data/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb +14 -0
  1437. data/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb +58 -0
  1438. data/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb +22 -0
  1439. data/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb +59 -0
  1440. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb +7 -0
  1441. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb +14 -0
  1442. data/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb +12 -0
  1443. data/vendor/rails/activesupport/lib/active_support/core_ext/range.rb +11 -0
  1444. data/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb +22 -0
  1445. data/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb +23 -0
  1446. data/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb +22 -0
  1447. data/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb +12 -0
  1448. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +23 -0
  1449. data/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb +58 -0
  1450. data/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb +28 -0
  1451. data/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb +153 -0
  1452. data/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb +17 -0
  1453. data/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +27 -0
  1454. data/vendor/rails/activesupport/lib/active_support/core_ext/string/unicode.rb +42 -0
  1455. data/vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb +11 -0
  1456. data/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb +14 -0
  1457. data/vendor/rails/activesupport/lib/active_support/core_ext/test.rb +1 -0
  1458. data/vendor/rails/activesupport/lib/active_support/core_ext/test/unit/assertions.rb +62 -0
  1459. data/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +19 -0
  1460. data/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb +13 -0
  1461. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +224 -0
  1462. data/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb +94 -0
  1463. data/vendor/rails/activesupport/lib/active_support/dependencies.rb +540 -0
  1464. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +204 -0
  1465. data/vendor/rails/activesupport/lib/active_support/duration.rb +96 -0
  1466. data/vendor/rails/activesupport/lib/active_support/inflections.rb +53 -0
  1467. data/vendor/rails/activesupport/lib/active_support/inflector.rb +282 -0
  1468. data/vendor/rails/activesupport/lib/active_support/json.rb +31 -0
  1469. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +60 -0
  1470. data/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb +5 -0
  1471. data/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb +5 -0
  1472. data/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb +12 -0
  1473. data/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb +5 -0
  1474. data/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb +50 -0
  1475. data/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb +5 -0
  1476. data/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb +5 -0
  1477. data/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb +6 -0
  1478. data/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb +5 -0
  1479. data/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb +30 -0
  1480. data/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb +5 -0
  1481. data/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb +5 -0
  1482. data/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb +5 -0
  1483. data/vendor/rails/activesupport/lib/active_support/json/encoding.rb +38 -0
  1484. data/vendor/rails/activesupport/lib/active_support/json/variable.rb +10 -0
  1485. data/vendor/rails/activesupport/lib/active_support/multibyte.rb +9 -0
  1486. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +141 -0
  1487. data/vendor/rails/activesupport/lib/active_support/multibyte/generators/generate_tables.rb +149 -0
  1488. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb +9 -0
  1489. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb +564 -0
  1490. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb +43 -0
  1491. data/vendor/rails/activesupport/lib/active_support/option_merger.rb +25 -0
  1492. data/vendor/rails/activesupport/lib/active_support/ordered_options.rb +49 -0
  1493. data/vendor/rails/activesupport/lib/active_support/test_case.rb +5 -0
  1494. data/vendor/rails/activesupport/lib/active_support/testing.rb +1 -0
  1495. data/vendor/rails/activesupport/lib/active_support/testing/default.rb +12 -0
  1496. data/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +181 -0
  1497. data/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat +0 -0
  1498. data/vendor/rails/activesupport/lib/active_support/vendor.rb +14 -0
  1499. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb +113 -0
  1500. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb +13 -0
  1501. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb +20 -0
  1502. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb +250 -0
  1503. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb +115 -0
  1504. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb +139 -0
  1505. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb +63 -0
  1506. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb +328 -0
  1507. data/vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb +1021 -0
  1508. data/vendor/rails/activesupport/lib/active_support/version.rb +9 -0
  1509. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +38 -0
  1510. data/vendor/rails/activesupport/lib/activesupport.rb +1 -0
  1511. data/vendor/rails/activesupport/test/abstract_unit.rb +20 -0
  1512. data/vendor/rails/activesupport/test/autoloading_fixtures/a/b.rb +2 -0
  1513. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/d.rb +2 -0
  1514. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/e/f.rb +2 -0
  1515. data/vendor/rails/activesupport/test/autoloading_fixtures/application.rb +1 -0
  1516. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder.rb +3 -0
  1517. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/class_folder_subclass.rb +3 -0
  1518. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/inline_class.rb +2 -0
  1519. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/nested_class.rb +7 -0
  1520. data/vendor/rails/activesupport/test/autoloading_fixtures/conflict.rb +1 -0
  1521. data/vendor/rails/activesupport/test/autoloading_fixtures/counting_loader.rb +5 -0
  1522. data/vendor/rails/activesupport/test/autoloading_fixtures/cross_site_dependency.rb +2 -0
  1523. data/vendor/rails/activesupport/test/autoloading_fixtures/e.rb +2 -0
  1524. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/inline_class.rb +2 -0
  1525. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_class.rb +4 -0
  1526. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_sibling.rb +2 -0
  1527. data/vendor/rails/activesupport/test/autoloading_fixtures/module_with_custom_const_missing/a/b.rb +1 -0
  1528. data/vendor/rails/activesupport/test/autoloading_fixtures/multiple_constant_file.rb +2 -0
  1529. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_name_error.rb +3 -0
  1530. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_no_method_error.rb +3 -0
  1531. data/vendor/rails/activesupport/test/buffered_logger_test.rb +107 -0
  1532. data/vendor/rails/activesupport/test/clean_logger_test.rb +57 -0
  1533. data/vendor/rails/activesupport/test/core_ext/array_ext_test.rb +250 -0
  1534. data/vendor/rails/activesupport/test/core_ext/blank_test.rb +19 -0
  1535. data/vendor/rails/activesupport/test/core_ext/cgi_ext_test.rb +14 -0
  1536. data/vendor/rails/activesupport/test/core_ext/class/attribute_accessor_test.rb +31 -0
  1537. data/vendor/rails/activesupport/test/core_ext/class/class_inheritable_attributes_test.rb +224 -0
  1538. data/vendor/rails/activesupport/test/core_ext/class/delegating_attributes_test.rb +105 -0
  1539. data/vendor/rails/activesupport/test/core_ext/class_test.rb +46 -0
  1540. data/vendor/rails/activesupport/test/core_ext/date_ext_test.rb +196 -0
  1541. data/vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb +230 -0
  1542. data/vendor/rails/activesupport/test/core_ext/duplicable_test.rb +22 -0
  1543. data/vendor/rails/activesupport/test/core_ext/duration_test.rb +21 -0
  1544. data/vendor/rails/activesupport/test/core_ext/enumerable_test.rb +61 -0
  1545. data/vendor/rails/activesupport/test/core_ext/exception_test.rb +64 -0
  1546. data/vendor/rails/activesupport/test/core_ext/file_test.rb +29 -0
  1547. data/vendor/rails/activesupport/test/core_ext/float_ext_test.rb +25 -0
  1548. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +743 -0
  1549. data/vendor/rails/activesupport/test/core_ext/integer_ext_test.rb +37 -0
  1550. data/vendor/rails/activesupport/test/core_ext/kernel_test.rb +43 -0
  1551. data/vendor/rails/activesupport/test/core_ext/load_error_tests.rb +16 -0
  1552. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb +30 -0
  1553. data/vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb +52 -0
  1554. data/vendor/rails/activesupport/test/core_ext/module/attribute_accessor_test.rb +33 -0
  1555. data/vendor/rails/activesupport/test/core_ext/module/attribute_aliasing_test.rb +58 -0
  1556. data/vendor/rails/activesupport/test/core_ext/module_test.rb +293 -0
  1557. data/vendor/rails/activesupport/test/core_ext/name_error_test.rb +24 -0
  1558. data/vendor/rails/activesupport/test/core_ext/numeric_ext_test.rb +147 -0
  1559. data/vendor/rails/activesupport/test/core_ext/object_and_class_ext_test.rb +242 -0
  1560. data/vendor/rails/activesupport/test/core_ext/pathname_test.rb +9 -0
  1561. data/vendor/rails/activesupport/test/core_ext/proc_test.rb +11 -0
  1562. data/vendor/rails/activesupport/test/core_ext/range_ext_test.rb +63 -0
  1563. data/vendor/rails/activesupport/test/core_ext/string_ext_test.rb +180 -0
  1564. data/vendor/rails/activesupport/test/core_ext/symbol_test.rb +9 -0
  1565. data/vendor/rails/activesupport/test/core_ext/time_ext_test.rb +420 -0
  1566. data/vendor/rails/activesupport/test/dependencies/check_warnings.rb +2 -0
  1567. data/vendor/rails/activesupport/test/dependencies/conflict.rb +1 -0
  1568. data/vendor/rails/activesupport/test/dependencies/cross_site_depender.rb +3 -0
  1569. data/vendor/rails/activesupport/test/dependencies/mutual_one.rb +4 -0
  1570. data/vendor/rails/activesupport/test/dependencies/mutual_two.rb +4 -0
  1571. data/vendor/rails/activesupport/test/dependencies/raises_exception.rb +3 -0
  1572. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent0.rb +1 -0
  1573. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent1.rb +1 -0
  1574. data/vendor/rails/activesupport/test/dependencies/service_one.rb +5 -0
  1575. data/vendor/rails/activesupport/test/dependencies/service_two.rb +2 -0
  1576. data/vendor/rails/activesupport/test/dependencies_test.rb +751 -0
  1577. data/vendor/rails/activesupport/test/deprecation_test.rb +151 -0
  1578. data/vendor/rails/activesupport/test/inflector_test.rb +248 -0
  1579. data/vendor/rails/activesupport/test/inflector_test_cases.rb +208 -0
  1580. data/vendor/rails/activesupport/test/json/decoding_test.rb +41 -0
  1581. data/vendor/rails/activesupport/test/json/encoding_test.rb +111 -0
  1582. data/vendor/rails/activesupport/test/multibyte_chars_test.rb +173 -0
  1583. data/vendor/rails/activesupport/test/multibyte_conformance.rb +141 -0
  1584. data/vendor/rails/activesupport/test/multibyte_handler_test.rb +367 -0
  1585. data/vendor/rails/activesupport/test/option_merger_test.rb +50 -0
  1586. data/vendor/rails/activesupport/test/ordered_options_test.rb +84 -0
  1587. data/vendor/rails/activesupport/test/test_test.rb +73 -0
  1588. data/vendor/rails/activesupport/test/time_zone_test.rb +98 -0
  1589. data/vendor/rails/activesupport/test/whiny_nil_test.rb +38 -0
  1590. data/vendor/rails/railties/CHANGELOG +1899 -0
  1591. data/vendor/rails/railties/MIT-LICENSE +20 -0
  1592. data/vendor/rails/railties/README +203 -0
  1593. data/vendor/rails/railties/Rakefile +358 -0
  1594. data/vendor/rails/railties/bin/about +3 -0
  1595. data/vendor/rails/railties/bin/console +3 -0
  1596. data/vendor/rails/railties/bin/destroy +3 -0
  1597. data/vendor/rails/railties/bin/generate +3 -0
  1598. data/{starter-app/vendor/plugins/spree/script → vendor/rails/railties/bin}/performance/benchmarker +0 -0
  1599. data/{starter-app/vendor/plugins/spree/script → vendor/rails/railties/bin}/performance/profiler +0 -0
  1600. data/vendor/rails/railties/bin/performance/request +3 -0
  1601. data/vendor/rails/railties/bin/plugin +3 -0
  1602. data/{starter-app/vendor/plugins/spree/script → vendor/rails/railties/bin}/process/inspector +0 -0
  1603. data/{starter-app/vendor/plugins/spree/script → vendor/rails/railties/bin}/process/reaper +0 -0
  1604. data/{starter-app/vendor/plugins/spree/script → vendor/rails/railties/bin}/process/spawner +0 -0
  1605. data/vendor/rails/railties/bin/rails +19 -0
  1606. data/vendor/rails/railties/bin/runner +3 -0
  1607. data/vendor/rails/railties/bin/server +3 -0
  1608. data/vendor/rails/railties/builtin/rails_info/rails/info.rb +123 -0
  1609. data/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb +9 -0
  1610. data/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb +2 -0
  1611. data/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb +2 -0
  1612. data/vendor/rails/railties/configs/apache.conf +40 -0
  1613. data/vendor/rails/railties/configs/databases/frontbase.yml +28 -0
  1614. data/vendor/rails/railties/configs/databases/mysql.yml +54 -0
  1615. data/vendor/rails/railties/configs/databases/oracle.yml +39 -0
  1616. data/vendor/rails/railties/configs/databases/postgresql.yml +48 -0
  1617. data/vendor/rails/railties/configs/databases/sqlite2.yml +16 -0
  1618. data/vendor/rails/railties/configs/databases/sqlite3.yml +19 -0
  1619. data/vendor/rails/railties/configs/empty.log +0 -0
  1620. data/vendor/rails/railties/configs/initializers/inflections.rb +10 -0
  1621. data/vendor/rails/railties/configs/initializers/mime_types.rb +5 -0
  1622. data/vendor/rails/railties/configs/lighttpd.conf +54 -0
  1623. data/vendor/rails/railties/configs/routes.rb +35 -0
  1624. data/vendor/rails/railties/dispatches/dispatch.fcgi +24 -0
  1625. data/vendor/rails/railties/dispatches/dispatch.rb +10 -0
  1626. data/vendor/rails/railties/dispatches/gateway.cgi +97 -0
  1627. data/vendor/rails/railties/doc/README_FOR_APP +2 -0
  1628. data/vendor/rails/railties/environments/boot.rb +109 -0
  1629. data/vendor/rails/railties/environments/development.rb +18 -0
  1630. data/vendor/rails/railties/environments/environment.rb +59 -0
  1631. data/vendor/rails/railties/environments/production.rb +19 -0
  1632. data/vendor/rails/railties/environments/test.rb +22 -0
  1633. data/{starter-app/vendor/plugins/paginating_find/test_app/Rakefile → vendor/rails/railties/fresh_rakefile} +0 -0
  1634. data/vendor/rails/railties/helpers/application.rb +10 -0
  1635. data/{starter-app/app → vendor/rails/railties}/helpers/application_helper.rb +0 -0
  1636. data/vendor/rails/railties/helpers/test_helper.rb +38 -0
  1637. data/vendor/rails/railties/html/404.html +30 -0
  1638. data/vendor/rails/railties/html/422.html +30 -0
  1639. data/vendor/rails/railties/html/500.html +30 -0
  1640. data/vendor/rails/railties/html/favicon.ico +0 -0
  1641. data/vendor/rails/railties/html/images/rails.png +0 -0
  1642. data/vendor/rails/railties/html/index.html +277 -0
  1643. data/vendor/rails/railties/html/javascripts/application.js +2 -0
  1644. data/vendor/rails/railties/html/javascripts/controls.js +963 -0
  1645. data/vendor/rails/railties/html/javascripts/dragdrop.js +972 -0
  1646. data/vendor/rails/railties/html/javascripts/effects.js +1120 -0
  1647. data/vendor/rails/railties/html/javascripts/prototype.js +4225 -0
  1648. data/vendor/rails/railties/html/robots.txt +5 -0
  1649. data/vendor/rails/railties/lib/code_statistics.rb +107 -0
  1650. data/vendor/rails/railties/lib/commands.rb +17 -0
  1651. data/vendor/rails/railties/lib/commands/about.rb +2 -0
  1652. data/vendor/rails/railties/lib/commands/console.rb +32 -0
  1653. data/vendor/rails/railties/lib/commands/destroy.rb +6 -0
  1654. data/vendor/rails/railties/lib/commands/generate.rb +6 -0
  1655. data/vendor/rails/railties/lib/commands/ncgi/listener +86 -0
  1656. data/vendor/rails/railties/lib/commands/ncgi/tracker +69 -0
  1657. data/vendor/rails/railties/lib/commands/performance/benchmarker.rb +24 -0
  1658. data/vendor/rails/railties/lib/commands/performance/profiler.rb +50 -0
  1659. data/vendor/rails/railties/lib/commands/performance/request.rb +6 -0
  1660. data/vendor/rails/railties/lib/commands/plugin.rb +923 -0
  1661. data/vendor/rails/railties/lib/commands/process/inspector.rb +68 -0
  1662. data/vendor/rails/railties/lib/commands/process/reaper.rb +149 -0
  1663. data/vendor/rails/railties/lib/commands/process/spawner.rb +219 -0
  1664. data/vendor/rails/railties/lib/commands/process/spinner.rb +57 -0
  1665. data/vendor/rails/railties/lib/commands/runner.rb +48 -0
  1666. data/vendor/rails/railties/lib/commands/server.rb +39 -0
  1667. data/vendor/rails/railties/lib/commands/servers/base.rb +31 -0
  1668. data/vendor/rails/railties/lib/commands/servers/lighttpd.rb +94 -0
  1669. data/vendor/rails/railties/lib/commands/servers/mongrel.rb +69 -0
  1670. data/vendor/rails/railties/lib/commands/servers/webrick.rb +66 -0
  1671. data/vendor/rails/railties/lib/commands/update.rb +4 -0
  1672. data/vendor/rails/railties/lib/console_app.rb +30 -0
  1673. data/vendor/rails/railties/lib/console_sandbox.rb +6 -0
  1674. data/vendor/rails/railties/lib/console_with_helpers.rb +26 -0
  1675. data/vendor/rails/railties/lib/dispatcher.rb +24 -0
  1676. data/vendor/rails/railties/lib/fcgi_handler.rb +223 -0
  1677. data/vendor/rails/railties/lib/initializer.rb +682 -0
  1678. data/vendor/rails/railties/lib/rails/plugin.rb +84 -0
  1679. data/vendor/rails/railties/lib/rails/plugin/loader.rb +150 -0
  1680. data/vendor/rails/railties/lib/rails/plugin/locator.rb +78 -0
  1681. data/vendor/rails/railties/lib/rails/version.rb +9 -0
  1682. data/vendor/rails/railties/lib/rails_generator.rb +43 -0
  1683. data/vendor/rails/railties/lib/rails_generator/base.rb +263 -0
  1684. data/vendor/rails/railties/lib/rails_generator/commands.rb +591 -0
  1685. data/vendor/rails/railties/lib/rails_generator/generated_attribute.rb +42 -0
  1686. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE +9 -0
  1687. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +179 -0
  1688. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE +29 -0
  1689. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb +37 -0
  1690. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb +10 -0
  1691. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb +8 -0
  1692. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb +2 -0
  1693. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb +2 -0
  1694. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE +8 -0
  1695. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +16 -0
  1696. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +10 -0
  1697. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE +16 -0
  1698. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb +34 -0
  1699. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb +3 -0
  1700. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  1701. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +13 -0
  1702. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +21 -0
  1703. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb +3 -0
  1704. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  1705. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE +29 -0
  1706. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb +20 -0
  1707. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb +11 -0
  1708. data/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE +27 -0
  1709. data/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb +45 -0
  1710. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml +19 -0
  1711. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb +16 -0
  1712. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb +2 -0
  1713. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb +8 -0
  1714. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE +13 -0
  1715. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb +16 -0
  1716. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb +2 -0
  1717. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb +8 -0
  1718. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE +25 -0
  1719. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +39 -0
  1720. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +20 -0
  1721. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README +13 -0
  1722. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile +22 -0
  1723. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE +8 -0
  1724. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb +8 -0
  1725. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb +1 -0
  1726. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb +1 -0
  1727. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb +1 -0
  1728. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake +4 -0
  1729. data/{starter-app/vendor/plugins/spree → vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates}/uninstall.rb +0 -0
  1730. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +8 -0
  1731. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE +23 -0
  1732. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb +74 -0
  1733. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb +2 -0
  1734. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb +8 -0
  1735. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb +2 -0
  1736. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE +25 -0
  1737. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +92 -0
  1738. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb +85 -0
  1739. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +45 -0
  1740. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb +2 -0
  1741. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +17 -0
  1742. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css +74 -0
  1743. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +19 -0
  1744. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +24 -0
  1745. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +18 -0
  1746. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +10 -0
  1747. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE +10 -0
  1748. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +18 -0
  1749. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb +16 -0
  1750. data/vendor/rails/railties/lib/rails_generator/lookup.rb +244 -0
  1751. data/vendor/rails/railties/lib/rails_generator/manifest.rb +53 -0
  1752. data/vendor/rails/railties/lib/rails_generator/options.rb +143 -0
  1753. data/vendor/rails/railties/lib/rails_generator/scripts.rb +86 -0
  1754. data/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb +30 -0
  1755. data/vendor/rails/railties/lib/rails_generator/scripts/generate.rb +7 -0
  1756. data/vendor/rails/railties/lib/rails_generator/scripts/update.rb +12 -0
  1757. data/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb +160 -0
  1758. data/vendor/rails/railties/lib/rails_generator/simple_logger.rb +46 -0
  1759. data/vendor/rails/railties/lib/rails_generator/spec.rb +44 -0
  1760. data/vendor/rails/railties/lib/railties_path.rb +1 -0
  1761. data/vendor/rails/railties/lib/ruby_version_check.rb +17 -0
  1762. data/vendor/rails/railties/lib/rubyprof_ext.rb +35 -0
  1763. data/vendor/rails/railties/lib/source_annotation_extractor.rb +62 -0
  1764. data/vendor/rails/railties/lib/tasks/annotations.rake +23 -0
  1765. data/vendor/rails/railties/lib/tasks/databases.rake +363 -0
  1766. data/vendor/rails/railties/lib/tasks/documentation.rake +80 -0
  1767. data/vendor/rails/railties/lib/tasks/framework.rake +118 -0
  1768. data/vendor/rails/railties/lib/tasks/log.rake +9 -0
  1769. data/vendor/rails/railties/lib/tasks/misc.rake +10 -0
  1770. data/vendor/rails/railties/lib/tasks/rails.rb +8 -0
  1771. data/vendor/rails/railties/lib/tasks/routes.rake +17 -0
  1772. data/vendor/rails/railties/lib/tasks/statistics.rake +18 -0
  1773. data/vendor/rails/railties/lib/tasks/testing.rake +118 -0
  1774. data/vendor/rails/railties/lib/tasks/tmp.rake +37 -0
  1775. data/vendor/rails/railties/lib/test_help.rb +20 -0
  1776. data/vendor/rails/railties/lib/webrick_server.rb +165 -0
  1777. data/vendor/rails/railties/test/abstract_unit.rb +24 -0
  1778. data/vendor/rails/railties/test/boot_test.rb +179 -0
  1779. data/vendor/rails/railties/test/console_app_test.rb +29 -0
  1780. data/vendor/rails/railties/test/fcgi_dispatcher_test.rb +265 -0
  1781. data/vendor/rails/railties/test/fixtures/environment_with_constant.rb +1 -0
  1782. data/vendor/rails/railties/test/fixtures/lib/generators/missing_class/missing_class_generator.rb +0 -0
  1783. data/vendor/rails/railties/test/fixtures/lib/generators/working/working_generator.rb +2 -0
  1784. data/vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb +0 -0
  1785. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/init.rb +7 -0
  1786. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/lib/stubby_mixin.rb +2 -0
  1787. data/vendor/rails/railties/test/generators/generator_test_helper.rb +195 -0
  1788. data/vendor/rails/railties/test/generators/rails_model_generator_test.rb +109 -0
  1789. data/vendor/rails/railties/test/generators/rails_resource_generator_test.rb +106 -0
  1790. data/vendor/rails/railties/test/generators/rails_scaffold_generator_test.rb +185 -0
  1791. data/vendor/rails/railties/test/initializer_test.rb +218 -0
  1792. data/vendor/rails/railties/test/mocks/routes.rb +6 -0
  1793. data/vendor/rails/railties/test/plugin_loader_test.rb +140 -0
  1794. data/vendor/rails/railties/test/plugin_locator_test.rb +69 -0
  1795. data/vendor/rails/railties/test/plugin_test.rb +141 -0
  1796. data/vendor/rails/railties/test/plugin_test_helper.rb +29 -0
  1797. data/vendor/rails/railties/test/rails_generator_test.rb +137 -0
  1798. data/vendor/rails/railties/test/rails_info_controller_test.rb +48 -0
  1799. data/vendor/rails/railties/test/rails_info_test.rb +105 -0
  1800. data/vendor/rails/railties/test/secret_key_generation_test.rb +35 -0
  1801. metadata +2304 -693
  1802. data/History.txt +0 -40
  1803. data/License.txt +0 -26
  1804. data/Manifest.txt +0 -671
  1805. data/config/hoe.rb +0 -80
  1806. data/config/requirements.rb +0 -15
  1807. data/lib/spree/version.rb +0 -9
  1808. data/script/txt2html +0 -74
  1809. data/setup.rb +0 -1585
  1810. data/starter-app/README +0 -182
  1811. data/starter-app/app/controllers/application.rb +0 -14
  1812. data/starter-app/app/models/tag.rb +0 -37
  1813. data/starter-app/app/models/tagging.rb +0 -16
  1814. data/starter-app/app/views/layouts/application.rhtml +0 -48
  1815. data/starter-app/config/boot.rb +0 -45
  1816. data/starter-app/config/environment.rb +0 -140
  1817. data/starter-app/config/environments/development.rb +0 -21
  1818. data/starter-app/config/routes.rb +0 -28
  1819. data/starter-app/db/migrate/003_create_tags_and_taggings.rb +0 -28
  1820. data/starter-app/db/migrate/004_spree_to_version_21.rb +0 -9
  1821. data/starter-app/db/sample/credit_cards.yml +0 -12
  1822. data/starter-app/db/sample/images.yml +0 -252
  1823. data/starter-app/db/sample/line_items.yml +0 -25
  1824. data/starter-app/db/sample/orders.yml +0 -15
  1825. data/starter-app/db/sample/skus.yml +0 -28
  1826. data/starter-app/db/sample/taggings.yml +0 -16
  1827. data/starter-app/db/sample/tags.yml +0 -6
  1828. data/starter-app/db/sample/variants.yml +0 -47
  1829. data/starter-app/doc/README_FOR_APP +0 -2
  1830. data/starter-app/lib/tagging_extensions.rb +0 -104
  1831. data/starter-app/public/index.html +0 -277
  1832. data/starter-app/public/stylesheets/cart/_controller.css +0 -4
  1833. data/starter-app/script/destroy +0 -3
  1834. data/starter-app/script/generate +0 -3
  1835. data/starter-app/spec/models/product_spec.rb +0 -29
  1836. data/starter-app/test/fixtures/users.yml +0 -7
  1837. data/starter-app/test/test_helper.rb +0 -28
  1838. data/starter-app/test/unit/user_test.rb +0 -8
  1839. data/starter-app/vendor/plugins/engines/CHANGELOG +0 -258
  1840. data/starter-app/vendor/plugins/engines/MIT-LICENSE +0 -21
  1841. data/starter-app/vendor/plugins/engines/README +0 -63
  1842. data/starter-app/vendor/plugins/engines/Rakefile +0 -32
  1843. data/starter-app/vendor/plugins/engines/about.yml +0 -7
  1844. data/starter-app/vendor/plugins/engines/boot.rb +0 -18
  1845. data/starter-app/vendor/plugins/engines/generators/plugin_migration/USAGE +0 -45
  1846. data/starter-app/vendor/plugins/engines/generators/plugin_migration/plugin_migration_generator.rb +0 -79
  1847. data/starter-app/vendor/plugins/engines/generators/plugin_migration/templates/plugin_migration.erb +0 -13
  1848. data/starter-app/vendor/plugins/engines/init.rb +0 -2
  1849. data/starter-app/vendor/plugins/engines/lib/engines.rb +0 -169
  1850. data/starter-app/vendor/plugins/engines/lib/engines/assets.rb +0 -38
  1851. data/starter-app/vendor/plugins/engines/lib/engines/plugin.rb +0 -125
  1852. data/starter-app/vendor/plugins/engines/lib/engines/plugin/list.rb +0 -30
  1853. data/starter-app/vendor/plugins/engines/lib/engines/plugin/loader.rb +0 -18
  1854. data/starter-app/vendor/plugins/engines/lib/engines/plugin/locator.rb +0 -11
  1855. data/starter-app/vendor/plugins/engines/lib/engines/plugin/migrator.rb +0 -60
  1856. data/starter-app/vendor/plugins/engines/lib/engines/rails_extensions/action_mailer.rb +0 -85
  1857. data/starter-app/vendor/plugins/engines/lib/engines/rails_extensions/active_record.rb +0 -24
  1858. data/starter-app/vendor/plugins/engines/lib/engines/rails_extensions/asset_helpers.rb +0 -119
  1859. data/starter-app/vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb +0 -145
  1860. data/starter-app/vendor/plugins/engines/lib/engines/rails_extensions/migrations.rb +0 -161
  1861. data/starter-app/vendor/plugins/engines/lib/engines/rails_extensions/rails.rb +0 -11
  1862. data/starter-app/vendor/plugins/engines/lib/engines/rails_extensions/routing.rb +0 -84
  1863. data/starter-app/vendor/plugins/engines/lib/engines/testing.rb +0 -87
  1864. data/starter-app/vendor/plugins/engines/tasks/engines.rake +0 -176
  1865. data/starter-app/vendor/plugins/paginating_find/test_app/db/schema.rb +0 -16
  1866. data/starter-app/vendor/plugins/spree/.rakeTasks +0 -7
  1867. data/starter-app/vendor/plugins/spree/CHANGELOG +0 -1
  1868. data/starter-app/vendor/plugins/spree/README +0 -1
  1869. data/starter-app/vendor/plugins/spree/Rakefile +0 -10
  1870. data/starter-app/vendor/plugins/spree/VERSION +0 -1
  1871. data/starter-app/vendor/plugins/spree/app/controllers/admin/orders_controller.rb +0 -247
  1872. data/starter-app/vendor/plugins/spree/app/controllers/admin/products_controller.rb +0 -207
  1873. data/starter-app/vendor/plugins/spree/app/controllers/cart_controller.rb +0 -39
  1874. data/starter-app/vendor/plugins/spree/app/controllers/checkout_controller.rb +0 -184
  1875. data/starter-app/vendor/plugins/spree/app/controllers/spree/base_controller.rb +0 -47
  1876. data/starter-app/vendor/plugins/spree/app/helpers/checkout_helper.rb +0 -17
  1877. data/starter-app/vendor/plugins/spree/app/helpers/spree/base_helper.rb +0 -101
  1878. data/starter-app/vendor/plugins/spree/app/models/cart_item.rb +0 -26
  1879. data/starter-app/vendor/plugins/spree/app/models/image.rb +0 -12
  1880. data/starter-app/vendor/plugins/spree/app/models/order.rb +0 -87
  1881. data/starter-app/vendor/plugins/spree/app/models/product.rb +0 -58
  1882. data/starter-app/vendor/plugins/spree/app/models/sku.rb +0 -7
  1883. data/starter-app/vendor/plugins/spree/app/models/variant.rb +0 -5
  1884. data/starter-app/vendor/plugins/spree/app/views/admin/products/_form.rhtml +0 -65
  1885. data/starter-app/vendor/plugins/spree/app/views/admin/products/_option_types.rhtml +0 -42
  1886. data/starter-app/vendor/plugins/spree/app/views/admin/products/_variants.rhtml +0 -43
  1887. data/starter-app/vendor/plugins/spree/app/views/admin/products/index.rhtml +0 -65
  1888. data/starter-app/vendor/plugins/spree/app/views/cart/index.rhtml +0 -49
  1889. data/starter-app/vendor/plugins/spree/app/views/layouts/admin.rhtml +0 -69
  1890. data/starter-app/vendor/plugins/spree/app/views/layouts/products.rhtml +0 -20
  1891. data/starter-app/vendor/plugins/spree/app/views/order_mailer/cancel.rhtml +0 -15
  1892. data/starter-app/vendor/plugins/spree/app/views/order_mailer/confirm.rhtml +0 -18
  1893. data/starter-app/vendor/plugins/spree/app/views/store/list.rhtml +0 -15
  1894. data/starter-app/vendor/plugins/spree/app/views/store/show.rhtml +0 -70
  1895. data/starter-app/vendor/plugins/spree/assets/.htaccess +0 -40
  1896. data/starter-app/vendor/plugins/spree/assets/stylesheets/spree-admin.css +0 -348
  1897. data/starter-app/vendor/plugins/spree/db/migrate/008_create_orders.rb +0 -24
  1898. data/starter-app/vendor/plugins/spree/db/migrate/009_create_products.rb +0 -20
  1899. data/starter-app/vendor/plugins/spree/db/migrate/011_create_variants.rb +0 -11
  1900. data/starter-app/vendor/plugins/spree/db/migrate/013_create_skus.rb +0 -13
  1901. data/starter-app/vendor/plugins/spree/db/migrate/019_create_images.rb +0 -19
  1902. data/starter-app/vendor/plugins/spree/init.rb +0 -11
  1903. data/starter-app/vendor/plugins/spree/install.rb +0 -3
  1904. data/starter-app/vendor/plugins/spree/lib/constants/enumerable_constants.rb +0 -207
  1905. data/starter-app/vendor/plugins/spree/lib/tasks/spree_bootstrap.rake +0 -24
  1906. data/starter-app/vendor/plugins/spree/lib/tax/sales_tax.rb +0 -26
  1907. data/starter-app/vendor/plugins/spree/routes.rb +0 -3
  1908. data/starter-app/vendor/plugins/spree/script/about +0 -3
  1909. data/starter-app/vendor/plugins/spree/script/breakpointer +0 -3
  1910. data/starter-app/vendor/plugins/spree/script/console +0 -3
  1911. data/starter-app/vendor/plugins/spree/script/destroy +0 -3
  1912. data/starter-app/vendor/plugins/spree/script/generate +0 -3
  1913. data/starter-app/vendor/plugins/spree/script/plugin +0 -3
  1914. data/starter-app/vendor/plugins/spree/script/runner +0 -3
  1915. data/starter-app/vendor/plugins/spree/script/server +0 -3
  1916. data/starter-app/vendor/plugins/spree/test/fixtures/addresses.yml +0 -29
  1917. data/starter-app/vendor/plugins/spree/test/fixtures/categories.yml +0 -40
  1918. data/starter-app/vendor/plugins/spree/test/fixtures/line_items.yml +0 -32
  1919. data/starter-app/vendor/plugins/spree/test/fixtures/orders.yml +0 -17
  1920. data/starter-app/vendor/plugins/spree/test/fixtures/products.yml +0 -63
  1921. data/starter-app/vendor/plugins/spree/test/fixtures/products_tags.yml +0 -10
  1922. data/starter-app/vendor/plugins/spree/test/fixtures/roles.yml +0 -6
  1923. data/starter-app/vendor/plugins/spree/test/fixtures/roles_users.yml +0 -3
  1924. data/starter-app/vendor/plugins/spree/test/fixtures/skus.yml +0 -5
  1925. data/starter-app/vendor/plugins/spree/test/fixtures/tags.yml +0 -7
  1926. data/starter-app/vendor/plugins/spree/test/fixtures/tax_treatments.yml +0 -7
  1927. data/starter-app/vendor/plugins/spree/test/fixtures/txns.yml +0 -13
  1928. data/starter-app/vendor/plugins/spree/test/fixtures/users.yml +0 -40
  1929. data/starter-app/vendor/plugins/spree/test/fixtures/variations.yml +0 -16
  1930. data/starter-app/vendor/plugins/spree/test/functional/account_controller_test.rb +0 -129
  1931. data/starter-app/vendor/plugins/spree/test/functional/admin/base_controller_test.rb +0 -18
  1932. data/starter-app/vendor/plugins/spree/test/functional/admin/option_groups_controller_test.rb +0 -18
  1933. data/starter-app/vendor/plugins/spree/test/functional/admin/option_values_controller_test.rb +0 -18
  1934. data/starter-app/vendor/plugins/spree/test/functional/admin/orders_controller_test.rb +0 -18
  1935. data/starter-app/vendor/plugins/spree/test/functional/admin/overview_controller_test.rb +0 -18
  1936. data/starter-app/vendor/plugins/spree/test/functional/admin/products_controller_test.rb +0 -125
  1937. data/starter-app/vendor/plugins/spree/test/functional/admin/users_controller_test.rb +0 -58
  1938. data/starter-app/vendor/plugins/spree/test/functional/application_controller_test.rb +0 -30
  1939. data/starter-app/vendor/plugins/spree/test/functional/cart_controller_test.rb +0 -76
  1940. data/starter-app/vendor/plugins/spree/test/functional/checkout_controller_test.rb +0 -20
  1941. data/starter-app/vendor/plugins/spree/test/integration/authentication_test.rb +0 -53
  1942. data/starter-app/vendor/plugins/spree/test/integration/product_admin_test.rb +0 -135
  1943. data/starter-app/vendor/plugins/spree/test/integration/user_stories_test.rb +0 -59
  1944. data/starter-app/vendor/plugins/spree/test/test_helper.rb +0 -45
  1945. data/starter-app/vendor/plugins/spree/test/unit/address_test.rb +0 -10
  1946. data/starter-app/vendor/plugins/spree/test/unit/category_test.rb +0 -52
  1947. data/starter-app/vendor/plugins/spree/test/unit/option_group_test.rb +0 -12
  1948. data/starter-app/vendor/plugins/spree/test/unit/order_test.rb +0 -49
  1949. data/starter-app/vendor/plugins/spree/test/unit/product_test.rb +0 -74
  1950. data/starter-app/vendor/plugins/spree/test/unit/role_test.rb +0 -10
  1951. data/starter-app/vendor/plugins/spree/test/unit/sales_tax_test.rb +0 -46
  1952. data/starter-app/vendor/plugins/spree/test/unit/sku_test.rb +0 -10
  1953. data/starter-app/vendor/plugins/spree/test/unit/tag_test.rb +0 -9
  1954. data/starter-app/vendor/plugins/spree/test/unit/tax_treatment_test.rb +0 -10
  1955. data/starter-app/vendor/plugins/spree/test/unit/txn_test.rb +0 -10
  1956. data/tasks/deployment.rake +0 -34
  1957. data/tasks/environment.rake +0 -7
  1958. data/tasks/website.rake +0 -17
  1959. data/test/test_helper.rb +0 -2
  1960. data/test/test_railscart.rb +0 -11
@@ -0,0 +1,179 @@
1
+ module ActionView
2
+ module Helpers #:nodoc:
3
+ # Provides methods for converting numbers into formatted strings.
4
+ # Methods are provided for phone numbers, currency, percentage,
5
+ # precision, positional notation, and file size.
6
+ module NumberHelper
7
+ # Formats a +number+ into a US phone number (e.g., (555) 123-9876). You can customize the format
8
+ # in the +options+ hash.
9
+ #
10
+ # ==== Options
11
+ # * <tt>:area_code</tt> - Adds parentheses around the area code.
12
+ # * <tt>:delimiter</tt> - Specifies the delimiter to use (defaults to "-").
13
+ # * <tt>:extension</tt> - Specifies an extension to add to the end of the
14
+ # generated number.
15
+ # * <tt>:country_code</tt> - Sets the country code for the phone number.
16
+ #
17
+ # ==== Examples
18
+ # number_to_phone(1235551234) # => 123-555-1234
19
+ # number_to_phone(1235551234, :area_code => true) # => (123) 555-1234
20
+ # number_to_phone(1235551234, :delimiter => " ") # => 123 555 1234
21
+ # number_to_phone(1235551234, :area_code => true, :extension => 555) # => (123) 555-1234 x 555
22
+ # number_to_phone(1235551234, :country_code => 1) # => +1-123-555-1234
23
+ #
24
+ # number_to_phone(1235551234, :country_code => 1, :extension => 1343, :delimiter => ".")
25
+ # => +1.123.555.1234 x 1343
26
+ def number_to_phone(number, options = {})
27
+ number = number.to_s.strip unless number.nil?
28
+ options = options.stringify_keys
29
+ area_code = options["area_code"] || nil
30
+ delimiter = options["delimiter"] || "-"
31
+ extension = options["extension"].to_s.strip || nil
32
+ country_code = options["country_code"] || nil
33
+
34
+ begin
35
+ str = ""
36
+ str << "+#{country_code}#{delimiter}" unless country_code.blank?
37
+ str << if area_code
38
+ number.gsub!(/([0-9]{1,3})([0-9]{3})([0-9]{4}$)/,"(\\1) \\2#{delimiter}\\3")
39
+ else
40
+ number.gsub!(/([0-9]{1,3})([0-9]{3})([0-9]{4})$/,"\\1#{delimiter}\\2#{delimiter}\\3")
41
+ end
42
+ str << " x #{extension}" unless extension.blank?
43
+ str
44
+ rescue
45
+ number
46
+ end
47
+ end
48
+
49
+ # Formats a +number+ into a currency string (e.g., $13.65). You can customize the format
50
+ # in the +options+ hash.
51
+ #
52
+ # ==== Options
53
+ # * <tt>:precision</tt> - Sets the level of precision (defaults to 2).
54
+ # * <tt>:unit</tt> - Sets the denomination of the currency (defaults to "$").
55
+ # * <tt>:separator</tt> - Sets the separator between the units (defaults to ".").
56
+ # * <tt>:delimiter</tt> - Sets the thousands delimiter (defaults to ",").
57
+ #
58
+ # ==== Examples
59
+ # number_to_currency(1234567890.50) # => $1,234,567,890.50
60
+ # number_to_currency(1234567890.506) # => $1,234,567,890.51
61
+ # number_to_currency(1234567890.506, :precision => 3) # => $1,234,567,890.506
62
+ #
63
+ # number_to_currency(1234567890.50, :unit => "&pound;", :separator => ",", :delimiter => "")
64
+ # # => &pound;1234567890,50
65
+ def number_to_currency(number, options = {})
66
+ options = options.stringify_keys
67
+ precision = options["precision"] || 2
68
+ unit = options["unit"] || "$"
69
+ separator = precision > 0 ? options["separator"] || "." : ""
70
+ delimiter = options["delimiter"] || ","
71
+
72
+ begin
73
+ parts = number_with_precision(number, precision).split('.')
74
+ unit + number_with_delimiter(parts[0], delimiter) + separator + parts[1].to_s
75
+ rescue
76
+ number
77
+ end
78
+ end
79
+
80
+ # Formats a +number+ as a percentage string (e.g., 65%). You can customize the
81
+ # format in the +options+ hash.
82
+ #
83
+ # ==== Options
84
+ # * <tt>:precision</tt> - Sets the level of precision (defaults to 3).
85
+ # * <tt>:separator</tt> - Sets the separator between the units (defaults to ".").
86
+ #
87
+ # ==== Examples
88
+ # number_to_percentage(100) # => 100.000%
89
+ # number_to_percentage(100, :precision => 0) # => 100%
90
+ #
91
+ # number_to_percentage(302.24398923423, :precision => 5)
92
+ # # => 302.24399%
93
+ def number_to_percentage(number, options = {})
94
+ options = options.stringify_keys
95
+ precision = options["precision"] || 3
96
+ separator = options["separator"] || "."
97
+
98
+ begin
99
+ number = number_with_precision(number, precision)
100
+ parts = number.split('.')
101
+ if parts.at(1).nil?
102
+ parts[0] + "%"
103
+ else
104
+ parts[0] + separator + parts[1].to_s + "%"
105
+ end
106
+ rescue
107
+ number
108
+ end
109
+ end
110
+
111
+ # Formats a +number+ with grouped thousands using +delimiter+ (e.g., 12,324). You
112
+ # can customize the format using optional <em>delimiter</em> and <em>separator</em> parameters.
113
+ #
114
+ # ==== Options
115
+ # * <tt>delimiter</tt> - Sets the thousands delimiter (defaults to ",").
116
+ # * <tt>separator</tt> - Sets the separator between the units (defaults to ".").
117
+ #
118
+ # ==== Examples
119
+ # number_with_delimiter(12345678) # => 12,345,678
120
+ # number_with_delimiter(12345678.05) # => 12,345,678.05
121
+ # number_with_delimiter(12345678, ".") # => 12.345.678
122
+ #
123
+ # number_with_delimiter(98765432.98, " ", ",")
124
+ # # => 98 765 432,98
125
+ def number_with_delimiter(number, delimiter=",", separator=".")
126
+ begin
127
+ parts = number.to_s.split('.')
128
+ parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{delimiter}")
129
+ parts.join separator
130
+ rescue
131
+ number
132
+ end
133
+ end
134
+
135
+ # Formats a +number+ with the specified level of +precision+ (e.g., 112.32 has a precision of 2). The default
136
+ # level of precision is 3.
137
+ #
138
+ # ==== Examples
139
+ # number_with_precision(111.2345) # => 111.235
140
+ # number_with_precision(111.2345, 2) # => 111.24
141
+ # number_with_precision(13, 5) # => 13.00000
142
+ # number_with_precision(389.32314, 0) # => 389
143
+ def number_with_precision(number, precision=3)
144
+ "%01.#{precision}f" % number
145
+ rescue
146
+ number
147
+ end
148
+
149
+ # Formats the bytes in +size+ into a more understandable representation
150
+ # (e.g., giving it 1500 yields 1.5 KB). This method is useful for
151
+ # reporting file sizes to users. This method returns nil if
152
+ # +size+ cannot be converted into a number. You can change the default
153
+ # precision of 1 using the precision parameter +precision+.
154
+ #
155
+ # ==== Examples
156
+ # number_to_human_size(123) # => 123 Bytes
157
+ # number_to_human_size(1234) # => 1.2 KB
158
+ # number_to_human_size(12345) # => 12.1 KB
159
+ # number_to_human_size(1234567) # => 1.2 MB
160
+ # number_to_human_size(1234567890) # => 1.1 GB
161
+ # number_to_human_size(1234567890123) # => 1.1 TB
162
+ # number_to_human_size(1234567, 2) # => 1.18 MB
163
+ # number_to_human_size(483989, 0) # => 4 MB
164
+ def number_to_human_size(size, precision=1)
165
+ size = Kernel.Float(size)
166
+ case
167
+ when size.to_i == 1; "1 Byte"
168
+ when size < 1.kilobyte; "%d Bytes" % size
169
+ when size < 1.megabyte; "%.#{precision}f KB" % (size / 1.0.kilobyte)
170
+ when size < 1.gigabyte; "%.#{precision}f MB" % (size / 1.0.megabyte)
171
+ when size < 1.terabyte; "%.#{precision}f GB" % (size / 1.0.gigabyte)
172
+ else "%.#{precision}f TB" % (size / 1.0.terabyte)
173
+ end.sub(/([0-9])\.?0+ /, '\1 ' )
174
+ rescue
175
+ nil
176
+ end
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,1268 @@
1
+ require 'set'
2
+
3
+ module ActionView
4
+ module Helpers
5
+ # Prototype[http://www.prototypejs.org/] is a JavaScript library that provides
6
+ # DOM[http://en.wikipedia.org/wiki/Document_Object_Model] manipulation,
7
+ # Ajax[http://www.adaptivepath.com/publications/essays/archives/000385.php]
8
+ # functionality, and more traditional object-oriented facilities for JavaScript.
9
+ # This module provides a set of helpers to make it more convenient to call
10
+ # functions from Prototype using Rails, including functionality to call remote
11
+ # Rails methods (that is, making a background request to a Rails action) using Ajax.
12
+ # This means that you can call actions in your controllers without
13
+ # reloading the page, but still update certain parts of it using
14
+ # injections into the DOM. A common use case is having a form that adds
15
+ # a new element to a list without reloading the page or updating a shopping
16
+ # cart total when a new item is added.
17
+ #
18
+ # == Usage
19
+ # To be able to use these helpers, you must first include the Prototype
20
+ # JavaScript framework in your pages.
21
+ #
22
+ # javascript_include_tag 'prototype'
23
+ #
24
+ # (See the documentation for
25
+ # ActionView::Helpers::JavaScriptHelper for more information on including
26
+ # this and other JavaScript files in your Rails templates.)
27
+ #
28
+ # Now you're ready to call a remote action either through a link...
29
+ #
30
+ # link_to_remote "Add to cart",
31
+ # :url => { :action => "add", :id => product.id },
32
+ # :update => { :success => "cart", :failure => "error" }
33
+ #
34
+ # ...through a form...
35
+ #
36
+ # <% form_remote_tag :url => '/shipping' do -%>
37
+ # <div><%= submit_tag 'Recalculate Shipping' %></div>
38
+ # <% end -%>
39
+ #
40
+ # ...periodically...
41
+ #
42
+ # periodically_call_remote(:url => 'update', :frequency => '5', :update => 'ticker')
43
+ #
44
+ # ...or through an observer (i.e., a form or field that is observed and calls a remote
45
+ # action when changed).
46
+ #
47
+ # <%= observe_field(:searchbox,
48
+ # :url => { :action => :live_search }),
49
+ # :frequency => 0.5,
50
+ # :update => :hits,
51
+ # :with => 'query'
52
+ # %>
53
+ #
54
+ # As you can see, there are numerous ways to use Prototype's Ajax functions (and actually more than
55
+ # are listed here); check out the documentation for each method to find out more about its usage and options.
56
+ #
57
+ # === Common Options
58
+ # See link_to_remote for documentation of options common to all Ajax
59
+ # helpers; any of the options specified by link_to_remote can be used
60
+ # by the other helpers.
61
+ #
62
+ # == Designing your Rails actions for Ajax
63
+ # When building your action handlers (that is, the Rails actions that receive your background requests), it's
64
+ # important to remember a few things. First, whatever your action would normall return to the browser, it will
65
+ # return to the Ajax call. As such, you typically don't want to render with a layout. This call will cause
66
+ # the layout to be transmitted back to your page, and, if you have a full HTML/CSS, will likely mess a lot of things up.
67
+ # You can turn the layout off on particular actions by doing the following:
68
+ #
69
+ # class SiteController < ActionController::Base
70
+ # layout "standard", :except => [:ajax_method, :more_ajax, :another_ajax]
71
+ # end
72
+ #
73
+ # Optionally, you could do this in the method you wish to lack a layout:
74
+ #
75
+ # render :layout => false
76
+ #
77
+ # You can tell the type of request from within your action using the <tt>request.xhr?</tt> (XmlHttpRequest, the
78
+ # method that Ajax uses to make background requests) method.
79
+ # def name
80
+ # # Is this an XmlHttpRequest request?
81
+ # if (request.xhr?)
82
+ # render :text => @name.to_s
83
+ # else
84
+ # # No? Then render an action.
85
+ # render :action => 'view_attribute', :attr => @name
86
+ # end
87
+ # end
88
+ #
89
+ # The else clause can be left off and the current action will render with full layout and template. An extension
90
+ # to this solution was posted to Ryan Heneise's blog at ArtOfMission["http://www.artofmission.com/"].
91
+ #
92
+ # layout proc{ |c| c.request.xhr? ? false : "application" }
93
+ #
94
+ # Dropping this in your ApplicationController turns the layout off for every request that is an "xhr" request.
95
+ #
96
+ # If you are just returning a little data or don't want to build a template for your output, you may opt to simply
97
+ # render text output, like this:
98
+ #
99
+ # render :text => 'Return this from my method!'
100
+ #
101
+ # Since whatever the method returns is injected into the DOM, this will simply inject some text (or HTML, if you
102
+ # tell it to). This is usually how small updates, such updating a cart total or a file count, are handled.
103
+ #
104
+ # == Updating multiple elements
105
+ # See JavaScriptGenerator for information on updating multiple elements
106
+ # on the page in an Ajax response.
107
+ module PrototypeHelper
108
+ unless const_defined? :CALLBACKS
109
+ CALLBACKS = Set.new([ :uninitialized, :loading, :loaded,
110
+ :interactive, :complete, :failure, :success ] +
111
+ (100..599).to_a)
112
+ AJAX_OPTIONS = Set.new([ :before, :after, :condition, :url,
113
+ :asynchronous, :method, :insertion, :position,
114
+ :form, :with, :update, :script ]).merge(CALLBACKS)
115
+ end
116
+
117
+ # Returns a link to a remote action defined by <tt>options[:url]</tt>
118
+ # (using the url_for format) that's called in the background using
119
+ # XMLHttpRequest. The result of that request can then be inserted into a
120
+ # DOM object whose id can be specified with <tt>options[:update]</tt>.
121
+ # Usually, the result would be a partial prepared by the controller with
122
+ # render :partial.
123
+ #
124
+ # Examples:
125
+ # # Generates: <a href="#" onclick="new Ajax.Updater('posts', '/blog/destroy/3', {asynchronous:true, evalScripts:true});
126
+ # # return false;">Delete this post</a>
127
+ # link_to_remote "Delete this post", :update => "posts",
128
+ # :url => { :action => "destroy", :id => post.id }
129
+ #
130
+ # # Generates: <a href="#" onclick="new Ajax.Updater('emails', '/mail/list_emails', {asynchronous:true, evalScripts:true});
131
+ # # return false;"><img alt="Refresh" src="/images/refresh.png?" /></a>
132
+ # link_to_remote(image_tag("refresh"), :update => "emails",
133
+ # :url => { :action => "list_emails" })
134
+ #
135
+ # You can override the generated HTML options by specifying a hash in
136
+ # <tt>options[:html]</tt>.
137
+ #
138
+ # link_to_remote "Delete this post", :update => "posts",
139
+ # :url => post_url(@post), :method => :delete,
140
+ # :html => { :class => "destructive" }
141
+ #
142
+ # You can also specify a hash for <tt>options[:update]</tt> to allow for
143
+ # easy redirection of output to an other DOM element if a server-side
144
+ # error occurs:
145
+ #
146
+ # Example:
147
+ # # Generates: <a href="#" onclick="new Ajax.Updater({success:'posts',failure:'error'}, '/blog/destroy/5',
148
+ # # {asynchronous:true, evalScripts:true}); return false;">Delete this post</a>
149
+ # link_to_remote "Delete this post",
150
+ # :url => { :action => "destroy", :id => post.id },
151
+ # :update => { :success => "posts", :failure => "error" }
152
+ #
153
+ # Optionally, you can use the <tt>options[:position]</tt> parameter to
154
+ # influence how the target DOM element is updated. It must be one of
155
+ # <tt>:before</tt>, <tt>:top</tt>, <tt>:bottom</tt>, or <tt>:after</tt>.
156
+ #
157
+ # The method used is by default POST. You can also specify GET or you
158
+ # can simulate PUT or DELETE over POST. All specified with <tt>options[:method]</tt>
159
+ #
160
+ # Example:
161
+ # # Generates: <a href="#" onclick="new Ajax.Request('/person/4', {asynchronous:true, evalScripts:true, method:'delete'});
162
+ # # return false;">Destroy</a>
163
+ # link_to_remote "Destroy", :url => person_url(:id => person), :method => :delete
164
+ #
165
+ # By default, these remote requests are processed asynchronous during
166
+ # which various JavaScript callbacks can be triggered (for progress
167
+ # indicators and the likes). All callbacks get access to the
168
+ # <tt>request</tt> object, which holds the underlying XMLHttpRequest.
169
+ #
170
+ # To access the server response, use <tt>request.responseText</tt>, to
171
+ # find out the HTTP status, use <tt>request.status</tt>.
172
+ #
173
+ # Example:
174
+ # # Generates: <a href="#" onclick="new Ajax.Request('/words/undo?n=33', {asynchronous:true, evalScripts:true,
175
+ # # onComplete:function(request){undoRequestCompleted(request)}}); return false;">hello</a>
176
+ # word = 'hello'
177
+ # link_to_remote word,
178
+ # :url => { :action => "undo", :n => word_counter },
179
+ # :complete => "undoRequestCompleted(request)"
180
+ #
181
+ # The callbacks that may be specified are (in order):
182
+ #
183
+ # <tt>:loading</tt>:: Called when the remote document is being
184
+ # loaded with data by the browser.
185
+ # <tt>:loaded</tt>:: Called when the browser has finished loading
186
+ # the remote document.
187
+ # <tt>:interactive</tt>:: Called when the user can interact with the
188
+ # remote document, even though it has not
189
+ # finished loading.
190
+ # <tt>:success</tt>:: Called when the XMLHttpRequest is completed,
191
+ # and the HTTP status code is in the 2XX range.
192
+ # <tt>:failure</tt>:: Called when the XMLHttpRequest is completed,
193
+ # and the HTTP status code is not in the 2XX
194
+ # range.
195
+ # <tt>:complete</tt>:: Called when the XMLHttpRequest is complete
196
+ # (fires after success/failure if they are
197
+ # present).
198
+ #
199
+ # You can further refine <tt>:success</tt> and <tt>:failure</tt> by
200
+ # adding additional callbacks for specific status codes.
201
+ #
202
+ # Example:
203
+ # # Generates: <a href="#" onclick="new Ajax.Request('/testing/action', {asynchronous:true, evalScripts:true,
204
+ # # on404:function(request){alert('Not found...? Wrong URL...?')},
205
+ # # onFailure:function(request){alert('HTTP Error ' + request.status + '!')}}); return false;">hello</a>
206
+ # link_to_remote word,
207
+ # :url => { :action => "action" },
208
+ # 404 => "alert('Not found...? Wrong URL...?')",
209
+ # :failure => "alert('HTTP Error ' + request.status + '!')"
210
+ #
211
+ # A status code callback overrides the success/failure handlers if
212
+ # present.
213
+ #
214
+ # If you for some reason or another need synchronous processing (that'll
215
+ # block the browser while the request is happening), you can specify
216
+ # <tt>options[:type] = :synchronous</tt>.
217
+ #
218
+ # You can customize further browser side call logic by passing in
219
+ # JavaScript code snippets via some optional parameters. In their order
220
+ # of use these are:
221
+ #
222
+ # <tt>:confirm</tt>:: Adds confirmation dialog.
223
+ # <tt>:condition</tt>:: Perform remote request conditionally
224
+ # by this expression. Use this to
225
+ # describe browser-side conditions when
226
+ # request should not be initiated.
227
+ # <tt>:before</tt>:: Called before request is initiated.
228
+ # <tt>:after</tt>:: Called immediately after request was
229
+ # initiated and before <tt>:loading</tt>.
230
+ # <tt>:submit</tt>:: Specifies the DOM element ID that's used
231
+ # as the parent of the form elements. By
232
+ # default this is the current form, but
233
+ # it could just as well be the ID of a
234
+ # table row or any other DOM element.
235
+ # <tt>:with</tt>:: A JavaScript expression specifying
236
+ # the parameters for the XMLHttpRequest.
237
+ # Any expressions should return a valid
238
+ # URL query string.
239
+ #
240
+ # Example:
241
+ #
242
+ # :with => "'name=' + $('name').value"
243
+ #
244
+ # You can generate a link that uses AJAX in the general case, while
245
+ # degrading gracefully to plain link behavior in the absence of
246
+ # JavaScript by setting <tt>html_options[:href]</tt> to an alternate URL.
247
+ # Note the extra curly braces around the <tt>options</tt> hash separate
248
+ # it as the second parameter from <tt>html_options</tt>, the third.
249
+ #
250
+ # Example:
251
+ # link_to_remote "Delete this post",
252
+ # { :update => "posts", :url => { :action => "destroy", :id => post.id } },
253
+ # :href => url_for(:action => "destroy", :id => post.id)
254
+ def link_to_remote(name, options = {}, html_options = nil)
255
+ link_to_function(name, remote_function(options), html_options || options.delete(:html))
256
+ end
257
+
258
+ # Periodically calls the specified url (<tt>options[:url]</tt>) every
259
+ # <tt>options[:frequency]</tt> seconds (default is 10). Usually used to
260
+ # update a specified div (<tt>options[:update]</tt>) with the results
261
+ # of the remote call. The options for specifying the target with :url
262
+ # and defining callbacks is the same as link_to_remote.
263
+ # Examples:
264
+ # # Call get_averages and put its results in 'avg' every 10 seconds
265
+ # # Generates:
266
+ # # new PeriodicalExecuter(function() {new Ajax.Updater('avg', '/grades/get_averages',
267
+ # # {asynchronous:true, evalScripts:true})}, 10)
268
+ # periodically_call_remote(:url => { :action => 'get_averages' }, :update => 'avg')
269
+ #
270
+ # # Call invoice every 10 seconds with the id of the customer
271
+ # # If it succeeds, update the invoice DIV; if it fails, update the error DIV
272
+ # # Generates:
273
+ # # new PeriodicalExecuter(function() {new Ajax.Updater({success:'invoice',failure:'error'},
274
+ # # '/testing/invoice/16', {asynchronous:true, evalScripts:true})}, 10)
275
+ # periodically_call_remote(:url => { :action => 'invoice', :id => customer.id },
276
+ # :update => { :success => "invoice", :failure => "error" }
277
+ #
278
+ # # Call update every 20 seconds and update the new_block DIV
279
+ # # Generates:
280
+ # # new PeriodicalExecuter(function() {new Ajax.Updater('news_block', 'update', {asynchronous:true, evalScripts:true})}, 20)
281
+ # periodically_call_remote(:url => 'update', :frequency => '20', :update => 'news_block')
282
+ #
283
+ def periodically_call_remote(options = {})
284
+ frequency = options[:frequency] || 10 # every ten seconds by default
285
+ code = "new PeriodicalExecuter(function() {#{remote_function(options)}}, #{frequency})"
286
+ javascript_tag(code)
287
+ end
288
+
289
+ # Returns a form tag that will submit using XMLHttpRequest in the
290
+ # background instead of the regular reloading POST arrangement. Even
291
+ # though it's using JavaScript to serialize the form elements, the form
292
+ # submission will work just like a regular submission as viewed by the
293
+ # receiving side (all elements available in <tt>params</tt>). The options for
294
+ # specifying the target with :url and defining callbacks is the same as
295
+ # link_to_remote.
296
+ #
297
+ # A "fall-through" target for browsers that doesn't do JavaScript can be
298
+ # specified with the :action/:method options on :html.
299
+ #
300
+ # Example:
301
+ # # Generates:
302
+ # # <form action="/some/place" method="post" onsubmit="new Ajax.Request('',
303
+ # # {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;">
304
+ # form_remote_tag :html => { :action =>
305
+ # url_for(:controller => "some", :action => "place") }
306
+ #
307
+ # The Hash passed to the :html key is equivalent to the options (2nd)
308
+ # argument in the FormTagHelper.form_tag method.
309
+ #
310
+ # By default the fall-through action is the same as the one specified in
311
+ # the :url (and the default method is :post).
312
+ #
313
+ # form_remote_tag also takes a block, like form_tag:
314
+ # # Generates:
315
+ # # <form action="/" method="post" onsubmit="new Ajax.Request('/',
316
+ # # {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)});
317
+ # # return false;"> <div><input name="commit" type="submit" value="Save" /></div>
318
+ # # </form>
319
+ # <% form_remote_tag :url => '/posts' do -%>
320
+ # <div><%= submit_tag 'Save' %></div>
321
+ # <% end -%>
322
+ def form_remote_tag(options = {}, &block)
323
+ options[:form] = true
324
+
325
+ options[:html] ||= {}
326
+ options[:html][:onsubmit] =
327
+ (options[:html][:onsubmit] ? options[:html][:onsubmit] + "; " : "") +
328
+ "#{remote_function(options)}; return false;"
329
+
330
+ form_tag(options[:html].delete(:action) || url_for(options[:url]), options[:html], &block)
331
+ end
332
+
333
+ # Creates a form that will submit using XMLHttpRequest in the background
334
+ # instead of the regular reloading POST arrangement and a scope around a
335
+ # specific resource that is used as a base for questioning about
336
+ # values for the fields.
337
+ #
338
+ # === Resource
339
+ #
340
+ # Example:
341
+ # <% remote_form_for(@post) do |f| %>
342
+ # ...
343
+ # <% end %>
344
+ #
345
+ # This will expand to be the same as:
346
+ #
347
+ # <% remote_form_for :post, @post, :url => post_path(@post), :html => { :method => :put, :class => "edit_post", :id => "edit_post_45" } do |f| %>
348
+ # ...
349
+ # <% end %>
350
+ #
351
+ # === Nested Resource
352
+ #
353
+ # Example:
354
+ # <% remote_form_for([@post, @comment]) do |f| %>
355
+ # ...
356
+ # <% end %>
357
+ #
358
+ # This will expand to be the same as:
359
+ #
360
+ # <% remote_form_for :comment, @comment, :url => post_comment_path(@post, @comment), :html => { :method => :put, :class => "edit_comment", :id => "edit_comment_45" } do |f| %>
361
+ # ...
362
+ # <% end %>
363
+ #
364
+ # If you don't need to attach a form to a resource, then check out form_remote_tag.
365
+ #
366
+ # See FormHelper#form_for for additional semantics.
367
+ def remote_form_for(record_or_name_or_array, *args, &proc)
368
+ options = args.extract_options!
369
+
370
+ case record_or_name_or_array
371
+ when String, Symbol
372
+ object_name = record_or_name_or_array
373
+ when Array
374
+ object = record_or_name_or_array.last
375
+ object_name = ActionController::RecordIdentifier.singular_class_name(object)
376
+ apply_form_for_options!(record_or_name_or_array, options)
377
+ args.unshift object
378
+ else
379
+ object = record_or_name_or_array
380
+ object_name = ActionController::RecordIdentifier.singular_class_name(record_or_name_or_array)
381
+ apply_form_for_options!(object, options)
382
+ args.unshift object
383
+ end
384
+
385
+ concat(form_remote_tag(options), proc.binding)
386
+ fields_for(object_name, *(args << options), &proc)
387
+ concat('</form>', proc.binding)
388
+ end
389
+ alias_method :form_remote_for, :remote_form_for
390
+
391
+ # Returns a button input tag with the element name of +name+ and a value (i.e., display text) of +value+
392
+ # that will submit form using XMLHttpRequest in the background instead of a regular POST request that
393
+ # reloads the page.
394
+ #
395
+ # # Create a button that submits to the create action
396
+ # #
397
+ # # Generates: <input name="create_btn" onclick="new Ajax.Request('/testing/create',
398
+ # # {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)});
399
+ # # return false;" type="button" value="Create" />
400
+ # <%= submit_to_remote 'create_btn', 'Create', :url => { :action => 'create' } %>
401
+ #
402
+ # # Submit to the remote action update and update the DIV succeed or fail based
403
+ # # on the success or failure of the request
404
+ # #
405
+ # # Generates: <input name="update_btn" onclick="new Ajax.Updater({success:'succeed',failure:'fail'},
406
+ # # '/testing/update', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)});
407
+ # # return false;" type="button" value="Update" />
408
+ # <%= submit_to_remote 'update_btn', 'Update', :url => { :action => 'update' },
409
+ # :update => { :success => "succeed", :failure => "fail" }
410
+ #
411
+ # <tt>options</tt> argument is the same as in form_remote_tag.
412
+ def submit_to_remote(name, value, options = {})
413
+ options[:with] ||= 'Form.serialize(this.form)'
414
+
415
+ options[:html] ||= {}
416
+ options[:html][:type] = 'button'
417
+ options[:html][:onclick] = "#{remote_function(options)}; return false;"
418
+ options[:html][:name] = name
419
+ options[:html][:value] = value
420
+
421
+ tag("input", options[:html], false)
422
+ end
423
+
424
+ # Returns '<tt>eval(request.responseText)</tt>' which is the JavaScript function
425
+ # that form_remote_tag can call in :complete to evaluate a multiple
426
+ # update return document using update_element_function calls.
427
+ def evaluate_remote_response
428
+ "eval(request.responseText)"
429
+ end
430
+
431
+ # Returns the JavaScript needed for a remote function.
432
+ # Takes the same arguments as link_to_remote.
433
+ #
434
+ # Example:
435
+ # # Generates: <select id="options" onchange="new Ajax.Updater('options',
436
+ # # '/testing/update_options', {asynchronous:true, evalScripts:true})">
437
+ # <select id="options" onchange="<%= remote_function(:update => "options",
438
+ # :url => { :action => :update_options }) %>">
439
+ # <option value="0">Hello</option>
440
+ # <option value="1">World</option>
441
+ # </select>
442
+ def remote_function(options)
443
+ javascript_options = options_for_ajax(options)
444
+
445
+ update = ''
446
+ if options[:update] && options[:update].is_a?(Hash)
447
+ update = []
448
+ update << "success:'#{options[:update][:success]}'" if options[:update][:success]
449
+ update << "failure:'#{options[:update][:failure]}'" if options[:update][:failure]
450
+ update = '{' + update.join(',') + '}'
451
+ elsif options[:update]
452
+ update << "'#{options[:update]}'"
453
+ end
454
+
455
+ function = update.empty? ?
456
+ "new Ajax.Request(" :
457
+ "new Ajax.Updater(#{update}, "
458
+
459
+ url_options = options[:url]
460
+ url_options = url_options.merge(:escape => false) if url_options.is_a?(Hash)
461
+ function << "'#{url_for(url_options)}'"
462
+ function << ", #{javascript_options})"
463
+
464
+ function = "#{options[:before]}; #{function}" if options[:before]
465
+ function = "#{function}; #{options[:after]}" if options[:after]
466
+ function = "if (#{options[:condition]}) { #{function}; }" if options[:condition]
467
+ function = "if (confirm('#{escape_javascript(options[:confirm])}')) { #{function}; }" if options[:confirm]
468
+
469
+ return function
470
+ end
471
+
472
+ # Observes the field with the DOM ID specified by +field_id+ and calls a
473
+ # callback when its contents have changed. The default callback is an
474
+ # Ajax call. By default the value of the observed field is sent as a
475
+ # parameter with the Ajax call.
476
+ #
477
+ # Example:
478
+ # # Generates: new Form.Element.Observer('suggest', 0.25, function(element, value) {new Ajax.Updater('suggest',
479
+ # # '/testing/find_suggestion', {asynchronous:true, evalScripts:true, parameters:'q=' + value})})
480
+ # <%= observe_field :suggest, :url => { :action => :find_suggestion },
481
+ # :frequency => 0.25,
482
+ # :update => :suggest,
483
+ # :with => 'q'
484
+ # %>
485
+ #
486
+ # Required +options+ are either of:
487
+ # <tt>:url</tt>:: +url_for+-style options for the action to call
488
+ # when the field has changed.
489
+ # <tt>:function</tt>:: Instead of making a remote call to a URL, you
490
+ # can specify javascript code to be called instead.
491
+ # Note that the value of this option is used as the
492
+ # *body* of the javascript function, a function definition
493
+ # with parameters named element and value will be generated for you
494
+ # for example:
495
+ # observe_field("glass", :frequency => 1, :function => "alert('Element changed')")
496
+ # will generate:
497
+ # new Form.Element.Observer('glass', 1, function(element, value) {alert('Element changed')})
498
+ # The element parameter is the DOM element being observed, and the value is its value at the
499
+ # time the observer is triggered.
500
+ #
501
+ # Additional options are:
502
+ # <tt>:frequency</tt>:: The frequency (in seconds) at which changes to
503
+ # this field will be detected. Not setting this
504
+ # option at all or to a value equal to or less than
505
+ # zero will use event based observation instead of
506
+ # time based observation.
507
+ # <tt>:update</tt>:: Specifies the DOM ID of the element whose
508
+ # innerHTML should be updated with the
509
+ # XMLHttpRequest response text.
510
+ # <tt>:with</tt>:: A JavaScript expression specifying the parameters
511
+ # for the XMLHttpRequest. The default is to send the
512
+ # key and value of the observed field. Any custom
513
+ # expressions should return a valid URL query string.
514
+ # The value of the field is stored in the JavaScript
515
+ # variable +value+.
516
+ #
517
+ # Examples
518
+ #
519
+ # :with => "'my_custom_key=' + value"
520
+ # :with => "'person[name]=' + prompt('New name')"
521
+ # :with => "Form.Element.serialize('other-field')"
522
+ #
523
+ # Finally
524
+ # :with => 'name'
525
+ # is shorthand for
526
+ # :with => "'name=' + value"
527
+ # This essentially just changes the key of the parameter.
528
+ # <tt>:on</tt>:: Specifies which event handler to observe. By default,
529
+ # it's set to "changed" for text fields and areas and
530
+ # "click" for radio buttons and checkboxes. With this,
531
+ # you can specify it instead to be "blur" or "focus" or
532
+ # any other event.
533
+ #
534
+ # Additionally, you may specify any of the options documented in the
535
+ # <em>Common options</em> section at the top of this document.
536
+ #
537
+ # Example:
538
+ #
539
+ # # Sends params: {:title => 'Title of the book'} when the book_title input
540
+ # # field is changed.
541
+ # observe_field 'book_title',
542
+ # :url => 'http://example.com/books/edit/1',
543
+ # :with => 'title'
544
+ #
545
+ # # Sends params: {:book_title => 'Title of the book'} when the focus leaves
546
+ # # the input field.
547
+ # observe_field 'book_title',
548
+ # :url => 'http://example.com/books/edit/1',
549
+ # :on => 'blur'
550
+ #
551
+ def observe_field(field_id, options = {})
552
+ if options[:frequency] && options[:frequency] > 0
553
+ build_observer('Form.Element.Observer', field_id, options)
554
+ else
555
+ build_observer('Form.Element.EventObserver', field_id, options)
556
+ end
557
+ end
558
+
559
+ # Observes the form with the DOM ID specified by +form_id+ and calls a
560
+ # callback when its contents have changed. The default callback is an
561
+ # Ajax call. By default all fields of the observed field are sent as
562
+ # parameters with the Ajax call.
563
+ #
564
+ # The +options+ for +observe_form+ are the same as the options for
565
+ # +observe_field+. The JavaScript variable +value+ available to the
566
+ # <tt>:with</tt> option is set to the serialized form by default.
567
+ def observe_form(form_id, options = {})
568
+ if options[:frequency]
569
+ build_observer('Form.Observer', form_id, options)
570
+ else
571
+ build_observer('Form.EventObserver', form_id, options)
572
+ end
573
+ end
574
+
575
+ # All the methods were moved to GeneratorMethods so that
576
+ # #include_helpers_from_context has nothing to overwrite.
577
+ class JavaScriptGenerator #:nodoc:
578
+ def initialize(context, &block) #:nodoc:
579
+ @context, @lines = context, []
580
+ include_helpers_from_context
581
+ @context.instance_exec(self, &block)
582
+ end
583
+
584
+ private
585
+ def include_helpers_from_context
586
+ @context.extended_by.each do |mod|
587
+ extend mod unless mod.name =~ /^ActionView::Helpers/
588
+ end
589
+ extend GeneratorMethods
590
+ end
591
+
592
+ # JavaScriptGenerator generates blocks of JavaScript code that allow you
593
+ # to change the content and presentation of multiple DOM elements. Use
594
+ # this in your Ajax response bodies, either in a <script> tag or as plain
595
+ # JavaScript sent with a Content-type of "text/javascript".
596
+ #
597
+ # Create new instances with PrototypeHelper#update_page or with
598
+ # ActionController::Base#render, then call #insert_html, #replace_html,
599
+ # #remove, #show, #hide, #visual_effect, or any other of the built-in
600
+ # methods on the yielded generator in any order you like to modify the
601
+ # content and appearance of the current page.
602
+ #
603
+ # Example:
604
+ #
605
+ # # Generates:
606
+ # # new Insertion.Bottom("list", "<li>Some item</li>");
607
+ # # new Effect.Highlight("list");
608
+ # # ["status-indicator", "cancel-link"].each(Element.hide);
609
+ # update_page do |page|
610
+ # page.insert_html :bottom, 'list', "<li>#{@item.name}</li>"
611
+ # page.visual_effect :highlight, 'list'
612
+ # page.hide 'status-indicator', 'cancel-link'
613
+ # end
614
+ #
615
+ #
616
+ # Helper methods can be used in conjunction with JavaScriptGenerator.
617
+ # When a helper method is called inside an update block on the +page+
618
+ # object, that method will also have access to a +page+ object.
619
+ #
620
+ # Example:
621
+ #
622
+ # module ApplicationHelper
623
+ # def update_time
624
+ # page.replace_html 'time', Time.now.to_s(:db)
625
+ # page.visual_effect :highlight, 'time'
626
+ # end
627
+ # end
628
+ #
629
+ # # Controller action
630
+ # def poll
631
+ # render(:update) { |page| page.update_time }
632
+ # end
633
+ #
634
+ # You can also use PrototypeHelper#update_page_tag instead of
635
+ # PrototypeHelper#update_page to wrap the generated JavaScript in a
636
+ # <script> tag.
637
+ module GeneratorMethods
638
+ def to_s #:nodoc:
639
+ returning javascript = @lines * $/ do
640
+ if ActionView::Base.debug_rjs
641
+ source = javascript.dup
642
+ javascript.replace "try {\n#{source}\n} catch (e) "
643
+ javascript << "{ alert('RJS error:\\n\\n' + e.toString()); alert('#{source.gsub('\\','\0\0').gsub(/\r\n|\n|\r/, "\\n").gsub(/["']/) { |m| "\\#{m}" }}'); throw e }"
644
+ end
645
+ end
646
+ end
647
+
648
+ # Returns a element reference by finding it through +id+ in the DOM. This element can then be
649
+ # used for further method calls. Examples:
650
+ #
651
+ # page['blank_slate'] # => $('blank_slate');
652
+ # page['blank_slate'].show # => $('blank_slate').show();
653
+ # page['blank_slate'].show('first').up # => $('blank_slate').show('first').up();
654
+ #
655
+ # You can also pass in a record, which will use ActionController::RecordIdentifier.dom_id to lookup
656
+ # the correct id:
657
+ #
658
+ # page[@post] # => $('post_45')
659
+ # page[Post.new] # => $('new_post')
660
+ def [](id)
661
+ case id
662
+ when String, Symbol, NilClass
663
+ JavaScriptElementProxy.new(self, id)
664
+ else
665
+ JavaScriptElementProxy.new(self, ActionController::RecordIdentifier.dom_id(id))
666
+ end
667
+ end
668
+
669
+ # Returns an object whose <tt>#to_json</tt> evaluates to +code+. Use this to pass a literal JavaScript
670
+ # expression as an argument to another JavaScriptGenerator method.
671
+ def literal(code)
672
+ ActiveSupport::JSON::Variable.new(code.to_s)
673
+ end
674
+
675
+ # Returns a collection reference by finding it through a CSS +pattern+ in the DOM. This collection can then be
676
+ # used for further method calls. Examples:
677
+ #
678
+ # page.select('p') # => $$('p');
679
+ # page.select('p.welcome b').first # => $$('p.welcome b').first();
680
+ # page.select('p.welcome b').first.hide # => $$('p.welcome b').first().hide();
681
+ #
682
+ # You can also use prototype enumerations with the collection. Observe:
683
+ #
684
+ # # Generates: $$('#items li').each(function(value) { value.hide(); });
685
+ # page.select('#items li').each do |value|
686
+ # value.hide
687
+ # end
688
+ #
689
+ # Though you can call the block param anything you want, they are always rendered in the
690
+ # javascript as 'value, index.' Other enumerations, like collect() return the last statement:
691
+ #
692
+ # # Generates: var hidden = $$('#items li').collect(function(value, index) { return value.hide(); });
693
+ # page.select('#items li').collect('hidden') do |item|
694
+ # item.hide
695
+ # end
696
+ #
697
+ def select(pattern)
698
+ JavaScriptElementCollectionProxy.new(self, pattern)
699
+ end
700
+
701
+ # Inserts HTML at the specified +position+ relative to the DOM element
702
+ # identified by the given +id+.
703
+ #
704
+ # +position+ may be one of:
705
+ #
706
+ # <tt>:top</tt>:: HTML is inserted inside the element, before the
707
+ # element's existing content.
708
+ # <tt>:bottom</tt>:: HTML is inserted inside the element, after the
709
+ # element's existing content.
710
+ # <tt>:before</tt>:: HTML is inserted immediately preceding the element.
711
+ # <tt>:after</tt>:: HTML is inserted immediately following the element.
712
+ #
713
+ # +options_for_render+ may be either a string of HTML to insert, or a hash
714
+ # of options to be passed to ActionView::Base#render. For example:
715
+ #
716
+ # # Insert the rendered 'navigation' partial just before the DOM
717
+ # # element with ID 'content'.
718
+ # # Generates: new Insertion.Before("content", "-- Contents of 'navigation' partial --");
719
+ # insert_html :before, 'content', :partial => 'navigation'
720
+ #
721
+ # # Add a list item to the bottom of the <ul> with ID 'list'.
722
+ # # Generates: new Insertion.Bottom("list", "<li>Last item</li>");
723
+ # insert_html :bottom, 'list', '<li>Last item</li>'
724
+ #
725
+ def insert_html(position, id, *options_for_render)
726
+ insertion = position.to_s.camelize
727
+ call "new Insertion.#{insertion}", id, render(*options_for_render)
728
+ end
729
+
730
+ # Replaces the inner HTML of the DOM element with the given +id+.
731
+ #
732
+ # +options_for_render+ may be either a string of HTML to insert, or a hash
733
+ # of options to be passed to ActionView::Base#render. For example:
734
+ #
735
+ # # Replace the HTML of the DOM element having ID 'person-45' with the
736
+ # # 'person' partial for the appropriate object.
737
+ # # Generates: Element.update("person-45", "-- Contents of 'person' partial --");
738
+ # replace_html 'person-45', :partial => 'person', :object => @person
739
+ #
740
+ def replace_html(id, *options_for_render)
741
+ call 'Element.update', id, render(*options_for_render)
742
+ end
743
+
744
+ # Replaces the "outer HTML" (i.e., the entire element, not just its
745
+ # contents) of the DOM element with the given +id+.
746
+ #
747
+ # +options_for_render+ may be either a string of HTML to insert, or a hash
748
+ # of options to be passed to ActionView::Base#render. For example:
749
+ #
750
+ # # Replace the DOM element having ID 'person-45' with the
751
+ # # 'person' partial for the appropriate object.
752
+ # replace 'person-45', :partial => 'person', :object => @person
753
+ #
754
+ # This allows the same partial that is used for the +insert_html+ to
755
+ # be also used for the input to +replace+ without resorting to
756
+ # the use of wrapper elements.
757
+ #
758
+ # Examples:
759
+ #
760
+ # <div id="people">
761
+ # <%= render :partial => 'person', :collection => @people %>
762
+ # </div>
763
+ #
764
+ # # Insert a new person
765
+ # #
766
+ # # Generates: new Insertion.Bottom({object: "Matz", partial: "person"}, "");
767
+ # page.insert_html :bottom, :partial => 'person', :object => @person
768
+ #
769
+ # # Replace an existing person
770
+ #
771
+ # # Generates: Element.replace("person_45", "-- Contents of partial --");
772
+ # page.replace 'person_45', :partial => 'person', :object => @person
773
+ #
774
+ def replace(id, *options_for_render)
775
+ call 'Element.replace', id, render(*options_for_render)
776
+ end
777
+
778
+ # Removes the DOM elements with the given +ids+ from the page.
779
+ #
780
+ # Example:
781
+ #
782
+ # # Remove a few people
783
+ # # Generates: ["person_23", "person_9", "person_2"].each(Element.remove);
784
+ # page.remove 'person_23', 'person_9', 'person_2'
785
+ #
786
+ def remove(*ids)
787
+ loop_on_multiple_args 'Element.remove', ids
788
+ end
789
+
790
+ # Shows hidden DOM elements with the given +ids+.
791
+ #
792
+ # Example:
793
+ #
794
+ # # Show a few people
795
+ # # Generates: ["person_6", "person_13", "person_223"].each(Element.show);
796
+ # page.show 'person_6', 'person_13', 'person_223'
797
+ #
798
+ def show(*ids)
799
+ loop_on_multiple_args 'Element.show', ids
800
+ end
801
+
802
+ # Hides the visible DOM elements with the given +ids+.
803
+ #
804
+ # Example:
805
+ #
806
+ # # Hide a few people
807
+ # # Generates: ["person_29", "person_9", "person_0"].each(Element.hide);
808
+ # page.hide 'person_29', 'person_9', 'person_0'
809
+ #
810
+ def hide(*ids)
811
+ loop_on_multiple_args 'Element.hide', ids
812
+ end
813
+
814
+ # Toggles the visibility of the DOM elements with the given +ids+.
815
+ # Example:
816
+ #
817
+ # # Show a few people
818
+ # # Generates: ["person_14", "person_12", "person_23"].each(Element.toggle);
819
+ # page.toggle 'person_14', 'person_12', 'person_23' # Hides the elements
820
+ # page.toggle 'person_14', 'person_12', 'person_23' # Shows the previously hidden elements
821
+ #
822
+ def toggle(*ids)
823
+ loop_on_multiple_args 'Element.toggle', ids
824
+ end
825
+
826
+ # Displays an alert dialog with the given +message+.
827
+ #
828
+ # Example:
829
+ #
830
+ # # Generates: alert('This message is from Rails!')
831
+ # page.alert('This message is from Rails!')
832
+ def alert(message)
833
+ call 'alert', message
834
+ end
835
+
836
+ # Redirects the browser to the given +location+ using JavaScript, in the same form as +url_for+.
837
+ #
838
+ # Examples:
839
+ #
840
+ # # Generates: window.location.href = "/mycontroller";
841
+ # page.redirect_to(:action => 'index')
842
+ #
843
+ # # Generates: window.location.href = "/account/signup";
844
+ # page.redirect_to(:controller => 'account', :action => 'signup')
845
+ def redirect_to(location)
846
+ assign 'window.location.href', @context.url_for(location)
847
+ end
848
+
849
+ # Calls the JavaScript +function+, optionally with the given +arguments+.
850
+ #
851
+ # If a block is given, the block will be passed to a new JavaScriptGenerator;
852
+ # the resulting JavaScript code will then be wrapped inside <tt>function() { ... }</tt>
853
+ # and passed as the called function's final argument.
854
+ #
855
+ # Examples:
856
+ #
857
+ # # Generates: Element.replace(my_element, "My content to replace with.")
858
+ # page.call 'Element.replace', 'my_element', "My content to replace with."
859
+ #
860
+ # # Generates: alert('My message!')
861
+ # page.call 'alert', 'My message!'
862
+ #
863
+ def call(function, *arguments, &block)
864
+ record "#{function}(#{arguments_for_call(arguments, block)})"
865
+ end
866
+
867
+ # Assigns the JavaScript +variable+ the given +value+.
868
+ #
869
+ # Examples:
870
+ #
871
+ # # Generates: my_string = "This is mine!";
872
+ # page.assign 'my_string', 'This is mine!'
873
+ #
874
+ # # Generates: record_count = 33;
875
+ # page.assign 'record_count', 33
876
+ #
877
+ # # Generates: tabulated_total = 47
878
+ # page.assign 'tabulated_total', @total_from_cart
879
+ #
880
+ def assign(variable, value)
881
+ record "#{variable} = #{javascript_object_for(value)}"
882
+ end
883
+
884
+ # Writes raw JavaScript to the page.
885
+ #
886
+ # Example:
887
+ #
888
+ # page << "alert('JavaScript with Prototype.');"
889
+ def <<(javascript)
890
+ @lines << javascript
891
+ end
892
+
893
+ # Executes the content of the block after a delay of +seconds+. Example:
894
+ #
895
+ # # Generates:
896
+ # # setTimeout(function() {
897
+ # # ;
898
+ # # new Effect.Fade("notice",{});
899
+ # # }, 20000);
900
+ # page.delay(20) do
901
+ # page.visual_effect :fade, 'notice'
902
+ # end
903
+ def delay(seconds = 1)
904
+ record "setTimeout(function() {\n\n"
905
+ yield
906
+ record "}, #{(seconds * 1000).to_i})"
907
+ end
908
+
909
+ # Starts a script.aculo.us visual effect. See
910
+ # ActionView::Helpers::ScriptaculousHelper for more information.
911
+ def visual_effect(name, id = nil, options = {})
912
+ record @context.send(:visual_effect, name, id, options)
913
+ end
914
+
915
+ # Creates a script.aculo.us sortable element. Useful
916
+ # to recreate sortable elements after items get added
917
+ # or deleted.
918
+ # See ActionView::Helpers::ScriptaculousHelper for more information.
919
+ def sortable(id, options = {})
920
+ record @context.send(:sortable_element_js, id, options)
921
+ end
922
+
923
+ # Creates a script.aculo.us draggable element.
924
+ # See ActionView::Helpers::ScriptaculousHelper for more information.
925
+ def draggable(id, options = {})
926
+ record @context.send(:draggable_element_js, id, options)
927
+ end
928
+
929
+ # Creates a script.aculo.us drop receiving element.
930
+ # See ActionView::Helpers::ScriptaculousHelper for more information.
931
+ def drop_receiving(id, options = {})
932
+ record @context.send(:drop_receiving_element_js, id, options)
933
+ end
934
+
935
+ private
936
+ def loop_on_multiple_args(method, ids)
937
+ record(ids.size>1 ?
938
+ "#{javascript_object_for(ids)}.each(#{method})" :
939
+ "#{method}(#{ids.first.to_json})")
940
+ end
941
+
942
+ def page
943
+ self
944
+ end
945
+
946
+ def record(line)
947
+ returning line = "#{line.to_s.chomp.gsub(/\;\z/, '')};" do
948
+ self << line
949
+ end
950
+ end
951
+
952
+ def render(*options_for_render)
953
+ old_format = @context && @context.template_format
954
+ @context.template_format = :html if @context
955
+ Hash === options_for_render.first ?
956
+ @context.render(*options_for_render) :
957
+ options_for_render.first.to_s
958
+ ensure
959
+ @context.template_format = old_format if @context
960
+ end
961
+
962
+ def javascript_object_for(object)
963
+ object.respond_to?(:to_json) ? object.to_json : object.inspect
964
+ end
965
+
966
+ def arguments_for_call(arguments, block = nil)
967
+ arguments << block_to_function(block) if block
968
+ arguments.map { |argument| javascript_object_for(argument) }.join ', '
969
+ end
970
+
971
+ def block_to_function(block)
972
+ generator = self.class.new(@context, &block)
973
+ literal("function() { #{generator.to_s} }")
974
+ end
975
+
976
+ def method_missing(method, *arguments)
977
+ JavaScriptProxy.new(self, method.to_s.camelize)
978
+ end
979
+ end
980
+ end
981
+
982
+ # Yields a JavaScriptGenerator and returns the generated JavaScript code.
983
+ # Use this to update multiple elements on a page in an Ajax response.
984
+ # See JavaScriptGenerator for more information.
985
+ #
986
+ # Example:
987
+ #
988
+ # update_page do |page|
989
+ # page.hide 'spinner'
990
+ # end
991
+ def update_page(&block)
992
+ JavaScriptGenerator.new(@template, &block).to_s
993
+ end
994
+
995
+ # Works like update_page but wraps the generated JavaScript in a <script>
996
+ # tag. Use this to include generated JavaScript in an ERb template.
997
+ # See JavaScriptGenerator for more information.
998
+ #
999
+ # +html_options+ may be a hash of <script> attributes to be passed
1000
+ # to ActionView::Helpers::JavaScriptHelper#javascript_tag.
1001
+ def update_page_tag(html_options = {}, &block)
1002
+ javascript_tag update_page(&block), html_options
1003
+ end
1004
+
1005
+ protected
1006
+ def options_for_ajax(options)
1007
+ js_options = build_callbacks(options)
1008
+
1009
+ js_options['asynchronous'] = options[:type] != :synchronous
1010
+ js_options['method'] = method_option_to_s(options[:method]) if options[:method]
1011
+ js_options['insertion'] = "Insertion.#{options[:position].to_s.camelize}" if options[:position]
1012
+ js_options['evalScripts'] = options[:script].nil? || options[:script]
1013
+
1014
+ if options[:form]
1015
+ js_options['parameters'] = 'Form.serialize(this)'
1016
+ elsif options[:submit]
1017
+ js_options['parameters'] = "Form.serialize('#{options[:submit]}')"
1018
+ elsif options[:with]
1019
+ js_options['parameters'] = options[:with]
1020
+ end
1021
+
1022
+ if protect_against_forgery?
1023
+ if js_options['parameters']
1024
+ js_options['parameters'] << " + '&"
1025
+ else
1026
+ js_options['parameters'] = "'"
1027
+ end
1028
+ js_options['parameters'] << "#{request_forgery_protection_token}=' + encodeURIComponent('#{escape_javascript form_authenticity_token}')"
1029
+ end
1030
+
1031
+ options_for_javascript(js_options)
1032
+ end
1033
+
1034
+ def method_option_to_s(method)
1035
+ (method.is_a?(String) and !method.index("'").nil?) ? method : "'#{method}'"
1036
+ end
1037
+
1038
+ def build_observer(klass, name, options = {})
1039
+ if options[:with] && (options[:with] !~ /[\{=(.]/)
1040
+ options[:with] = "'#{options[:with]}=' + value"
1041
+ else
1042
+ options[:with] ||= 'value' unless options[:function]
1043
+ end
1044
+
1045
+ callback = options[:function] || remote_function(options)
1046
+ javascript = "new #{klass}('#{name}', "
1047
+ javascript << "#{options[:frequency]}, " if options[:frequency]
1048
+ javascript << "function(element, value) {"
1049
+ javascript << "#{callback}}"
1050
+ javascript << ", '#{options[:on]}'" if options[:on]
1051
+ javascript << ")"
1052
+ javascript_tag(javascript)
1053
+ end
1054
+
1055
+ def build_callbacks(options)
1056
+ callbacks = {}
1057
+ options.each do |callback, code|
1058
+ if CALLBACKS.include?(callback)
1059
+ name = 'on' + callback.to_s.capitalize
1060
+ callbacks[name] = "function(request){#{code}}"
1061
+ end
1062
+ end
1063
+ callbacks
1064
+ end
1065
+ end
1066
+
1067
+ # Converts chained method calls on DOM proxy elements into JavaScript chains
1068
+ class JavaScriptProxy < BasicObject #:nodoc:
1069
+ def initialize(generator, root = nil)
1070
+ @generator = generator
1071
+ @generator << root if root
1072
+ end
1073
+
1074
+ private
1075
+ def method_missing(method, *arguments, &block)
1076
+ if method.to_s =~ /(.*)=$/
1077
+ assign($1, arguments.first)
1078
+ else
1079
+ call("#{method.to_s.camelize(:lower)}", *arguments, &block)
1080
+ end
1081
+ end
1082
+
1083
+ def call(function, *arguments, &block)
1084
+ append_to_function_chain!("#{function}(#{@generator.send(:arguments_for_call, arguments, block)})")
1085
+ self
1086
+ end
1087
+
1088
+ def assign(variable, value)
1089
+ append_to_function_chain!("#{variable} = #{@generator.send(:javascript_object_for, value)}")
1090
+ end
1091
+
1092
+ def function_chain
1093
+ @function_chain ||= @generator.instance_variable_get(:@lines)
1094
+ end
1095
+
1096
+ def append_to_function_chain!(call)
1097
+ function_chain[-1].chomp!(';')
1098
+ function_chain[-1] += ".#{call};"
1099
+ end
1100
+ end
1101
+
1102
+ class JavaScriptElementProxy < JavaScriptProxy #:nodoc:
1103
+ def initialize(generator, id)
1104
+ @id = id
1105
+ super(generator, "$(#{id.to_json})")
1106
+ end
1107
+
1108
+ # Allows access of element attributes through +attribute+. Examples:
1109
+ #
1110
+ # page['foo']['style'] # => $('foo').style;
1111
+ # page['foo']['style']['color'] # => $('blank_slate').style.color;
1112
+ # page['foo']['style']['color'] = 'red' # => $('blank_slate').style.color = 'red';
1113
+ # page['foo']['style'].color = 'red' # => $('blank_slate').style.color = 'red';
1114
+ def [](attribute)
1115
+ append_to_function_chain!(attribute)
1116
+ self
1117
+ end
1118
+
1119
+ def []=(variable, value)
1120
+ assign(variable, value)
1121
+ end
1122
+
1123
+ def replace_html(*options_for_render)
1124
+ call 'update', @generator.send(:render, *options_for_render)
1125
+ end
1126
+
1127
+ def replace(*options_for_render)
1128
+ call 'replace', @generator.send(:render, *options_for_render)
1129
+ end
1130
+
1131
+ def reload(options_for_replace = {})
1132
+ replace(options_for_replace.merge({ :partial => @id.to_s }))
1133
+ end
1134
+
1135
+ end
1136
+
1137
+ class JavaScriptVariableProxy < JavaScriptProxy #:nodoc:
1138
+ def initialize(generator, variable)
1139
+ @variable = variable
1140
+ @empty = true # only record lines if we have to. gets rid of unnecessary linebreaks
1141
+ super(generator)
1142
+ end
1143
+
1144
+ # The JSON Encoder calls this to check for the #to_json method
1145
+ # Since it's a blank slate object, I suppose it responds to anything.
1146
+ def respond_to?(method)
1147
+ true
1148
+ end
1149
+
1150
+ def to_json(options = nil)
1151
+ @variable
1152
+ end
1153
+
1154
+ private
1155
+ def append_to_function_chain!(call)
1156
+ @generator << @variable if @empty
1157
+ @empty = false
1158
+ super
1159
+ end
1160
+ end
1161
+
1162
+ class JavaScriptCollectionProxy < JavaScriptProxy #:nodoc:
1163
+ ENUMERABLE_METHODS_WITH_RETURN = [:all, :any, :collect, :map, :detect, :find, :find_all, :select, :max, :min, :partition, :reject, :sort_by, :in_groups_of, :each_slice] unless defined? ENUMERABLE_METHODS_WITH_RETURN
1164
+ ENUMERABLE_METHODS = ENUMERABLE_METHODS_WITH_RETURN + [:each] unless defined? ENUMERABLE_METHODS
1165
+ attr_reader :generator
1166
+ delegate :arguments_for_call, :to => :generator
1167
+
1168
+ def initialize(generator, pattern)
1169
+ super(generator, @pattern = pattern)
1170
+ end
1171
+
1172
+ def each_slice(variable, number, &block)
1173
+ if block
1174
+ enumerate :eachSlice, :variable => variable, :method_args => [number], :yield_args => %w(value index), :return => true, &block
1175
+ else
1176
+ add_variable_assignment!(variable)
1177
+ append_enumerable_function!("eachSlice(#{number.to_json});")
1178
+ end
1179
+ end
1180
+
1181
+ def grep(variable, pattern, &block)
1182
+ enumerate :grep, :variable => variable, :return => true, :method_args => [pattern], :yield_args => %w(value index), &block
1183
+ end
1184
+
1185
+ def in_groups_of(variable, number, fill_with = nil)
1186
+ arguments = [number]
1187
+ arguments << fill_with unless fill_with.nil?
1188
+ add_variable_assignment!(variable)
1189
+ append_enumerable_function!("inGroupsOf(#{arguments_for_call arguments});")
1190
+ end
1191
+
1192
+ def inject(variable, memo, &block)
1193
+ enumerate :inject, :variable => variable, :method_args => [memo], :yield_args => %w(memo value index), :return => true, &block
1194
+ end
1195
+
1196
+ def pluck(variable, property)
1197
+ add_variable_assignment!(variable)
1198
+ append_enumerable_function!("pluck(#{property.to_json});")
1199
+ end
1200
+
1201
+ def zip(variable, *arguments, &block)
1202
+ add_variable_assignment!(variable)
1203
+ append_enumerable_function!("zip(#{arguments_for_call arguments}")
1204
+ if block
1205
+ function_chain[-1] += ", function(array) {"
1206
+ yield ActiveSupport::JSON::Variable.new('array')
1207
+ add_return_statement!
1208
+ @generator << '});'
1209
+ else
1210
+ function_chain[-1] += ');'
1211
+ end
1212
+ end
1213
+
1214
+ private
1215
+ def method_missing(method, *arguments, &block)
1216
+ if ENUMERABLE_METHODS.include?(method)
1217
+ returnable = ENUMERABLE_METHODS_WITH_RETURN.include?(method)
1218
+ variable = arguments.first if returnable
1219
+ enumerate(method, {:variable => (arguments.first if returnable), :return => returnable, :yield_args => %w(value index)}, &block)
1220
+ else
1221
+ super
1222
+ end
1223
+ end
1224
+
1225
+ # Options
1226
+ # * variable - name of the variable to set the result of the enumeration to
1227
+ # * method_args - array of the javascript enumeration method args that occur before the function
1228
+ # * yield_args - array of the javascript yield args
1229
+ # * return - true if the enumeration should return the last statement
1230
+ def enumerate(enumerable, options = {}, &block)
1231
+ options[:method_args] ||= []
1232
+ options[:yield_args] ||= []
1233
+ yield_args = options[:yield_args] * ', '
1234
+ method_args = arguments_for_call options[:method_args] # foo, bar, function
1235
+ method_args << ', ' unless method_args.blank?
1236
+ add_variable_assignment!(options[:variable]) if options[:variable]
1237
+ append_enumerable_function!("#{enumerable.to_s.camelize(:lower)}(#{method_args}function(#{yield_args}) {")
1238
+ # only yield as many params as were passed in the block
1239
+ yield(*options[:yield_args].collect { |p| JavaScriptVariableProxy.new(@generator, p) }[0..block.arity-1])
1240
+ add_return_statement! if options[:return]
1241
+ @generator << '});'
1242
+ end
1243
+
1244
+ def add_variable_assignment!(variable)
1245
+ function_chain.push("var #{variable} = #{function_chain.pop}")
1246
+ end
1247
+
1248
+ def add_return_statement!
1249
+ unless function_chain.last =~ /return/
1250
+ function_chain.push("return #{function_chain.pop.chomp(';')};")
1251
+ end
1252
+ end
1253
+
1254
+ def append_enumerable_function!(call)
1255
+ function_chain[-1].chomp!(';')
1256
+ function_chain[-1] += ".#{call}"
1257
+ end
1258
+ end
1259
+
1260
+ class JavaScriptElementCollectionProxy < JavaScriptCollectionProxy #:nodoc:\
1261
+ def initialize(generator, pattern)
1262
+ super(generator, "$$(#{pattern.to_json})")
1263
+ end
1264
+ end
1265
+ end
1266
+ end
1267
+
1268
+ require 'action_view/helpers/javascript_helper'