spree 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1387) hide show
  1. data/CHANGELOG +57 -6
  2. data/app/controllers/admin/base_controller.rb +13 -0
  3. data/app/controllers/admin/creditcard_payments_controller.rb +96 -0
  4. data/app/controllers/admin/general_settings_controller.rb +13 -0
  5. data/app/controllers/admin/orders_controller.rb +22 -28
  6. data/app/controllers/admin/payments_controller.rb +5 -0
  7. data/app/controllers/admin/products_controller.rb +43 -5
  8. data/app/controllers/admin/reports_controller.rb +19 -37
  9. data/app/controllers/admin/taxons_controller.rb +13 -9
  10. data/app/controllers/admin/users_controller.rb +33 -2
  11. data/app/controllers/admin/variants_controller.rb +24 -6
  12. data/app/controllers/application.rb +2 -1
  13. data/app/controllers/creditcards_controller.rb +73 -0
  14. data/app/controllers/orders_controller.rb +22 -23
  15. data/app/controllers/products_controller.rb +19 -13
  16. data/app/controllers/taxons_controller.rb +5 -1
  17. data/app/controllers/users_controller.rb +6 -8
  18. data/app/helpers/admin/base_helper.rb +18 -2
  19. data/app/helpers/admin/orders_helper.rb +10 -13
  20. data/app/helpers/admin/users_helper.rb +4 -1
  21. data/app/helpers/application_helper.rb +12 -1
  22. data/app/helpers/products_helper.rb +9 -2
  23. data/app/helpers/spree/base_helper.rb +6 -6
  24. data/app/helpers/taxons_helper.rb +4 -4
  25. data/app/models/app_configuration.rb +10 -1
  26. data/app/models/asset.rb +4 -0
  27. data/app/models/creditcard.rb +136 -5
  28. data/app/models/creditcard_payment.rb +9 -24
  29. data/app/models/image.rb +6 -11
  30. data/app/models/inventory_unit.rb +6 -1
  31. data/app/models/order.rb +64 -31
  32. data/app/models/order_filter.rb +2 -0
  33. data/app/models/order_mailer.rb +1 -1
  34. data/app/models/payment.rb +11 -0
  35. data/app/models/product.rb +103 -98
  36. data/app/models/taxon.rb +23 -0
  37. data/app/models/user_filter.rb +6 -0
  38. data/app/models/variant.rb +26 -1
  39. data/app/presenters/payment_presenter.rb +0 -1
  40. data/app/views/account/authorization_failure.html.erb +4 -0
  41. data/app/views/account/login.html.erb +1 -1
  42. data/app/views/admin/configurations/index.html.erb +21 -17
  43. data/app/views/admin/configurations/new.html.erb +3 -3
  44. data/app/views/admin/creditcard_payments/edit.html.erb +36 -0
  45. data/app/views/admin/creditcard_payments/new.html.erb +28 -0
  46. data/app/views/admin/extensions/index.html.erb +5 -5
  47. data/app/views/admin/general_settings/edit.html.erb +18 -0
  48. data/app/views/admin/general_settings/show.html.erb +17 -0
  49. data/app/views/admin/images/new.html.erb +2 -2
  50. data/app/views/admin/inventory_settings/edit.html.erb +4 -4
  51. data/app/views/admin/inventory_settings/show.html.erb +2 -2
  52. data/app/views/admin/inventory_units/adjust.html.erb +8 -8
  53. data/app/views/admin/mail_settings/edit.html.erb +14 -14
  54. data/app/views/admin/mail_settings/show.html.erb +13 -13
  55. data/app/views/admin/option_types/_form.html.erb +8 -8
  56. data/app/views/admin/option_types/_option_value.html.erb +1 -1
  57. data/app/views/admin/option_types/available.html.erb +4 -4
  58. data/app/views/admin/option_types/edit.html.erb +1 -1
  59. data/app/views/admin/option_types/index.html.erb +5 -5
  60. data/app/views/admin/option_types/new.html.erb +1 -1
  61. data/app/views/admin/option_types/selected.html.erb +6 -6
  62. data/app/views/admin/orders/index.html.erb +29 -19
  63. data/app/views/admin/orders/show.html.erb +73 -76
  64. data/app/views/admin/overview/index.html.erb +1 -1
  65. data/app/views/admin/payments/index.html.erb +22 -0
  66. data/app/views/admin/product_properties/_product_property.html.erb +1 -1
  67. data/app/views/admin/product_properties/index.html.erb +8 -8
  68. data/app/views/admin/products/_form.html.erb +14 -9
  69. data/app/views/admin/products/_images.html.erb +9 -9
  70. data/app/views/admin/products/_option_types.html.erb +6 -6
  71. data/app/views/admin/products/edit.html.erb +1 -1
  72. data/app/views/admin/products/index.html.erb +16 -12
  73. data/app/views/admin/products/new.html.erb +2 -2
  74. data/app/views/admin/properties/_form.html.erb +2 -2
  75. data/app/views/admin/properties/edit.html.erb +1 -1
  76. data/app/views/admin/properties/index.html.erb +5 -5
  77. data/app/views/admin/properties/new.html.erb +1 -1
  78. data/app/views/admin/prototypes/_form.html.erb +2 -2
  79. data/app/views/admin/prototypes/available.html.erb +4 -4
  80. data/app/views/admin/prototypes/edit.html.erb +1 -1
  81. data/app/views/admin/prototypes/index.html.erb +4 -4
  82. data/app/views/admin/prototypes/new.html.erb +1 -1
  83. data/app/views/admin/reports/index.html.erb +5 -5
  84. data/app/views/admin/reports/sales_total.html.erb +5 -5
  85. data/app/views/admin/states/_form.html.erb +2 -2
  86. data/app/views/admin/states/_state_list.html.erb +6 -6
  87. data/app/views/admin/states/edit.html.erb +2 -2
  88. data/app/views/admin/states/index.html.erb +1 -1
  89. data/app/views/admin/states/new.html.erb +2 -2
  90. data/app/views/admin/tax_categories/_form.html.erb +2 -2
  91. data/app/views/admin/tax_categories/edit.html.erb +2 -2
  92. data/app/views/admin/tax_categories/index.html.erb +8 -8
  93. data/app/views/admin/tax_categories/new.html.erb +2 -2
  94. data/app/views/admin/taxonomies/_form.html.erb +1 -1
  95. data/app/views/admin/taxonomies/_list.html.erb +2 -3
  96. data/app/views/admin/taxonomies/edit.html.erb +7 -4
  97. data/app/views/admin/taxonomies/index.html.erb +2 -2
  98. data/app/views/admin/taxonomies/new.html.erb +3 -3
  99. data/app/views/admin/taxons/_taxon_table.html.erb +5 -5
  100. data/app/views/admin/taxons/available.js.erb +6 -6
  101. data/app/views/admin/taxons/selected.html.erb +2 -2
  102. data/app/views/admin/users/_form.html.erb +36 -22
  103. data/app/views/admin/users/edit.html.erb +2 -2
  104. data/app/views/admin/users/index.html.erb +49 -18
  105. data/app/views/admin/users/new.html.erb +3 -3
  106. data/app/views/admin/users/show.html.erb +10 -3
  107. data/app/views/admin/variants/_form.html.erb +6 -9
  108. data/app/views/admin/variants/edit.html.erb +2 -2
  109. data/app/views/admin/variants/index.html.erb +17 -17
  110. data/app/views/admin/variants/new.html.erb +1 -1
  111. data/app/views/admin/zones/_country.html.erb +1 -1
  112. data/app/views/admin/zones/_form.html.erb +12 -12
  113. data/app/views/admin/zones/_state.html.erb +1 -1
  114. data/app/views/admin/zones/_zone.html.erb +1 -1
  115. data/app/views/admin/zones/edit.html.erb +2 -2
  116. data/app/views/admin/zones/index.html.erb +7 -7
  117. data/app/views/admin/zones/new.html.erb +2 -2
  118. data/app/views/admin/zones/show.html.erb +2 -2
  119. data/app/views/creditcards/_form_credit_card.html.erb +30 -0
  120. data/app/views/creditcards/cvv.html.erb +15 -0
  121. data/app/views/creditcards/new.html.erb +25 -0
  122. data/app/views/layouts/admin.html.erb +12 -12
  123. data/app/views/layouts/application.html.erb +4 -4
  124. data/app/views/orders/_form.html.erb +5 -5
  125. data/app/views/orders/_line_item.html.erb +2 -2
  126. data/app/views/orders/edit.html.erb +19 -17
  127. data/app/views/orders/new.html.erb +8 -6
  128. data/app/views/orders/show.html.erb +16 -9
  129. data/app/views/products/_image.html.erb +1 -1
  130. data/app/views/products/_products.html.erb +6 -2
  131. data/app/views/products/_thumbnails.html.erb +1 -1
  132. data/app/views/products/index.html.erb +1 -1
  133. data/app/views/products/show.html.erb +9 -6
  134. data/app/views/shared/_additional_field.html.erb +7 -0
  135. data/app/views/shared/_address.html.erb +35 -0
  136. data/app/views/shared/_edit_resource_links.html.erb +1 -1
  137. data/app/views/shared/_form_address.html.erb +46 -0
  138. data/app/views/shared/_login.html.erb +3 -3
  139. data/app/views/shared/_new_resource_links.html.erb +1 -1
  140. data/app/views/shared/_order_details.html.erb +37 -35
  141. data/app/views/shared/_order_tabs.html.erb +32 -0
  142. data/app/views/shared/_product_sub_menu.html.erb +4 -4
  143. data/app/views/shared/_product_tabs.html.erb +15 -5
  144. data/app/views/shared/_products.html.erb +7 -2
  145. data/app/views/shared/_report_criteria.html.erb +15 -15
  146. data/app/views/shared/_show_resource_links.html.erb +3 -3
  147. data/app/views/shared/_states.html.erb +14 -0
  148. data/app/views/shared/_store_menu.html.erb +1 -1
  149. data/app/views/shared/_taxonomies.html.erb +1 -1
  150. data/app/views/taxons/_taxon.html.erb +2 -2
  151. data/app/views/users/_form.html.erb +6 -7
  152. data/app/views/users/edit.html.erb +2 -2
  153. data/app/views/users/index.html.erb +6 -6
  154. data/app/views/users/new.html.erb +3 -3
  155. data/app/views/users/show.html.erb +32 -4
  156. data/config/boot.rb +1 -1
  157. data/config/database.yml +5 -0
  158. data/config/database.yml.example +5 -0
  159. data/config/environment.rb +9 -19
  160. data/config/environments/demo.rb +22 -0
  161. data/config/initializers/locales.rb +8 -0
  162. data/config/initializers/spree.rb +6 -3
  163. data/config/locales/de.yml +451 -0
  164. data/config/locales/de_rails.yml +120 -0
  165. data/config/locales/en-GB.yml +451 -0
  166. data/config/locales/en-GB_rails.yml +154 -0
  167. data/config/locales/en-US.yml +451 -0
  168. data/config/locales/en-US_rails.yml +154 -0
  169. data/config/locales/es.yml +451 -0
  170. data/config/locales/es_rails.yml +155 -0
  171. data/config/locales/it.yml +451 -0
  172. data/config/locales/it_rails.yml +104 -0
  173. data/config/locales/pl.yml +451 -0
  174. data/config/locales/pl_rails.yml +118 -0
  175. data/config/locales/pt-BR.yml +451 -0
  176. data/config/locales/pt-BR_rails.yml +104 -0
  177. data/config/locales/pt-PT.yml +451 -0
  178. data/config/locales/pt-PT_rails.yml +112 -0
  179. data/config/routes.rb +24 -10
  180. data/config/spree_permissions.yml +64 -0
  181. data/db/migrate/20081018125019_refactor_images_for_paperclip.rb +40 -0
  182. data/db/migrate/20081120184215_add_permalink_to_taxons.rb +24 -0
  183. data/db/migrate/20081121192045_additional_paperclip_refactor.rb +37 -0
  184. data/db/migrate/20081208143817_create_creditcards.rb +20 -0
  185. data/db/migrate/20081208150007_create_payments_table.rb +42 -0
  186. data/db/migrate/20081209103127_add_deleted_at_to_products.rb +11 -0
  187. data/db/migrate/20081212015915_convert_credticard_number_to_text.rb +11 -0
  188. data/db/migrate/20081219091142_create_indexes.rb +23 -0
  189. data/db/migrate/20090105152846_add_previous_state_to_events.rb +13 -0
  190. data/db/sample/addresses.yml +4 -30
  191. data/db/sample/assets.yml +112 -0
  192. data/db/sample/creditcards.yml +10 -0
  193. data/db/sample/orders.yml +11 -11
  194. data/db/sample/payments.yml +7 -0
  195. data/db/sample/taxons.yml +11 -1
  196. data/lib/authenticated_system.rb +12 -4
  197. data/lib/easy_role_requirement_system.rb +1 -1
  198. data/lib/generators/extension/extension_generator.rb +2 -0
  199. data/lib/generators/extension/templates/RSpecRakefile +1 -1
  200. data/lib/generators/extension/templates/extension.rb +1 -5
  201. data/lib/generators/extension/templates/routes.rb +5 -0
  202. data/lib/generators/extension/templates/tasks.rake +2 -3
  203. data/lib/generators/extension_migration/extension_migration_generator.rb +2 -2
  204. data/lib/generators/instance/instance_generator.rb +8 -4
  205. data/lib/plugins/extension_patches/lib/asset_copy.rb +13 -11
  206. data/lib/plugins/extension_patches/lib/routing_extension.rb +26 -3
  207. data/lib/spree.rb +2 -2
  208. data/lib/spree/extension_loader.rb +17 -9
  209. data/lib/spree/initializer.rb +17 -3
  210. data/lib/spree/setup.rb +8 -4
  211. data/lib/tasks/database.rake +9 -4
  212. data/lib/tasks/extensions.rake +0 -47
  213. data/lib/tasks/release.rake +1 -0
  214. data/lib/tasks/rspec.rake +158 -0
  215. data/lib/tasks/sample/products/{0000/0001/ror_tote_mini.jpeg → 1/mini/ror_tote.jpeg} +0 -0
  216. data/lib/tasks/sample/products/{0000/0001 → 1/original}/ror_tote.jpeg +0 -0
  217. data/lib/tasks/sample/products/{0000/0001/ror_tote_product.jpeg → 1/product/ror_tote.jpeg} +0 -0
  218. data/lib/tasks/sample/products/{0000/0001/ror_tote_small.jpeg → 1/small/ror_tote.jpeg} +0 -0
  219. data/lib/tasks/sample/products/{0000/0010/ror_ringer_back_mini.jpeg → 10/mini/ror_ringer_back.jpeg} +0 -0
  220. data/lib/tasks/sample/products/{0000/0010 → 10/original}/ror_ringer_back.jpeg +0 -0
  221. data/lib/tasks/sample/products/{0000/0010/ror_ringer_back_product.jpeg → 10/product/ror_ringer_back.jpeg} +0 -0
  222. data/lib/tasks/sample/products/{0000/0010/ror_ringer_back_small.jpeg → 10/small/ror_ringer_back.jpeg} +0 -0
  223. data/lib/tasks/sample/products/{0000/1004/apache_baseball_mini.png → 1004/mini/apache_baseball.png} +0 -0
  224. data/lib/tasks/sample/products/{0000/1004 → 1004/original}/apache_baseball.png +0 -0
  225. data/lib/tasks/sample/products/{0000/1004/apache_baseball_product.png → 1004/product/apache_baseball.png} +0 -0
  226. data/lib/tasks/sample/products/{0000/1004/apache_baseball_small.png → 1004/small/apache_baseball.png} +0 -0
  227. data/lib/tasks/sample/products/{0000/1008/ruby_baseball_mini.png → 1008/mini/ruby_baseball.png} +0 -0
  228. data/lib/tasks/sample/products/{0000/1008 → 1008/original}/ruby_baseball.png +0 -0
  229. data/lib/tasks/sample/products/{0000/1008/ruby_baseball_product.png → 1008/product/ruby_baseball.png} +0 -0
  230. data/lib/tasks/sample/products/{0000/1008/ruby_baseball_small.png → 1008/small/ruby_baseball.png} +0 -0
  231. data/lib/tasks/sample/products/{0000/0011/ror_stein_mini.jpeg → 11/mini/ror_stein.jpeg} +0 -0
  232. data/lib/tasks/sample/products/{0000/0011 → 11/original}/ror_stein.jpeg +0 -0
  233. data/lib/tasks/sample/products/{0000/0011/ror_stein_product.jpeg → 11/product/ror_stein.jpeg} +0 -0
  234. data/lib/tasks/sample/products/{0000/0011/ror_stein_small.jpeg → 11/small/ror_stein.jpeg} +0 -0
  235. data/lib/tasks/sample/products/{0000/0012/ror_stein_back_mini.jpeg → 12/mini/ror_stein_back.jpeg} +0 -0
  236. data/lib/tasks/sample/products/{0000/0012 → 12/original}/ror_stein_back.jpeg +0 -0
  237. data/lib/tasks/sample/products/{0000/0012/ror_stein_back_product.jpeg → 12/product/ror_stein_back.jpeg} +0 -0
  238. data/lib/tasks/sample/products/{0000/0012/ror_stein_back_small.jpeg → 12/small/ror_stein_back.jpeg} +0 -0
  239. data/lib/tasks/sample/products/{0000/0002/ror_tote_back_mini.jpeg → 2/mini/ror_tote_back.jpeg} +0 -0
  240. data/lib/tasks/sample/products/{0000/0002 → 2/original}/ror_tote_back.jpeg +0 -0
  241. data/lib/tasks/sample/products/{0000/0002/ror_tote_back_product.jpeg → 2/product/ror_tote_back.jpeg} +0 -0
  242. data/lib/tasks/sample/products/{0000/0002/ror_tote_back_small.jpeg → 2/small/ror_tote_back.jpeg} +0 -0
  243. data/lib/tasks/sample/products/{0000/0003/ror_bag_mini.jpeg → 3/mini/ror_bag.jpeg} +0 -0
  244. data/lib/tasks/sample/products/{0000/0003 → 3/original}/ror_bag.jpeg +0 -0
  245. data/lib/tasks/sample/products/{0000/0003/ror_bag_product.jpeg → 3/product/ror_bag.jpeg} +0 -0
  246. data/lib/tasks/sample/products/{0000/0003/ror_bag_small.jpeg → 3/small/ror_bag.jpeg} +0 -0
  247. data/lib/tasks/sample/products/{0000/0004/ror_baseball_mini.jpeg → 4/mini/ror_baseball.jpeg} +0 -0
  248. data/lib/tasks/sample/products/{0000/0004 → 4/original}/ror_baseball.jpeg +0 -0
  249. data/lib/tasks/sample/products/{0000/0004/ror_baseball_product.jpeg → 4/product/ror_baseball.jpeg} +0 -0
  250. data/lib/tasks/sample/products/{0000/0004/ror_baseball_small.jpeg → 4/small/ror_baseball.jpeg} +0 -0
  251. data/lib/tasks/sample/products/{0000/0005/ror_baseball_back_mini.jpeg → 5/mini/ror_baseball_back.jpeg} +0 -0
  252. data/lib/tasks/sample/products/{0000/0005 → 5/original}/ror_baseball_back.jpeg +0 -0
  253. data/lib/tasks/sample/products/{0000/0005/ror_baseball_back_product.jpeg → 5/product/ror_baseball_back.jpeg} +0 -0
  254. data/lib/tasks/sample/products/{0000/0005/ror_baseball_back_small.jpeg → 5/small/ror_baseball_back.jpeg} +0 -0
  255. data/lib/tasks/sample/products/{0000/0006/ror_jr_spaghetti_mini.jpeg → 6/mini/ror_jr_spaghetti.jpeg} +0 -0
  256. data/lib/tasks/sample/products/{0000/0006 → 6/original}/ror_jr_spaghetti.jpeg +0 -0
  257. data/lib/tasks/sample/products/{0000/0006/ror_jr_spaghetti_product.jpeg → 6/product/ror_jr_spaghetti.jpeg} +0 -0
  258. data/lib/tasks/sample/products/{0000/0006/ror_jr_spaghetti_small.jpeg → 6/small/ror_jr_spaghetti.jpeg} +0 -0
  259. data/lib/tasks/sample/products/{0000/0007/ror_mug_mini.jpeg → 7/mini/ror_mug.jpeg} +0 -0
  260. data/lib/tasks/sample/products/{0000/0007 → 7/original}/ror_mug.jpeg +0 -0
  261. data/lib/tasks/sample/products/{0000/0007/ror_mug_product.jpeg → 7/product/ror_mug.jpeg} +0 -0
  262. data/lib/tasks/sample/products/{0000/0007/ror_mug_small.jpeg → 7/small/ror_mug.jpeg} +0 -0
  263. data/lib/tasks/sample/products/{0000/0008/ror_mug_back_mini.jpeg → 8/mini/ror_mug_back.jpeg} +0 -0
  264. data/lib/tasks/sample/products/{0000/0008 → 8/original}/ror_mug_back.jpeg +0 -0
  265. data/lib/tasks/sample/products/{0000/0008/ror_mug_back_product.jpeg → 8/product/ror_mug_back.jpeg} +0 -0
  266. data/lib/tasks/sample/products/{0000/0008/ror_mug_back_small.jpeg → 8/small/ror_mug_back.jpeg} +0 -0
  267. data/lib/tasks/sample/products/{0000/0009/ror_ringer_mini.jpeg → 9/mini/ror_ringer.jpeg} +0 -0
  268. data/lib/tasks/sample/products/{0000/0009 → 9/original}/ror_ringer.jpeg +0 -0
  269. data/lib/tasks/sample/products/{0000/0009/ror_ringer_product.jpeg → 9/product/ror_ringer.jpeg} +0 -0
  270. data/lib/tasks/sample/products/{0000/0009/ror_ringer_small.jpeg → 9/small/ror_ringer.jpeg} +0 -0
  271. data/lib/tasks/translation.rake +70 -0
  272. data/public/assets/products/1/mini/ror_tote.jpeg +0 -0
  273. data/public/assets/products/1/original/ror_tote.jpeg +0 -0
  274. data/public/assets/products/1/product/ror_tote.jpeg +0 -0
  275. data/public/assets/products/1/small/ror_tote.jpeg +0 -0
  276. data/public/assets/products/10/mini/ror_ringer_back.jpeg +0 -0
  277. data/public/assets/products/10/original/ror_ringer_back.jpeg +0 -0
  278. data/public/assets/products/10/product/ror_ringer_back.jpeg +0 -0
  279. data/public/assets/products/10/small/ror_ringer_back.jpeg +0 -0
  280. data/public/assets/products/1004/mini/apache_baseball.png +0 -0
  281. data/public/assets/products/1004/original/apache_baseball.png +0 -0
  282. data/public/assets/products/1004/product/apache_baseball.png +0 -0
  283. data/public/assets/products/1004/small/apache_baseball.png +0 -0
  284. data/public/assets/products/1008/mini/ruby_baseball.png +0 -0
  285. data/public/assets/products/1008/original/ruby_baseball.png +0 -0
  286. data/public/assets/products/1008/product/ruby_baseball.png +0 -0
  287. data/public/assets/products/1008/small/ruby_baseball.png +0 -0
  288. data/public/assets/products/1012/mini/bt.jpg +0 -0
  289. data/public/assets/products/1012/original/bt.jpg +0 -0
  290. data/public/assets/products/1012/product/bt.jpg +0 -0
  291. data/public/assets/products/1012/small/bt.jpg +0 -0
  292. data/public/assets/products/11/mini/ror_stein.jpeg +0 -0
  293. data/public/assets/products/11/original/ror_stein.jpeg +0 -0
  294. data/public/assets/products/11/product/ror_stein.jpeg +0 -0
  295. data/public/assets/products/11/small/ror_stein.jpeg +0 -0
  296. data/public/assets/products/12/mini/ror_stein_back.jpeg +0 -0
  297. data/public/assets/products/12/original/ror_stein_back.jpeg +0 -0
  298. data/public/assets/products/12/product/ror_stein_back.jpeg +0 -0
  299. data/public/assets/products/12/small/ror_stein_back.jpeg +0 -0
  300. data/public/assets/products/2/mini/ror_tote_back.jpeg +0 -0
  301. data/public/assets/products/2/original/ror_tote_back.jpeg +0 -0
  302. data/public/assets/products/2/product/ror_tote_back.jpeg +0 -0
  303. data/public/assets/products/2/small/ror_tote_back.jpeg +0 -0
  304. data/public/assets/products/3/mini/ror_bag.jpeg +0 -0
  305. data/public/assets/products/3/original/ror_bag.jpeg +0 -0
  306. data/public/assets/products/3/product/ror_bag.jpeg +0 -0
  307. data/public/assets/products/3/small/ror_bag.jpeg +0 -0
  308. data/public/assets/products/4/mini/ror_baseball.jpeg +0 -0
  309. data/public/assets/products/4/original/ror_baseball.jpeg +0 -0
  310. data/public/assets/products/4/product/ror_baseball.jpeg +0 -0
  311. data/public/assets/products/4/small/ror_baseball.jpeg +0 -0
  312. data/public/assets/products/5/mini/ror_baseball_back.jpeg +0 -0
  313. data/public/assets/products/5/original/ror_baseball_back.jpeg +0 -0
  314. data/public/assets/products/5/product/ror_baseball_back.jpeg +0 -0
  315. data/public/assets/products/5/small/ror_baseball_back.jpeg +0 -0
  316. data/public/assets/products/6/mini/ror_jr_spaghetti.jpeg +0 -0
  317. data/public/assets/products/6/original/ror_jr_spaghetti.jpeg +0 -0
  318. data/public/assets/products/6/product/ror_jr_spaghetti.jpeg +0 -0
  319. data/public/assets/products/6/small/ror_jr_spaghetti.jpeg +0 -0
  320. data/public/assets/products/7/mini/ror_mug.jpeg +0 -0
  321. data/public/assets/products/7/original/ror_mug.jpeg +0 -0
  322. data/public/assets/products/7/product/ror_mug.jpeg +0 -0
  323. data/public/assets/products/7/small/ror_mug.jpeg +0 -0
  324. data/public/assets/products/8/mini/ror_mug_back.jpeg +0 -0
  325. data/public/assets/products/8/original/ror_mug_back.jpeg +0 -0
  326. data/public/assets/products/8/product/ror_mug_back.jpeg +0 -0
  327. data/public/assets/products/8/small/ror_mug_back.jpeg +0 -0
  328. data/public/assets/products/9/mini/ror_ringer.jpeg +0 -0
  329. data/public/assets/products/9/original/ror_ringer.jpeg +0 -0
  330. data/public/assets/products/9/product/ror_ringer.jpeg +0 -0
  331. data/public/assets/products/9/small/ror_ringer.jpeg +0 -0
  332. data/public/images/noimage/mini.jpg +0 -0
  333. data/public/images/noimage/product.jpg +0 -0
  334. data/public/images/noimage/small.jpg +0 -0
  335. data/public/stylesheets/orders/_controller.css +0 -25
  336. data/public/stylesheets/spree-admin.css +35 -1
  337. data/public/stylesheets/spree.css +29 -2
  338. data/script/autospec +5 -0
  339. data/script/spec +1 -0
  340. data/script/spec_server +35 -12
  341. data/spec/controllers/countries_controller_spec.rb +23 -0
  342. data/spec/controllers/orders_controller_spec.rb +2 -2
  343. data/spec/controllers/products_controller_spec.rb +26 -0
  344. data/spec/controllers/states_controller_spec.rb +16 -0
  345. data/spec/controllers/taxons_controller_spec.rb +18 -0
  346. data/spec/fixtures/countries.yml +3 -0
  347. data/spec/fixtures/states.yml +2 -0
  348. data/spec/models/address_spec.rb +4 -4
  349. data/spec/models/creditcard_payment_spec.rb +9 -8
  350. data/spec/models/creditcard_spec.rb +43 -0
  351. data/spec/models/option_type_spec.rb +1 -1
  352. data/spec/models/order_spec.rb +97 -28
  353. data/spec/models/payment_sepc.rb +29 -0
  354. data/spec/models/preference_definition_spec.rb +0 -1
  355. data/spec/models/product_property_spec.rb +1 -1
  356. data/spec/models/product_spec.rb +2 -2
  357. data/spec/models/property_spec.rb +1 -1
  358. data/spec/models/prototype_spec.rb +1 -1
  359. data/spec/models/state_spec.rb +1 -1
  360. data/spec/models/taxon_spec.rb +12 -0
  361. data/spec/models/variant_spec.rb +1 -1
  362. data/spec/spec.opts +2 -4
  363. data/spec/views/admin/products/edit.html.erb_spec.rb +88 -0
  364. data/spec/views/admin/variants/eidt.html.erb_spec.rb +90 -0
  365. data/vendor/extensions/flat_rate_shipping/flat_rate_shipping_extension.rb +0 -6
  366. data/vendor/extensions/flat_rate_shipping/lib/spree/flat_rate_shipping/calculator.rb +1 -1
  367. data/vendor/extensions/localization/app/controllers/admin/localization_controller.rb +0 -4
  368. data/vendor/extensions/localization/app/controllers/locale_controller.rb +2 -2
  369. data/vendor/extensions/localization/app/views/shared/_language_bar.html.erb +3 -3
  370. data/vendor/extensions/localization/config/routes.rb +4 -0
  371. data/vendor/extensions/localization/localization_extension.rb +8 -19
  372. data/vendor/extensions/localization/spec/controllers/locale_controller_spec.rb +3 -3
  373. data/vendor/extensions/payment_gateway/app/models/gateway_option.rb +1 -0
  374. data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/_form.html.erb +2 -2
  375. data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/edit.html.erb +1 -1
  376. data/vendor/extensions/payment_gateway/app/views/admin/gateway_option_values/_options.html.erb +4 -4
  377. data/vendor/extensions/payment_gateway/config/routes.rb +4 -0
  378. data/vendor/extensions/payment_gateway/db/migrate/20081119210419_create_authorizenet_gateway.rb +18 -0
  379. data/vendor/extensions/payment_gateway/db/migrate/20081120144549_remove_authorizenet_test.rb +10 -0
  380. data/vendor/extensions/payment_gateway/lib/spree/bogus_gateway.rb +3 -3
  381. data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +30 -29
  382. data/vendor/extensions/payment_gateway/payment_gateway_extension.rb +3 -16
  383. data/vendor/extensions/payment_gateway/spec/models/creditcard_spec.rb +24 -0
  384. data/vendor/extensions/payment_gateway/spec/models/order_spec.rb +5 -2
  385. data/vendor/extensions/shipping/app/controllers/admin/shipments_controller.rb +67 -0
  386. data/vendor/extensions/shipping/app/controllers/admin/shipping_categories_controller.rb +0 -2
  387. data/vendor/extensions/shipping/app/controllers/admin/shipping_methods_controller.rb +0 -2
  388. data/vendor/extensions/shipping/app/controllers/shipments_controller.rb +67 -55
  389. data/vendor/extensions/shipping/app/helpers/shipments_helper.rb +2 -2
  390. data/vendor/extensions/shipping/app/models/shipment.rb +30 -6
  391. data/vendor/extensions/shipping/app/models/shipment_presenter.rb +3 -0
  392. data/vendor/extensions/shipping/app/models/shipping_method.rb +5 -5
  393. data/vendor/extensions/shipping/app/views/admin/shipments/_form.html.erb +35 -0
  394. data/vendor/extensions/shipping/app/views/admin/shipments/edit.html.erb +11 -0
  395. data/vendor/extensions/shipping/app/views/admin/shipments/index.html.erb +22 -0
  396. data/vendor/extensions/shipping/app/views/admin/shipments/new.html.erb +12 -0
  397. data/vendor/extensions/shipping/app/views/admin/shipping_categories/_form.html.erb +1 -1
  398. data/vendor/extensions/shipping/app/views/admin/shipping_categories/edit.html.erb +2 -2
  399. data/vendor/extensions/shipping/app/views/admin/shipping_categories/index.html.erb +6 -6
  400. data/vendor/extensions/shipping/app/views/admin/shipping_categories/new.html.erb +2 -2
  401. data/vendor/extensions/shipping/app/views/admin/shipping_methods/_form.html.erb +3 -3
  402. data/vendor/extensions/shipping/app/views/admin/shipping_methods/edit.html.erb +2 -2
  403. data/vendor/extensions/shipping/app/views/admin/shipping_methods/index.html.erb +8 -8
  404. data/vendor/extensions/shipping/app/views/admin/shipping_methods/new.html.erb +2 -2
  405. data/vendor/extensions/shipping/app/views/shipments/_form.html.erb +8 -8
  406. data/vendor/extensions/shipping/app/views/shipments/edit.html.erb +57 -8
  407. data/vendor/extensions/shipping/app/views/shipments/new.html.erb +10 -8
  408. data/vendor/extensions/shipping/config/locales/de.yml +25 -0
  409. data/vendor/extensions/shipping/config/locales/en-GB.yml +25 -0
  410. data/vendor/extensions/shipping/config/locales/en-US.yml +25 -0
  411. data/vendor/extensions/shipping/config/locales/es.yml +25 -0
  412. data/vendor/extensions/shipping/config/locales/it.yml +25 -0
  413. data/vendor/extensions/shipping/config/locales/pl.yml +25 -0
  414. data/vendor/extensions/shipping/config/locales/pt-BR.yml +25 -0
  415. data/vendor/extensions/shipping/config/routes.rb +10 -0
  416. data/vendor/extensions/shipping/db/migrate/20081205155619_add_shipped_at_property.rb +17 -0
  417. data/vendor/extensions/shipping/db/migrate/20081221201510_create_shipping_addresses.rb +16 -0
  418. data/vendor/extensions/shipping/db/sample/addresses.yml +14 -0
  419. data/vendor/extensions/shipping/db/sample/shipments.yml +6 -0
  420. data/vendor/extensions/shipping/lib/spree/shipping_calculator.rb +23 -16
  421. data/vendor/extensions/shipping/shipping_extension.rb +34 -18
  422. data/vendor/extensions/shipping/spec/controllers/shipments_controller_spec.rb +30 -0
  423. data/vendor/extensions/shipping/spec/models/shipment_spec.rb +1 -19
  424. data/vendor/extensions/shipping/spec/models/shipping_order_spec.rb +118 -0
  425. data/vendor/extensions/tax_calculator/app/controllers/admin/tax_rates_controller.rb +0 -2
  426. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/_form.html.erb +4 -4
  427. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/edit.html.erb +2 -2
  428. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/index.html.erb +9 -9
  429. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/new.html.erb +2 -2
  430. data/vendor/extensions/tax_calculator/config/locales/de.yml +30 -0
  431. data/vendor/extensions/tax_calculator/config/locales/en-GB.yml +30 -0
  432. data/vendor/extensions/tax_calculator/config/locales/en-US.yml +30 -0
  433. data/vendor/extensions/tax_calculator/config/locales/es.yml +30 -0
  434. data/vendor/extensions/tax_calculator/config/locales/it.yml +30 -0
  435. data/vendor/extensions/tax_calculator/config/locales/pl.yml +30 -0
  436. data/vendor/extensions/tax_calculator/config/locales/pt-BR.yml +30 -0
  437. data/vendor/extensions/tax_calculator/config/routes.rb +3 -0
  438. data/vendor/extensions/tax_calculator/lib/spree/tax_calculator.rb +6 -7
  439. data/vendor/extensions/tax_calculator/spec/helpers/products_helper_spec.rb +3 -3
  440. data/vendor/extensions/tax_calculator/spec/models/tax_calculator_spec.rb +6 -2
  441. data/vendor/extensions/tax_calculator/tax_calculator_extension.rb +1 -7
  442. data/vendor/gems/active_presenter-0.0.4/.specification +66 -0
  443. data/vendor/plugins/attribute_fu/README.rdoc +121 -0
  444. data/vendor/plugins/attribute_fu/Rakefile +1 -0
  445. data/vendor/plugins/attribute_fu/attribute_fu.gemspec +13 -0
  446. data/vendor/plugins/attribute_fu/lib/attribute_fu/associated_form_helper.rb +1 -1
  447. data/vendor/plugins/attribute_fu/lib/attribute_fu/associations.rb +17 -5
  448. data/vendor/plugins/attribute_fu/test/associated_form_helper_test.rb +376 -0
  449. data/vendor/plugins/attribute_fu/test/comment_test.rb +6 -0
  450. data/vendor/plugins/attribute_fu/test/db/database.yml +18 -0
  451. data/vendor/plugins/attribute_fu/test/{app/models → models}/comment.rb +0 -0
  452. data/vendor/plugins/attribute_fu/test/{app/models → models}/photo.rb +0 -0
  453. data/vendor/plugins/attribute_fu/test/photo_test.rb +160 -0
  454. data/vendor/plugins/attribute_fu/test/test_helper.rb +24 -0
  455. data/vendor/plugins/calendar_date_select/History.txt +231 -0
  456. data/vendor/plugins/calendar_date_select/Manifest.txt +42 -0
  457. data/vendor/plugins/calendar_date_select/Rakefile +31 -0
  458. data/vendor/plugins/calendar_date_select/Readme.txt +16 -0
  459. data/vendor/plugins/calendar_date_select/calendar_date_select.gemspec +33 -0
  460. data/vendor/plugins/calendar_date_select/init.rb +1 -15
  461. data/vendor/plugins/calendar_date_select/js_test/functional/cds_test.html +13 -3
  462. data/vendor/plugins/calendar_date_select/lib/calendar_date_select.rb +33 -192
  463. data/vendor/plugins/calendar_date_select/lib/calendar_date_select/calendar_date_select.rb +116 -0
  464. data/vendor/plugins/calendar_date_select/lib/calendar_date_select/form_helpers.rb +223 -0
  465. data/vendor/plugins/calendar_date_select/lib/calendar_date_select/includes_helper.rb +29 -0
  466. data/vendor/plugins/calendar_date_select/public/blank_iframe.html +2 -0
  467. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +56 -52
  468. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_db.js +27 -0
  469. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
  470. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +9 -1
  471. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +35 -35
  472. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_iso_date.js +46 -0
  473. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +1 -1
  474. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/de.js +11 -0
  475. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fr.js +10 -0
  476. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pl.js +10 -0
  477. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pt.js +11 -0
  478. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ru.js +10 -0
  479. data/vendor/plugins/calendar_date_select/spec/calendar_date_select/calendar_date_select_spec.rb +14 -0
  480. data/vendor/plugins/calendar_date_select/spec/calendar_date_select/form_helpers_spec.rb +161 -0
  481. data/vendor/plugins/calendar_date_select/spec/spec_helper.rb +26 -0
  482. data/vendor/plugins/enumerable_constants/lib/enumerable_constants.rb +1 -1
  483. data/vendor/plugins/has_many_polymorphs/CHANGELOG +83 -0
  484. data/vendor/plugins/has_many_polymorphs/LICENSE +184 -0
  485. data/vendor/plugins/has_many_polymorphs/Manifest +174 -0
  486. data/vendor/plugins/has_many_polymorphs/README +205 -0
  487. data/vendor/plugins/has_many_polymorphs/Rakefile +28 -0
  488. data/vendor/plugins/has_many_polymorphs/TODO +2 -0
  489. data/vendor/plugins/has_many_polymorphs/examples/hmph.rb +69 -0
  490. data/vendor/plugins/has_many_polymorphs/generators/tagging/tagging_generator.rb +97 -0
  491. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/migration.rb +28 -0
  492. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag.rb +39 -0
  493. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag_test.rb +15 -0
  494. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging.rb +16 -0
  495. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_extensions.rb +159 -0
  496. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_test.rb +85 -0
  497. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/taggings.yml +23 -0
  498. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tags.yml +7 -0
  499. data/vendor/plugins/has_many_polymorphs/init.rb +2 -0
  500. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs.rb +27 -0
  501. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/association.rb +159 -0
  502. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/autoload.rb +70 -0
  503. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/base.rb +60 -0
  504. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/class_methods.rb +600 -0
  505. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/configuration.rb +19 -0
  506. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/debugging_tools.rb +103 -0
  507. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb +35 -0
  508. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/reflection.rb +58 -0
  509. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/support_methods.rb +84 -0
  510. data/vendor/plugins/has_many_polymorphs/test/fixtures/bow_wows.yml +10 -0
  511. data/vendor/plugins/has_many_polymorphs/test/fixtures/cats.yml +18 -0
  512. data/vendor/plugins/{rspec-rails/spec_resources/views/controller_spec/_partial.rhtml → has_many_polymorphs/test/fixtures/eaters_foodstuffs.yml} +0 -0
  513. data/vendor/plugins/has_many_polymorphs/test/fixtures/fish.yml +12 -0
  514. data/vendor/plugins/has_many_polymorphs/test/fixtures/frogs.yml +5 -0
  515. data/vendor/plugins/{rspec-rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml → has_many_polymorphs/test/fixtures/keep_your_enemies_close.yml} +0 -0
  516. data/vendor/plugins/{rspec-rails/spec_resources/views/render_spec/_a_partial.rhtml → has_many_polymorphs/test/fixtures/little_whale_pupils.yml} +0 -0
  517. data/vendor/plugins/has_many_polymorphs/test/fixtures/people.yml +7 -0
  518. data/vendor/plugins/has_many_polymorphs/test/fixtures/petfoods.yml +11 -0
  519. data/vendor/plugins/has_many_polymorphs/test/fixtures/whales.yml +5 -0
  520. data/vendor/plugins/has_many_polymorphs/test/fixtures/wild_boars.yml +10 -0
  521. data/vendor/plugins/has_many_polymorphs/test/generator/tagging_generator_test.rb +42 -0
  522. data/vendor/plugins/has_many_polymorphs/test/integration/app/README +182 -0
  523. data/vendor/plugins/has_many_polymorphs/test/integration/app/Rakefile +19 -0
  524. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/application.rb +7 -0
  525. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/bones_controller.rb +5 -0
  526. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/addresses_helper.rb +2 -0
  527. data/vendor/plugins/{attribute_fu/test → has_many_polymorphs/test/integration/app}/app/helpers/application_helper.rb +0 -0
  528. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/bones_helper.rb +2 -0
  529. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/sellers_helper.rb +28 -0
  530. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/states_helper.rb +2 -0
  531. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/users_helper.rb +2 -0
  532. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/bone.rb +2 -0
  533. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent.rb +2 -0
  534. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent_relationship.rb +2 -0
  535. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/organic_substance.rb +2 -0
  536. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent.rb +4 -0
  537. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent_relationship.rb +4 -0
  538. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stick.rb +2 -0
  539. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stone.rb +2 -0
  540. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/edit.html.erb +12 -0
  541. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/index.html.erb +18 -0
  542. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/new.html.erb +11 -0
  543. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/show.html.erb +3 -0
  544. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/bones/index.rhtml +5 -0
  545. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/addresses.html.erb +17 -0
  546. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/sellers.html.erb +17 -0
  547. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/states.html.erb +17 -0
  548. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/users.html.erb +17 -0
  549. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/edit.html.erb +12 -0
  550. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/index.html.erb +20 -0
  551. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/new.html.erb +11 -0
  552. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/show.html.erb +3 -0
  553. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/edit.html.erb +12 -0
  554. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/index.html.erb +19 -0
  555. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/new.html.erb +11 -0
  556. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/show.html.erb +3 -0
  557. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/edit.html.erb +12 -0
  558. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/index.html.erb +22 -0
  559. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/new.html.erb +11 -0
  560. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/show.html.erb +3 -0
  561. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/boot.rb +110 -0
  562. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/database.yml +17 -0
  563. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb +19 -0
  564. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb.canonical +19 -0
  565. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/development.rb +8 -0
  566. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/production.rb +18 -0
  567. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/test.rb +19 -0
  568. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/routes.rb +33 -0
  569. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/default.base +56 -0
  570. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/development.conf.canonical +155 -0
  571. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/001_create_sticks.rb +11 -0
  572. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/002_create_stones.rb +11 -0
  573. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/003_create_organic_substances.rb +11 -0
  574. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/004_create_bones.rb +8 -0
  575. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/005_create_single_sti_parents.rb +11 -0
  576. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/006_create_double_sti_parents.rb +11 -0
  577. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/007_create_single_sti_parent_relationships.rb +13 -0
  578. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/008_create_double_sti_parent_relationships.rb +14 -0
  579. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/009_create_library_model.rb +11 -0
  580. data/vendor/plugins/has_many_polymorphs/test/integration/app/doc/README_FOR_APP +2 -0
  581. data/vendor/plugins/has_many_polymorphs/test/integration/app/generators/commenting_generator_test.rb +83 -0
  582. data/vendor/plugins/has_many_polymorphs/test/integration/app/lib/library_model.rb +2 -0
  583. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/404.html +30 -0
  584. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/500.html +30 -0
  585. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.cgi +10 -0
  586. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.fcgi +24 -0
  587. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.rb +10 -0
  588. data/vendor/plugins/{rspec-rails/spec_resources/views/render_spec/some_action.rhtml → has_many_polymorphs/test/integration/app/public/favicon.ico} +0 -0
  589. data/vendor/plugins/{attachment_fu/test/fixtures/files → has_many_polymorphs/test/integration/app/public/images}/rails.png +0 -0
  590. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/index.html +277 -0
  591. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/application.js +2 -0
  592. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/controls.js +833 -0
  593. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/dragdrop.js +942 -0
  594. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/effects.js +1088 -0
  595. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/prototype.js +2515 -0
  596. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/robots.txt +1 -0
  597. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/stylesheets/scaffold.css +74 -0
  598. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/about +3 -0
  599. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/breakpointer +3 -0
  600. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/console +3 -0
  601. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/destroy +3 -0
  602. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/generate +3 -0
  603. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/benchmarker +3 -0
  604. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/profiler +3 -0
  605. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/plugin +3 -0
  606. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/inspector +3 -0
  607. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/reaper +3 -0
  608. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/spawner +3 -0
  609. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/runner +3 -0
  610. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/server +3 -0
  611. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parent_relationships.yml +7 -0
  612. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parents.yml +7 -0
  613. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/organic_substances.yml +5 -0
  614. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parent_relationships.yml +7 -0
  615. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parents.yml +7 -0
  616. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/sticks.yml +7 -0
  617. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/stones.yml +7 -0
  618. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/addresses_controller_test.rb +57 -0
  619. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/bones_controller_test.rb +8 -0
  620. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/sellers_controller_test.rb +57 -0
  621. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/states_controller_test.rb +57 -0
  622. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/users_controller_test.rb +57 -0
  623. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/test_helper.rb +8 -0
  624. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/bone_test.rb +8 -0
  625. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_relationship_test.rb +8 -0
  626. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_test.rb +8 -0
  627. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/organic_substance_test.rb +8 -0
  628. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_relationship_test.rb +8 -0
  629. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_test.rb +8 -0
  630. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stick_test.rb +8 -0
  631. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stone_test.rb +8 -0
  632. data/vendor/plugins/has_many_polymorphs/test/integration/server_test.rb +43 -0
  633. data/vendor/plugins/has_many_polymorphs/test/models/aquatic/fish.rb +5 -0
  634. data/vendor/plugins/has_many_polymorphs/test/models/aquatic/pupils_whale.rb +7 -0
  635. data/vendor/plugins/has_many_polymorphs/test/models/aquatic/whale.rb +15 -0
  636. data/vendor/plugins/has_many_polymorphs/test/models/beautiful_fight_relationship.rb +26 -0
  637. data/vendor/plugins/has_many_polymorphs/test/models/canine.rb +9 -0
  638. data/vendor/plugins/has_many_polymorphs/test/models/cat.rb +5 -0
  639. data/vendor/plugins/has_many_polymorphs/test/models/dog.rb +18 -0
  640. data/vendor/plugins/has_many_polymorphs/test/models/eaters_foodstuff.rb +10 -0
  641. data/vendor/plugins/has_many_polymorphs/test/models/frog.rb +4 -0
  642. data/vendor/plugins/has_many_polymorphs/test/models/kitten.rb +3 -0
  643. data/vendor/plugins/has_many_polymorphs/test/models/parentship.rb +4 -0
  644. data/vendor/plugins/has_many_polymorphs/test/models/person.rb +9 -0
  645. data/vendor/plugins/has_many_polymorphs/test/models/petfood.rb +39 -0
  646. data/vendor/plugins/has_many_polymorphs/test/models/tabby.rb +2 -0
  647. data/vendor/plugins/has_many_polymorphs/test/models/wild_boar.rb +3 -0
  648. data/vendor/plugins/has_many_polymorphs/test/modules/extension_module.rb +9 -0
  649. data/vendor/plugins/has_many_polymorphs/test/modules/other_extension_module.rb +9 -0
  650. data/vendor/plugins/has_many_polymorphs/test/patches/symlinked_plugins_1.2.6.diff +46 -0
  651. data/vendor/plugins/has_many_polymorphs/test/schema.rb +87 -0
  652. data/vendor/plugins/has_many_polymorphs/test/setup.rb +14 -0
  653. data/vendor/plugins/has_many_polymorphs/test/test_helper.rb +51 -0
  654. data/vendor/plugins/has_many_polymorphs/test/unit/has_many_polymorphs_test.rb +714 -0
  655. data/vendor/plugins/paperclip/LICENSE +26 -0
  656. data/vendor/plugins/paperclip/README.rdoc +59 -0
  657. data/vendor/plugins/paperclip/Rakefile +88 -0
  658. data/vendor/plugins/paperclip/generators/paperclip/USAGE +5 -0
  659. data/vendor/plugins/paperclip/generators/paperclip/paperclip_generator.rb +27 -0
  660. data/vendor/plugins/paperclip/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
  661. data/vendor/plugins/paperclip/init.rb +1 -0
  662. data/vendor/plugins/paperclip/lib/paperclip.rb +276 -0
  663. data/vendor/plugins/paperclip/lib/paperclip/attachment.rb +297 -0
  664. data/vendor/plugins/paperclip/lib/paperclip/geometry.rb +114 -0
  665. data/vendor/plugins/paperclip/lib/paperclip/iostream.rb +43 -0
  666. data/vendor/plugins/paperclip/lib/paperclip/storage.rb +207 -0
  667. data/vendor/plugins/paperclip/lib/paperclip/thumbnail.rb +88 -0
  668. data/vendor/plugins/paperclip/lib/paperclip/upfile.rb +37 -0
  669. data/vendor/plugins/paperclip/shoulda_macros/paperclip.rb +32 -0
  670. data/vendor/plugins/paperclip/tasks/paperclip_tasks.rake +79 -0
  671. data/vendor/plugins/paperclip/test/attachment_test.rb +362 -0
  672. data/vendor/plugins/paperclip/test/database.yml +5 -0
  673. data/vendor/plugins/paperclip/test/fixtures/12k.png +0 -0
  674. data/vendor/plugins/paperclip/test/fixtures/50x50.png +0 -0
  675. data/vendor/plugins/paperclip/test/fixtures/5k.png +0 -0
  676. data/vendor/plugins/paperclip/test/fixtures/bad.png +1 -0
  677. data/vendor/plugins/{rspec-rails/spec_resources/views/view_spec/_partial_used_twice.rhtml → paperclip/test/fixtures/text.txt} +0 -0
  678. data/vendor/plugins/paperclip/test/geometry_test.rb +168 -0
  679. data/vendor/plugins/paperclip/test/helper.rb +57 -0
  680. data/vendor/plugins/paperclip/test/integration_test.rb +393 -0
  681. data/vendor/plugins/paperclip/test/iostream_test.rb +60 -0
  682. data/vendor/plugins/paperclip/test/paperclip_test.rb +179 -0
  683. data/vendor/plugins/paperclip/test/storage_test.rb +172 -0
  684. data/vendor/plugins/paperclip/test/thumbnail_test.rb +145 -0
  685. data/vendor/plugins/resource_controller/lib/resource_controller/actions.rb +1 -1
  686. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/urls.rb +3 -2
  687. data/vendor/plugins/resource_controller/lib/urligence.rb +9 -3
  688. data/vendor/plugins/rspec-rails/History.txt +132 -0
  689. data/vendor/plugins/rspec-rails/License.txt +33 -0
  690. data/vendor/plugins/rspec-rails/Manifest.txt +161 -0
  691. data/vendor/plugins/rspec-rails/README.txt +44 -0
  692. data/vendor/plugins/rspec-rails/Rakefile +39 -52
  693. data/vendor/plugins/rspec-rails/TODO.txt +0 -0
  694. data/vendor/plugins/rspec-rails/features/step_definitions/people.rb +6 -0
  695. data/vendor/plugins/rspec-rails/features/support/env.rb +13 -0
  696. data/vendor/plugins/rspec-rails/features/transactions/transactions_should_rollback.feature +16 -0
  697. data/vendor/plugins/rspec-rails/generators/rspec/rspec_generator.rb +9 -8
  698. data/vendor/plugins/rspec-rails/generators/rspec/templates/rspec.rake +158 -0
  699. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/autospec +5 -0
  700. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/spec +1 -0
  701. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/spec_server +17 -8
  702. data/vendor/plugins/rspec-rails/generators/rspec/templates/spec_helper.rb +1 -1
  703. data/vendor/plugins/rspec-rails/generators/rspec_controller/rspec_controller_generator.rb +1 -5
  704. data/vendor/plugins/rspec-rails/generators/rspec_default_values.rb +19 -0
  705. data/vendor/plugins/rspec-rails/generators/rspec_model/rspec_model_generator.rb +7 -2
  706. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +4 -21
  707. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/controller_spec.rb +94 -248
  708. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +7 -6
  709. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/index_erb_spec.rb +9 -8
  710. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/new_erb_spec.rb +7 -6
  711. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/routing_spec.rb +13 -15
  712. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb +9 -9
  713. data/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb +0 -5
  714. data/vendor/plugins/rspec-rails/lib/spec/rails.rb +15 -38
  715. data/vendor/plugins/rspec-rails/lib/spec/rails/example.rb +1 -0
  716. data/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb +13 -16
  717. data/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb +54 -68
  718. data/vendor/plugins/rspec-rails/lib/spec/rails/example/cookies_proxy.rb +29 -0
  719. data/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb +35 -4
  720. data/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb +13 -6
  721. data/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb +9 -10
  722. data/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb +49 -46
  723. data/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb +14 -10
  724. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb +1 -3
  725. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb +1 -1
  726. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb +9 -5
  727. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb +11 -2
  728. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb +10 -4
  729. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb +1 -2
  730. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb +2 -2
  731. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/runner/configuration.rb +76 -0
  732. data/vendor/plugins/rspec-rails/lib/spec/rails/interop/testcase.rb +14 -0
  733. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb +2 -0
  734. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/ar_be_valid.rb +41 -0
  735. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb +1 -0
  736. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/change.rb +11 -0
  737. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb +26 -5
  738. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb +55 -15
  739. data/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb +21 -12
  740. data/vendor/plugins/rspec-rails/lib/spec/rails/story_adapter.rb +11 -3
  741. data/vendor/plugins/rspec-rails/lib/spec/rails/version.rb +16 -39
  742. data/vendor/plugins/rspec-rails/rspec-rails.gemspec +36 -0
  743. data/vendor/plugins/rspec-rails/spec/autotest/mappings_spec.rb +36 -0
  744. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/controllers/action_view_base_spec_controller.rb +0 -0
  745. data/vendor/plugins/rspec-rails/spec/resources/controllers/application.rb +9 -0
  746. data/vendor/plugins/rspec-rails/spec/resources/controllers/controller_spec_controller.rb +110 -0
  747. data/vendor/plugins/rspec-rails/spec/resources/controllers/redirect_spec_controller.rb +70 -0
  748. data/vendor/plugins/rspec-rails/spec/resources/controllers/render_spec_controller.rb +30 -0
  749. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/controllers/rjs_spec_controller.rb +0 -0
  750. data/vendor/plugins/rspec-rails/spec/resources/helpers/addition_helper.rb +5 -0
  751. data/vendor/plugins/rspec-rails/spec/resources/helpers/explicit_helper.rb +46 -0
  752. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/helpers/more_explicit_helper.rb +0 -0
  753. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/helpers/plugin_application_helper.rb +0 -0
  754. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/helpers/view_spec_helper.rb +0 -0
  755. data/vendor/plugins/rspec-rails/spec/resources/models/animal.rb +4 -0
  756. data/vendor/plugins/rspec-rails/spec/resources/models/person.rb +18 -0
  757. data/vendor/plugins/rspec-rails/spec/resources/models/thing.rb +3 -0
  758. data/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/_partial.rhtml +0 -0
  759. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_setting_flash_after_session_reset.rhtml +0 -0
  760. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_setting_flash_before_session_reset.rhtml +0 -0
  761. data/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
  762. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_with_errors_in_template.rhtml +0 -0
  763. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_with_template.rhtml +0 -0
  764. data/vendor/plugins/rspec-rails/spec/resources/views/layouts/application.rhtml +0 -0
  765. data/vendor/plugins/rspec-rails/spec/resources/views/layouts/simple.rhtml +0 -0
  766. data/vendor/plugins/rspec-rails/spec/resources/views/objects/_object.html.erb +1 -0
  767. data/vendor/plugins/rspec-rails/spec/resources/views/render_spec/_a_partial.rhtml +0 -0
  768. data/vendor/plugins/rspec-rails/spec/resources/views/render_spec/action_with_alternate_layout.rhtml +0 -0
  769. data/vendor/plugins/rspec-rails/spec/resources/views/render_spec/some_action.html.erb +0 -0
  770. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/render_spec/some_action.js.rjs +0 -0
  771. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/render_spec/some_action.rjs +0 -0
  772. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/_replacement_partial.rhtml +0 -0
  773. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/hide_div.rjs +0 -0
  774. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/hide_page_element.rjs +0 -0
  775. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/insert_html.rjs +0 -0
  776. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/replace.rjs +0 -0
  777. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/replace_html.rjs +0 -0
  778. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/replace_html_with_partial.rjs +0 -0
  779. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/visual_effect.rjs +0 -0
  780. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/visual_toggle_effect.rjs +0 -0
  781. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/tag_spec/no_tags.rhtml +0 -0
  782. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/tag_spec/single_div_with_no_attributes.rhtml +0 -0
  783. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/tag_spec/single_div_with_one_attribute.rhtml +0 -0
  784. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_partial.rhtml +0 -0
  785. data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/_partial_used_twice.rhtml +0 -0
  786. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_partial_with_local_variable.rhtml +0 -0
  787. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_partial_with_sub_partial.rhtml +0 -0
  788. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_spacer.rhtml +0 -0
  789. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/accessor.rhtml +0 -0
  790. data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/block_helper.rhtml +3 -0
  791. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/entry_form.rhtml +0 -0
  792. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/explicit_helper.rhtml +0 -0
  793. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/foo/show.rhtml +0 -0
  794. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/implicit_helper.rhtml +0 -0
  795. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/multiple_helpers.rhtml +0 -0
  796. data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/path_params.html.erb +1 -0
  797. data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/should_not_receive.rhtml +3 -0
  798. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/template_with_partial.rhtml +0 -0
  799. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/template_with_partial_using_collection.rhtml +0 -0
  800. data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/template_with_partial_with_array.rhtml +0 -0
  801. data/vendor/plugins/rspec-rails/spec/spec/rails/example/assigns_hash_proxy_spec.rb +96 -0
  802. data/vendor/plugins/rspec-rails/spec/spec/rails/example/configuration_spec.rb +79 -0
  803. data/vendor/plugins/rspec-rails/spec/spec/rails/example/controller_isolation_spec.rb +56 -0
  804. data/vendor/plugins/rspec-rails/spec/spec/rails/example/controller_spec_spec.rb +346 -0
  805. data/vendor/plugins/rspec-rails/spec/spec/rails/example/cookies_proxy_spec.rb +87 -0
  806. data/vendor/plugins/rspec-rails/spec/spec/rails/example/example_group_factory_spec.rb +112 -0
  807. data/vendor/plugins/rspec-rails/spec/spec/rails/example/helper_spec_spec.rb +204 -0
  808. data/vendor/plugins/rspec-rails/spec/spec/rails/example/model_spec_spec.rb +18 -0
  809. data/vendor/plugins/rspec-rails/spec/spec/rails/example/shared_behaviour_spec.rb +16 -0
  810. data/vendor/plugins/rspec-rails/spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb +33 -0
  811. data/vendor/plugins/rspec-rails/spec/spec/rails/example/view_spec_spec.rb +312 -0
  812. data/vendor/plugins/rspec-rails/spec/spec/rails/extensions/action_controller_rescue_action_spec.rb +57 -0
  813. data/vendor/plugins/rspec-rails/spec/spec/rails/extensions/action_view_base_spec.rb +48 -0
  814. data/vendor/plugins/rspec-rails/spec/spec/rails/extensions/active_record_spec.rb +14 -0
  815. data/vendor/plugins/rspec-rails/spec/spec/rails/interop/testcase_spec.rb +70 -0
  816. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/ar_be_valid_spec.rb +35 -0
  817. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/assert_select_spec.rb +810 -0
  818. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/errors_on_spec.rb +25 -0
  819. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/have_text_spec.rb +62 -0
  820. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb +64 -0
  821. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/redirect_to_spec.rb +242 -0
  822. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/render_template_spec.rb +176 -0
  823. data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/should_change_spec.rb +15 -0
  824. data/vendor/plugins/rspec-rails/spec/{rails → spec/rails}/mocks/ar_classes.rb +0 -0
  825. data/vendor/plugins/rspec-rails/spec/spec/rails/mocks/mock_model_spec.rb +106 -0
  826. data/vendor/plugins/rspec-rails/spec/spec/rails/mocks/stub_model_spec.rb +80 -0
  827. data/vendor/plugins/rspec-rails/spec/spec/rails/sample_modified_fixture.rb +8 -0
  828. data/vendor/plugins/rspec-rails/spec/spec/rails/sample_spec.rb +8 -0
  829. data/vendor/plugins/rspec-rails/spec/spec/rails/spec_server_spec.rb +107 -0
  830. data/vendor/plugins/rspec-rails/spec/spec/rails/spec_spec.rb +11 -0
  831. data/vendor/plugins/rspec-rails/spec/spec_helper.rb +33 -13
  832. data/vendor/plugins/rspec/History.txt +1235 -0
  833. data/vendor/plugins/rspec/License.txt +22 -0
  834. data/vendor/plugins/rspec/Manifest.txt +377 -0
  835. data/vendor/plugins/rspec/README.txt +57 -0
  836. data/vendor/plugins/rspec/Rakefile +41 -214
  837. data/vendor/plugins/rspec/TODO.txt +18 -0
  838. data/vendor/plugins/rspec/bin/autospec +3 -2
  839. data/vendor/plugins/rspec/bin/spec +1 -1
  840. data/vendor/plugins/rspec/{failing_examples → examples/failing}/README.txt +0 -0
  841. data/vendor/plugins/rspec/{failing_examples → examples/failing}/diffing_spec.rb +0 -0
  842. data/vendor/plugins/rspec/{failing_examples → examples/failing}/failing_autogenerated_docstrings_example.rb +0 -0
  843. data/vendor/plugins/rspec/examples/failing/failure_in_after.rb +10 -0
  844. data/vendor/plugins/rspec/examples/failing/failure_in_before.rb +10 -0
  845. data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_example.rb +0 -0
  846. data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_with_flexmock.rb +0 -0
  847. data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_with_mocha.rb +0 -0
  848. data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_with_rr.rb +0 -0
  849. data/vendor/plugins/rspec/{failing_examples → examples/failing}/partial_mock_example.rb +0 -0
  850. data/vendor/plugins/rspec/examples/failing/predicate_example.rb +34 -0
  851. data/vendor/plugins/rspec/{failing_examples → examples/failing}/raising_example.rb +0 -0
  852. data/vendor/plugins/rspec/examples/failing/spec_helper.rb +3 -0
  853. data/vendor/plugins/rspec/{failing_examples → examples/failing}/syntax_error_example.rb +0 -0
  854. data/vendor/plugins/rspec/{failing_examples → examples/failing}/team_spec.rb +0 -0
  855. data/vendor/plugins/rspec/{failing_examples → examples/failing}/timeout_behaviour.rb +0 -0
  856. data/vendor/plugins/rspec/examples/passing/autogenerated_docstrings_example.rb +25 -0
  857. data/vendor/plugins/rspec/examples/{pure → passing}/before_and_after_example.rb +0 -0
  858. data/vendor/plugins/rspec/examples/{pure → passing}/behave_as_example.rb +0 -0
  859. data/vendor/plugins/rspec/examples/{pure → passing}/custom_expectation_matchers.rb +0 -0
  860. data/vendor/plugins/rspec/examples/passing/custom_formatter.rb +12 -0
  861. data/vendor/plugins/rspec/examples/passing/dynamic_spec.rb +9 -0
  862. data/vendor/plugins/rspec/examples/{pure → passing}/file_accessor.rb +0 -0
  863. data/vendor/plugins/rspec/examples/{pure → passing}/file_accessor_spec.rb +0 -0
  864. data/vendor/plugins/rspec/examples/{pure → passing}/greeter_spec.rb +0 -0
  865. data/vendor/plugins/rspec/examples/{pure → passing}/helper_method_example.rb +0 -0
  866. data/vendor/plugins/rspec/examples/{pure → passing}/io_processor.rb +0 -0
  867. data/vendor/plugins/rspec/examples/{pure → passing}/io_processor_spec.rb +0 -0
  868. data/vendor/plugins/rspec/examples/{pure → passing}/legacy_spec.rb +0 -0
  869. data/vendor/plugins/rspec/examples/{pure → passing}/mocking_example.rb +0 -0
  870. data/vendor/plugins/rspec/examples/{pure → passing}/multi_threaded_behaviour_runner.rb +0 -0
  871. data/vendor/plugins/rspec/examples/{pure → passing}/nested_classes_example.rb +0 -0
  872. data/vendor/plugins/rspec/examples/{pure → passing}/partial_mock_example.rb +0 -0
  873. data/vendor/plugins/rspec/examples/{pure → passing}/pending_example.rb +0 -0
  874. data/vendor/plugins/rspec/examples/{pure → passing}/predicate_example.rb +0 -0
  875. data/vendor/plugins/rspec/examples/{pure → passing}/priority.txt +0 -0
  876. data/vendor/plugins/rspec/examples/passing/shared_example_group_example.rb +81 -0
  877. data/vendor/plugins/rspec/examples/passing/shared_stack_examples.rb +36 -0
  878. data/vendor/plugins/rspec/examples/passing/simple_matcher_example.rb +31 -0
  879. data/vendor/plugins/rspec/examples/{pure → passing}/spec_helper.rb +0 -0
  880. data/vendor/plugins/rspec/examples/{pure → passing}/stack.rb +0 -0
  881. data/vendor/plugins/rspec/examples/passing/stack_spec.rb +64 -0
  882. data/vendor/plugins/rspec/examples/{pure → passing}/stack_spec_with_nested_example_groups.rb +0 -0
  883. data/vendor/plugins/rspec/examples/{pure → passing}/stubbing_example.rb +0 -0
  884. data/vendor/plugins/rspec/examples/passing/yielding_example.rb +33 -0
  885. data/vendor/plugins/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +168 -0
  886. data/vendor/plugins/rspec/features/example_groups/autogenerated_docstrings.feature +45 -0
  887. data/vendor/plugins/rspec/features/example_groups/example_group_with_should_methods.feature +17 -0
  888. data/vendor/plugins/rspec/features/example_groups/nested_groups.feature +17 -0
  889. data/vendor/plugins/rspec/features/example_groups/output.feature +20 -0
  890. data/vendor/plugins/rspec/features/interop/examples_and_tests_together.feature +31 -0
  891. data/vendor/plugins/rspec/features/interop/test_but_not_test_unit.feature +14 -0
  892. data/vendor/plugins/rspec/features/interop/test_case_with_should_methods.feature +17 -0
  893. data/vendor/plugins/rspec/features/mock_framework_integration/use_flexmock.feature +9 -0
  894. data/vendor/plugins/rspec/features/step_definitions/running_rspec.rb +54 -0
  895. data/vendor/plugins/rspec/features/support/env.rb +26 -0
  896. data/vendor/plugins/rspec/{stories/resources → features/support}/helpers/cmdline.rb +0 -0
  897. data/vendor/plugins/rspec/features/support/helpers/story_helper.rb +16 -0
  898. data/vendor/plugins/rspec/{stories/resources → features/support}/matchers/smart_match.rb +0 -0
  899. data/vendor/plugins/rspec/lib/adapters/mock_frameworks/flexmock.rb +23 -0
  900. data/vendor/plugins/rspec/lib/adapters/mock_frameworks/mocha.rb +19 -0
  901. data/vendor/plugins/rspec/lib/adapters/mock_frameworks/rr.rb +21 -0
  902. data/vendor/plugins/rspec/lib/adapters/mock_frameworks/rspec.rb +20 -0
  903. data/vendor/plugins/rspec/lib/autotest/discover.rb +1 -1
  904. data/vendor/plugins/rspec/lib/autotest/rspec.rb +6 -31
  905. data/vendor/plugins/rspec/lib/spec.rb +3 -27
  906. data/vendor/plugins/rspec/lib/spec/dsl.rb +1 -0
  907. data/vendor/plugins/rspec/lib/spec/dsl/main.rb +87 -0
  908. data/vendor/plugins/rspec/lib/spec/example.rb +176 -2
  909. data/vendor/plugins/rspec/lib/spec/example/before_and_after_hooks.rb +99 -0
  910. data/vendor/plugins/rspec/lib/spec/example/errors.rb +23 -2
  911. data/vendor/plugins/rspec/lib/spec/example/example_group.rb +11 -2
  912. data/vendor/plugins/rspec/lib/spec/example/example_group_factory.rb +40 -4
  913. data/vendor/plugins/rspec/lib/spec/example/example_group_methods.rb +172 -216
  914. data/vendor/plugins/rspec/lib/spec/example/example_methods.rb +94 -38
  915. data/vendor/plugins/rspec/lib/spec/example/shared_example_group.rb +34 -29
  916. data/vendor/plugins/rspec/lib/spec/expectations.rb +22 -18
  917. data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +2 -2
  918. data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +23 -38
  919. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testcase.rb +32 -20
  920. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testresult.rb +1 -1
  921. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +1 -1
  922. data/vendor/plugins/rspec/lib/spec/matchers.rb +7 -22
  923. data/vendor/plugins/rspec/lib/spec/matchers/be.rb +94 -115
  924. data/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +5 -21
  925. data/vendor/plugins/rspec/lib/spec/matchers/change.rb +31 -31
  926. data/vendor/plugins/rspec/lib/spec/matchers/eql.rb +6 -24
  927. data/vendor/plugins/rspec/lib/spec/matchers/equal.rb +6 -24
  928. data/vendor/plugins/rspec/lib/spec/matchers/errors.rb +5 -0
  929. data/vendor/plugins/rspec/lib/spec/matchers/exist.rb +10 -11
  930. data/vendor/plugins/rspec/lib/spec/matchers/generated_descriptions.rb +48 -0
  931. data/vendor/plugins/rspec/lib/spec/matchers/has.rb +12 -28
  932. data/vendor/plugins/rspec/lib/spec/matchers/have.rb +25 -24
  933. data/vendor/plugins/rspec/lib/spec/matchers/include.rb +11 -1
  934. data/vendor/plugins/rspec/lib/spec/matchers/match.rb +7 -26
  935. data/vendor/plugins/rspec/lib/spec/matchers/match_array.rb +75 -0
  936. data/vendor/plugins/rspec/lib/spec/matchers/method_missing.rb +9 -0
  937. data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +44 -41
  938. data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +17 -21
  939. data/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +33 -7
  940. data/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +5 -5
  941. data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +8 -8
  942. data/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +50 -18
  943. data/vendor/plugins/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
  944. data/vendor/plugins/rspec/lib/spec/mocks.rb +0 -11
  945. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraints.rb +203 -0
  946. data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +21 -188
  947. data/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +1 -1
  948. data/vendor/plugins/rspec/lib/spec/mocks/framework.rb +1 -1
  949. data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +47 -6
  950. data/vendor/plugins/rspec/lib/spec/mocks/methods.rb +15 -3
  951. data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +59 -17
  952. data/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +9 -1
  953. data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +5 -7
  954. data/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +3 -3
  955. data/vendor/plugins/rspec/lib/spec/ruby.rb +9 -0
  956. data/vendor/plugins/rspec/lib/spec/runner.rb +51 -164
  957. data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +10 -9
  958. data/vendor/plugins/rspec/lib/spec/runner/class_and_arguments_parser.rb +7 -9
  959. data/vendor/plugins/rspec/lib/spec/runner/command_line.rb +6 -19
  960. data/vendor/plugins/rspec/lib/spec/runner/configuration.rb +166 -0
  961. data/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb +2 -2
  962. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +3 -1
  963. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +7 -10
  964. data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +15 -12
  965. data/vendor/plugins/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +5 -5
  966. data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +2 -2
  967. data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +1 -1
  968. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb +14 -1
  969. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb +12 -6
  970. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
  971. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +58 -56
  972. data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +40 -34
  973. data/vendor/plugins/rspec/lib/spec/runner/options.rb +49 -23
  974. data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +25 -5
  975. data/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +11 -9
  976. data/vendor/plugins/rspec/lib/spec/story/runner.rb +40 -43
  977. data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +10 -6
  978. data/vendor/plugins/rspec/lib/spec/story/step.rb +3 -3
  979. data/vendor/plugins/rspec/lib/spec/story/step_mother.rb +2 -1
  980. data/vendor/plugins/rspec/lib/spec/story/world.rb +66 -70
  981. data/vendor/plugins/rspec/lib/spec/version.rb +15 -22
  982. data/vendor/plugins/rspec/{rake_tasks → resources/rake}/examples.rake +0 -0
  983. data/vendor/plugins/rspec/{rake_tasks → resources/rake}/examples_with_rcov.rake +0 -0
  984. data/vendor/plugins/rspec/resources/rake/failing_examples_with_html.rake +9 -0
  985. data/vendor/plugins/rspec/resources/rake/verify_rcov.rake +7 -0
  986. data/vendor/plugins/rspec/resources/spec/example_group_with_should_methods.rb +12 -0
  987. data/vendor/plugins/rspec/resources/spec/simple_spec.rb +8 -0
  988. data/vendor/plugins/rspec/resources/spec/spec_with_flexmock.rb +19 -0
  989. data/vendor/plugins/rspec/resources/test/spec_and_test_together.rb +57 -0
  990. data/vendor/plugins/rspec/resources/test/spec_including_test_but_not_unit.rb +11 -0
  991. data/vendor/plugins/rspec/resources/test/test_case_with_should_methods.rb +30 -0
  992. data/vendor/plugins/rspec/rspec.gemspec +32 -0
  993. data/vendor/plugins/rspec/spec/autotest/autotest_helper.rb +6 -0
  994. data/vendor/plugins/rspec/spec/{autotest_matchers.rb → autotest/autotest_matchers.rb} +0 -0
  995. data/vendor/plugins/rspec/spec/autotest/discover_spec.rb +5 -16
  996. data/vendor/plugins/rspec/spec/autotest/failed_results_re_spec.rb +24 -0
  997. data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +13 -105
  998. data/vendor/plugins/rspec/spec/rspec_suite.rb +0 -1
  999. data/vendor/plugins/rspec/spec/spec/dsl/main_spec.rb +88 -0
  1000. data/vendor/plugins/rspec/spec/spec/example/example_group_class_definition_spec.rb +15 -11
  1001. data/vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb +93 -32
  1002. data/vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb +485 -423
  1003. data/vendor/plugins/rspec/spec/spec/example/example_group_spec.rb +463 -511
  1004. data/vendor/plugins/rspec/spec/spec/example/example_matcher_spec.rb +6 -23
  1005. data/vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb +235 -70
  1006. data/vendor/plugins/rspec/spec/spec/example/helper_method_spec.rb +24 -0
  1007. data/vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb +101 -4
  1008. data/vendor/plugins/rspec/spec/spec/example/shared_example_group_spec.rb +202 -210
  1009. data/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +0 -12
  1010. data/vendor/plugins/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  1011. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  1012. data/vendor/plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb +14 -11
  1013. data/vendor/plugins/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +4 -0
  1014. data/vendor/plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb +4 -0
  1015. data/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +12 -10
  1016. data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +40 -7
  1017. data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +12 -0
  1018. data/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +19 -0
  1019. data/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +7 -6
  1020. data/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +7 -6
  1021. data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +7 -7
  1022. data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +10 -0
  1023. data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +114 -8
  1024. data/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +43 -0
  1025. data/vendor/plugins/rspec/spec/spec/matchers/match_array_spec.rb +83 -0
  1026. data/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +1 -13
  1027. data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +24 -1
  1028. data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +18 -0
  1029. data/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +76 -14
  1030. data/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +85 -43
  1031. data/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +7 -0
  1032. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +4 -5
  1033. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_496.rb +19 -0
  1034. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  1035. data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -35
  1036. data/vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +82 -24
  1037. data/vendor/plugins/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  1038. data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +68 -8
  1039. data/vendor/plugins/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  1040. data/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +14 -0
  1041. data/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +18 -28
  1042. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +12 -5
  1043. data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +5 -50
  1044. data/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +7 -0
  1045. data/vendor/plugins/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +14 -0
  1046. data/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +8 -0
  1047. data/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +102 -108
  1048. data/vendor/plugins/rspec/spec/spec/runner/configuration_spec.rb +301 -0
  1049. data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +14 -9
  1050. data/vendor/plugins/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +23 -0
  1051. data/vendor/plugins/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +23 -0
  1052. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +5 -5
  1053. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +3 -3
  1054. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +6 -6
  1055. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +9 -9
  1056. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +6 -6
  1057. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +10 -10
  1058. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +39 -30
  1059. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +379 -0
  1060. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +379 -0
  1061. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +14 -15
  1062. data/vendor/plugins/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +230 -245
  1063. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +17 -9
  1064. data/vendor/plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +20 -19
  1065. data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +110 -109
  1066. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb +48 -0
  1067. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +52 -0
  1068. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
  1069. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +6 -6
  1070. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +33 -30
  1071. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +373 -0
  1072. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +373 -0
  1073. data/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +8 -8
  1074. data/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +16 -9
  1075. data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +25 -13
  1076. data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +27 -8
  1077. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +1 -1
  1078. data/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +6 -0
  1079. data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +55 -9
  1080. data/vendor/plugins/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  1081. data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +85 -79
  1082. data/vendor/plugins/rspec/spec/spec/spec_spec.rb +21 -0
  1083. data/vendor/plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb +2 -5
  1084. data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +3 -3
  1085. data/vendor/plugins/rspec/spec/spec/story/scenario_spec.rb +1 -3
  1086. data/vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb +12 -0
  1087. data/vendor/plugins/rspec/spec/spec/story/step_spec.rb +24 -2
  1088. data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +1 -3
  1089. data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +7 -7
  1090. data/vendor/plugins/rspec/spec/spec_helper.rb +46 -64
  1091. data/vendor/plugins/rspec/story_server/prototype/javascripts/prototype.js +1 -1
  1092. data/vendor/plugins/ssl_requirement/README +43 -0
  1093. data/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +76 -0
  1094. data/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb +132 -0
  1095. metadata +961 -477
  1096. data/app/controllers/addresses_controller.rb +0 -57
  1097. data/app/controllers/creditcard_payments_controller.rb +0 -63
  1098. data/app/models/cart.rb +0 -24
  1099. data/app/views/addresses/_form.html.erb +0 -48
  1100. data/app/views/addresses/_states.html.erb +0 -8
  1101. data/app/views/addresses/edit.html.erb +0 -8
  1102. data/app/views/addresses/new.html.erb +0 -8
  1103. data/app/views/admin/orders/_address.html.erb +0 -37
  1104. data/app/views/creditcard_payments/_form_billing.html.erb +0 -49
  1105. data/app/views/creditcard_payments/_form_credit_card.html.erb +0 -30
  1106. data/app/views/creditcard_payments/_states.html.erb +0 -8
  1107. data/app/views/creditcard_payments/cvv.html.erb +0 -15
  1108. data/app/views/creditcard_payments/new.html.erb +0 -22
  1109. data/config/easy_role_permissions.yml +0 -75
  1110. data/db/sample/creditcard_payments.yml +0 -10
  1111. data/db/sample/images.yml +0 -350
  1112. data/lang/ui/de-DE.yml +0 -208
  1113. data/lang/ui/en-US.yml +0 -250
  1114. data/lang/ui/es-ES.yml +0 -203
  1115. data/lang/ui/it-IT.yml +0 -195
  1116. data/lang/ui/pl-PL.yml +0 -214
  1117. data/lang/ui/pt-BR.yml +0 -222
  1118. data/stories/all.rb +0 -4
  1119. data/stories/helper.rb +0 -3
  1120. data/test/test_helper.rb +0 -38
  1121. data/vendor/extensions/localization/lang/ui/de-DE.yml +0 -2
  1122. data/vendor/extensions/localization/lang/ui/en-US.yml +0 -2
  1123. data/vendor/extensions/localization/lang/ui/es-ES.yml +0 -2
  1124. data/vendor/extensions/localization/lang/ui/it-IT.yml +0 -2
  1125. data/vendor/extensions/localization/lib/localization.rb +0 -93
  1126. data/vendor/extensions/payment_gateway/spec/models/creditcard_payment_spec.rb +0 -24
  1127. data/vendor/extensions/shipping/lang/en-US.yml +0 -9
  1128. data/vendor/extensions/shipping/spec/models/order_spec.rb +0 -98
  1129. data/vendor/extensions/tax_calculator/lang/en-US.yml +0 -11
  1130. data/vendor/extensions/tax_calculator/lang/pt-BR.yml +0 -11
  1131. data/vendor/plugins/attachment_fu/CHANGELOG +0 -35
  1132. data/vendor/plugins/attachment_fu/README +0 -186
  1133. data/vendor/plugins/attachment_fu/Rakefile +0 -22
  1134. data/vendor/plugins/attachment_fu/amazon_s3.yml.tpl +0 -14
  1135. data/vendor/plugins/attachment_fu/init.rb +0 -16
  1136. data/vendor/plugins/attachment_fu/install.rb +0 -5
  1137. data/vendor/plugins/attachment_fu/lib/geometry.rb +0 -93
  1138. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb +0 -473
  1139. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/db_file_backend.rb +0 -39
  1140. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb +0 -101
  1141. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb +0 -303
  1142. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/core_image_processor.rb +0 -59
  1143. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/gd2_processor.rb +0 -54
  1144. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb +0 -61
  1145. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/mini_magick_processor.rb +0 -59
  1146. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb +0 -54
  1147. data/vendor/plugins/attachment_fu/test/backends/db_file_test.rb +0 -16
  1148. data/vendor/plugins/attachment_fu/test/backends/file_system_test.rb +0 -80
  1149. data/vendor/plugins/attachment_fu/test/backends/remote/s3_test.rb +0 -119
  1150. data/vendor/plugins/attachment_fu/test/base_attachment_tests.rb +0 -77
  1151. data/vendor/plugins/attachment_fu/test/basic_test.rb +0 -70
  1152. data/vendor/plugins/attachment_fu/test/database.yml +0 -18
  1153. data/vendor/plugins/attachment_fu/test/extra_attachment_test.rb +0 -67
  1154. data/vendor/plugins/attachment_fu/test/fixtures/attachment.rb +0 -148
  1155. data/vendor/plugins/attachment_fu/test/fixtures/files/fake/rails.png +0 -0
  1156. data/vendor/plugins/attachment_fu/test/fixtures/files/foo.txt +0 -1
  1157. data/vendor/plugins/attachment_fu/test/geometry_test.rb +0 -101
  1158. data/vendor/plugins/attachment_fu/test/processors/core_image_test.rb +0 -37
  1159. data/vendor/plugins/attachment_fu/test/processors/gd2_test.rb +0 -31
  1160. data/vendor/plugins/attachment_fu/test/processors/image_science_test.rb +0 -31
  1161. data/vendor/plugins/attachment_fu/test/processors/mini_magick_test.rb +0 -31
  1162. data/vendor/plugins/attachment_fu/test/processors/rmagick_test.rb +0 -255
  1163. data/vendor/plugins/attachment_fu/test/schema.rb +0 -108
  1164. data/vendor/plugins/attachment_fu/test/test_helper.rb +0 -150
  1165. data/vendor/plugins/attachment_fu/test/validation_test.rb +0 -55
  1166. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/color.rb +0 -27
  1167. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/effects.rb +0 -31
  1168. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/perspective.rb +0 -25
  1169. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/quality.rb +0 -25
  1170. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/scale.rb +0 -47
  1171. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/watermark.rb +0 -32
  1172. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/processor.rb +0 -123
  1173. data/vendor/plugins/attribute_fu/README +0 -115
  1174. data/vendor/plugins/attribute_fu/test/Rakefile +0 -10
  1175. data/vendor/plugins/attribute_fu/test/app/controllers/application.rb +0 -10
  1176. data/vendor/plugins/attribute_fu/test/config/boot.rb +0 -97
  1177. data/vendor/plugins/attribute_fu/test/config/database.yml +0 -15
  1178. data/vendor/plugins/attribute_fu/test/config/environment.rb +0 -15
  1179. data/vendor/plugins/attribute_fu/test/config/environments/development.rb +0 -18
  1180. data/vendor/plugins/attribute_fu/test/config/environments/test.rb +0 -22
  1181. data/vendor/plugins/attribute_fu/test/config/routes.rb +0 -35
  1182. data/vendor/plugins/attribute_fu/test/db/migrate/001_create_photos.rb +0 -14
  1183. data/vendor/plugins/attribute_fu/test/db/migrate/002_create_comments.rb +0 -15
  1184. data/vendor/plugins/attribute_fu/test/script/console +0 -3
  1185. data/vendor/plugins/attribute_fu/test/script/destroy +0 -3
  1186. data/vendor/plugins/attribute_fu/test/script/generate +0 -3
  1187. data/vendor/plugins/attribute_fu/test/script/server +0 -3
  1188. data/vendor/plugins/attribute_fu/test/test/test_helper.rb +0 -6
  1189. data/vendor/plugins/attribute_fu/test/test/unit/associated_form_helper_test.rb +0 -376
  1190. data/vendor/plugins/attribute_fu/test/test/unit/comment_test.rb +0 -6
  1191. data/vendor/plugins/attribute_fu/test/test/unit/photo_test.rb +0 -149
  1192. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/init.rb +0 -3
  1193. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda.rb +0 -20
  1194. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +0 -338
  1195. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/context.rb +0 -143
  1196. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/general.rb +0 -119
  1197. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +0 -17
  1198. data/vendor/plugins/calendar_date_select/CHANGELOG +0 -170
  1199. data/vendor/plugins/calendar_date_select/README +0 -10
  1200. data/vendor/plugins/calendar_date_select/lib/includes_helper.rb +0 -22
  1201. data/vendor/plugins/calendar_date_select/test/functional/calendar_date_select_test.rb +0 -95
  1202. data/vendor/plugins/calendar_date_select/test/functional/helper_methods_test.rb +0 -15
  1203. data/vendor/plugins/calendar_date_select/test/test_helper.rb +0 -26
  1204. data/vendor/plugins/globalite/CHANGELOG +0 -22
  1205. data/vendor/plugins/globalite/README +0 -199
  1206. data/vendor/plugins/globalite/README.rdoc +0 -199
  1207. data/vendor/plugins/globalite/Rakefile +0 -32
  1208. data/vendor/plugins/globalite/globalite.gemspec +0 -14
  1209. data/vendor/plugins/globalite/init.rb +0 -1
  1210. data/vendor/plugins/globalite/install.rb +0 -1
  1211. data/vendor/plugins/globalite/lang/rails/de-DE.yml +0 -357
  1212. data/vendor/plugins/globalite/lang/rails/en-UK.yml +0 -357
  1213. data/vendor/plugins/globalite/lang/rails/en-US.yml +0 -357
  1214. data/vendor/plugins/globalite/lang/rails/es-AR.yml +0 -357
  1215. data/vendor/plugins/globalite/lang/rails/es-ES.yml +0 -359
  1216. data/vendor/plugins/globalite/lang/rails/fi-FI.yml +0 -357
  1217. data/vendor/plugins/globalite/lang/rails/fr-FR.yml +0 -359
  1218. data/vendor/plugins/globalite/lang/rails/hu-HU.yml +0 -357
  1219. data/vendor/plugins/globalite/lang/rails/it.yml +0 -358
  1220. data/vendor/plugins/globalite/lang/rails/nl-NL.yml +0 -347
  1221. data/vendor/plugins/globalite/lang/rails/pl-PL.yml +0 -358
  1222. data/vendor/plugins/globalite/lang/rails/pt-BR.yml +0 -324
  1223. data/vendor/plugins/globalite/lang/rails/pt-PT.yml +0 -324
  1224. data/vendor/plugins/globalite/lang/rails/ru-RU.yml +0 -357
  1225. data/vendor/plugins/globalite/lang/rails/sr-CP.yml +0 -357
  1226. data/vendor/plugins/globalite/lang/rails/sr-SR.yml +0 -357
  1227. data/vendor/plugins/globalite/lang/rails/tr.yml +0 -186
  1228. data/vendor/plugins/globalite/lang/rails/zh-CN.yml +0 -357
  1229. data/vendor/plugins/globalite/lang/rails/zh-HK.yml +0 -357
  1230. data/vendor/plugins/globalite/lang/rails/zh-TW.yml +0 -357
  1231. data/vendor/plugins/globalite/lib/globalite.rb +0 -28
  1232. data/vendor/plugins/globalite/lib/globalite/l10n.rb +0 -302
  1233. data/vendor/plugins/globalite/lib/globalite/locale.rb +0 -56
  1234. data/vendor/plugins/globalite/lib/rails/core_ext.rb +0 -19
  1235. data/vendor/plugins/globalite/lib/rails/localization.rb +0 -58
  1236. data/vendor/plugins/globalite/lib/rails/localized_action_view.rb +0 -211
  1237. data/vendor/plugins/globalite/lib/rails/localized_active_record.rb +0 -80
  1238. data/vendor/plugins/globalite/spec/core_localization_spec.rb +0 -116
  1239. data/vendor/plugins/globalite/spec/helpers/spec_helper.rb +0 -16
  1240. data/vendor/plugins/globalite/spec/l10n_spec.rb +0 -251
  1241. data/vendor/plugins/globalite/spec/lang/rails/zz.yml +0 -13
  1242. data/vendor/plugins/globalite/spec/lang/ui/en-UK.yml +0 -3
  1243. data/vendor/plugins/globalite/spec/lang/ui/en-US.yml +0 -3
  1244. data/vendor/plugins/globalite/spec/lang/ui/es.yml +0 -3
  1245. data/vendor/plugins/globalite/spec/lang/ui/fr-FR.yml +0 -8
  1246. data/vendor/plugins/globalite/tasks/cruise.rake +0 -4
  1247. data/vendor/plugins/globalite/tasks/globalite_tasks.rake +0 -47
  1248. data/vendor/plugins/globalite/uninstall.rb +0 -1
  1249. data/vendor/plugins/rspec-rails/CHANGES +0 -26
  1250. data/vendor/plugins/rspec-rails/MIT-LICENSE +0 -31
  1251. data/vendor/plugins/rspec-rails/README +0 -3
  1252. data/vendor/plugins/rspec-rails/UPGRADE +0 -7
  1253. data/vendor/plugins/rspec-rails/generators/rspec/templates/all_stories.rb +0 -4
  1254. data/vendor/plugins/rspec-rails/generators/rspec/templates/stories_helper.rb +0 -3
  1255. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/object.rb +0 -5
  1256. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb +0 -71
  1257. data/vendor/plugins/rspec-rails/spec/rails/autotest/mappings_spec.rb +0 -36
  1258. data/vendor/plugins/rspec-rails/spec/rails/autotest/rails_rspec_spec.rb +0 -8
  1259. data/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb +0 -60
  1260. data/vendor/plugins/rspec-rails/spec/rails/example/configuration_spec.rb +0 -83
  1261. data/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb +0 -62
  1262. data/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb +0 -206
  1263. data/vendor/plugins/rspec-rails/spec/rails/example/example_group_factory_spec.rb +0 -112
  1264. data/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb +0 -161
  1265. data/vendor/plugins/rspec-rails/spec/rails/example/model_spec_spec.rb +0 -18
  1266. data/vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb +0 -16
  1267. data/vendor/plugins/rspec-rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb +0 -33
  1268. data/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb +0 -272
  1269. data/vendor/plugins/rspec-rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +0 -54
  1270. data/vendor/plugins/rspec-rails/spec/rails/extensions/action_view_base_spec.rb +0 -48
  1271. data/vendor/plugins/rspec-rails/spec/rails/extensions/active_record_spec.rb +0 -14
  1272. data/vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb +0 -806
  1273. data/vendor/plugins/rspec-rails/spec/rails/matchers/description_generation_spec.rb +0 -37
  1274. data/vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb +0 -13
  1275. data/vendor/plugins/rspec-rails/spec/rails/matchers/have_text_spec.rb +0 -62
  1276. data/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb +0 -70
  1277. data/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb +0 -209
  1278. data/vendor/plugins/rspec-rails/spec/rails/matchers/render_spec.rb +0 -169
  1279. data/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb +0 -64
  1280. data/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb +0 -79
  1281. data/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb +0 -8
  1282. data/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb +0 -8
  1283. data/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb +0 -96
  1284. data/vendor/plugins/rspec-rails/spec/rails/spec_spec.rb +0 -11
  1285. data/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb +0 -68
  1286. data/vendor/plugins/rspec-rails/spec_resources/controllers/redirect_spec_controller.rb +0 -59
  1287. data/vendor/plugins/rspec-rails/spec_resources/controllers/render_spec_controller.rb +0 -26
  1288. data/vendor/plugins/rspec-rails/spec_resources/helpers/explicit_helper.rb +0 -34
  1289. data/vendor/plugins/rspec-rails/stories/all.rb +0 -10
  1290. data/vendor/plugins/rspec-rails/stories/helper.rb +0 -5
  1291. data/vendor/plugins/rspec-rails/stories/steps/people.rb +0 -8
  1292. data/vendor/plugins/rspec-rails/stories/transactions_should_rollback +0 -15
  1293. data/vendor/plugins/rspec-rails/stories/transactions_should_rollback.rb +0 -25
  1294. data/vendor/plugins/rspec-rails/tasks/rspec.rake +0 -137
  1295. data/vendor/plugins/rspec/CHANGES +0 -1104
  1296. data/vendor/plugins/rspec/MIT-LICENSE +0 -20
  1297. data/vendor/plugins/rspec/README +0 -36
  1298. data/vendor/plugins/rspec/TODO +0 -1
  1299. data/vendor/plugins/rspec/bin/spec_translator +0 -8
  1300. data/vendor/plugins/rspec/examples/pure/autogenerated_docstrings_example.rb +0 -19
  1301. data/vendor/plugins/rspec/examples/pure/custom_formatter.rb +0 -12
  1302. data/vendor/plugins/rspec/examples/pure/dynamic_spec.rb +0 -9
  1303. data/vendor/plugins/rspec/examples/pure/shared_example_group_example.rb +0 -81
  1304. data/vendor/plugins/rspec/examples/pure/shared_stack_examples.rb +0 -38
  1305. data/vendor/plugins/rspec/examples/pure/stack_spec.rb +0 -63
  1306. data/vendor/plugins/rspec/examples/stories/adder.rb +0 -13
  1307. data/vendor/plugins/rspec/examples/stories/addition +0 -34
  1308. data/vendor/plugins/rspec/examples/stories/addition.rb +0 -9
  1309. data/vendor/plugins/rspec/examples/stories/calculator.rb +0 -65
  1310. data/vendor/plugins/rspec/examples/stories/game-of-life/README.txt +0 -21
  1311. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/everything.rb +0 -6
  1312. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
  1313. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
  1314. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
  1315. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
  1316. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
  1317. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
  1318. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
  1319. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
  1320. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
  1321. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
  1322. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
  1323. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
  1324. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
  1325. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
  1326. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
  1327. data/vendor/plugins/rspec/examples/stories/game-of-life/life.rb +0 -3
  1328. data/vendor/plugins/rspec/examples/stories/game-of-life/life/game.rb +0 -23
  1329. data/vendor/plugins/rspec/examples/stories/game-of-life/life/grid.rb +0 -43
  1330. data/vendor/plugins/rspec/examples/stories/helper.rb +0 -9
  1331. data/vendor/plugins/rspec/examples/stories/steps/addition_steps.rb +0 -18
  1332. data/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +0 -10
  1333. data/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +0 -10
  1334. data/vendor/plugins/rspec/failing_examples/predicate_example.rb +0 -29
  1335. data/vendor/plugins/rspec/failing_examples/spec_helper.rb +0 -3
  1336. data/vendor/plugins/rspec/lib/spec/adapters.rb +0 -1
  1337. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine.rb +0 -26
  1338. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/mri.rb +0 -8
  1339. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/rubinius.rb +0 -8
  1340. data/vendor/plugins/rspec/lib/spec/example/configuration.rb +0 -158
  1341. data/vendor/plugins/rspec/lib/spec/example/module_inclusion_warnings.rb +0 -37
  1342. data/vendor/plugins/rspec/lib/spec/extensions.rb +0 -4
  1343. data/vendor/plugins/rspec/lib/spec/extensions/class.rb +0 -24
  1344. data/vendor/plugins/rspec/lib/spec/extensions/main.rb +0 -102
  1345. data/vendor/plugins/rspec/lib/spec/extensions/metaclass.rb +0 -7
  1346. data/vendor/plugins/rspec/lib/spec/extensions/object.rb +0 -6
  1347. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +0 -31
  1348. data/vendor/plugins/rspec/lib/spec/translator.rb +0 -114
  1349. data/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +0 -23
  1350. data/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +0 -19
  1351. data/vendor/plugins/rspec/plugins/mock_frameworks/rr.rb +0 -21
  1352. data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +0 -20
  1353. data/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +0 -9
  1354. data/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +0 -7
  1355. data/vendor/plugins/rspec/spec/autotest_helper.rb +0 -6
  1356. data/vendor/plugins/rspec/spec/spec/adapters/ruby_engine_spec.rb +0 -16
  1357. data/vendor/plugins/rspec/spec/spec/example/configuration_spec.rb +0 -282
  1358. data/vendor/plugins/rspec/spec/spec/example/example_group/described_module_spec.rb +0 -20
  1359. data/vendor/plugins/rspec/spec/spec/example/example_group/warning_messages_spec.rb +0 -76
  1360. data/vendor/plugins/rspec/spec/spec/example/example_spec.rb +0 -53
  1361. data/vendor/plugins/rspec/spec/spec/extensions/main_spec.rb +0 -76
  1362. data/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +0 -37
  1363. data/vendor/plugins/rspec/spec/spec/translator_spec.rb +0 -265
  1364. data/vendor/plugins/rspec/stories/all.rb +0 -5
  1365. data/vendor/plugins/rspec/stories/example_groups/autogenerated_docstrings +0 -45
  1366. data/vendor/plugins/rspec/stories/example_groups/example_group_with_should_methods +0 -17
  1367. data/vendor/plugins/rspec/stories/example_groups/nested_groups +0 -17
  1368. data/vendor/plugins/rspec/stories/example_groups/output +0 -25
  1369. data/vendor/plugins/rspec/stories/example_groups/stories.rb +0 -7
  1370. data/vendor/plugins/rspec/stories/helper.rb +0 -6
  1371. data/vendor/plugins/rspec/stories/interop/examples_and_tests_together +0 -30
  1372. data/vendor/plugins/rspec/stories/interop/stories.rb +0 -7
  1373. data/vendor/plugins/rspec/stories/interop/test_case_with_should_methods +0 -17
  1374. data/vendor/plugins/rspec/stories/mock_framework_integration/stories.rb +0 -7
  1375. data/vendor/plugins/rspec/stories/mock_framework_integration/use_flexmock.story +0 -9
  1376. data/vendor/plugins/rspec/stories/pending_stories/README +0 -3
  1377. data/vendor/plugins/rspec/stories/resources/helpers/story_helper.rb +0 -16
  1378. data/vendor/plugins/rspec/stories/resources/spec/example_group_with_should_methods.rb +0 -12
  1379. data/vendor/plugins/rspec/stories/resources/spec/simple_spec.rb +0 -8
  1380. data/vendor/plugins/rspec/stories/resources/spec/spec_with_flexmock.rb +0 -18
  1381. data/vendor/plugins/rspec/stories/resources/steps/running_rspec.rb +0 -50
  1382. data/vendor/plugins/rspec/stories/resources/stories/failing_story.rb +0 -15
  1383. data/vendor/plugins/rspec/stories/resources/test/spec_and_test_together.rb +0 -57
  1384. data/vendor/plugins/rspec/stories/resources/test/test_case_with_should_methods.rb +0 -30
  1385. data/vendor/plugins/rspec/stories/stories/multiline_steps.story +0 -23
  1386. data/vendor/plugins/rspec/stories/stories/steps/multiline_steps.rb +0 -13
  1387. data/vendor/plugins/rspec/stories/stories/stories.rb +0 -6
@@ -0,0 +1,1088 @@
1
+ // Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
2
+ // Contributors:
3
+ // Justin Palmer (http://encytemedia.com/)
4
+ // Mark Pilgrim (http://diveintomark.org/)
5
+ // Martin Bialasinki
6
+ //
7
+ // script.aculo.us is freely distributable under the terms of an MIT-style license.
8
+ // For details, see the script.aculo.us web site: http://script.aculo.us/
9
+
10
+ // converts rgb() and #xxx to #xxxxxx format,
11
+ // returns self (or first argument) if not convertable
12
+ String.prototype.parseColor = function() {
13
+ var color = '#';
14
+ if(this.slice(0,4) == 'rgb(') {
15
+ var cols = this.slice(4,this.length-1).split(',');
16
+ var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3);
17
+ } else {
18
+ if(this.slice(0,1) == '#') {
19
+ if(this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase();
20
+ if(this.length==7) color = this.toLowerCase();
21
+ }
22
+ }
23
+ return(color.length==7 ? color : (arguments[0] || this));
24
+ }
25
+
26
+ /*--------------------------------------------------------------------------*/
27
+
28
+ Element.collectTextNodes = function(element) {
29
+ return $A($(element).childNodes).collect( function(node) {
30
+ return (node.nodeType==3 ? node.nodeValue :
31
+ (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));
32
+ }).flatten().join('');
33
+ }
34
+
35
+ Element.collectTextNodesIgnoreClass = function(element, className) {
36
+ return $A($(element).childNodes).collect( function(node) {
37
+ return (node.nodeType==3 ? node.nodeValue :
38
+ ((node.hasChildNodes() && !Element.hasClassName(node,className)) ?
39
+ Element.collectTextNodesIgnoreClass(node, className) : ''));
40
+ }).flatten().join('');
41
+ }
42
+
43
+ Element.setContentZoom = function(element, percent) {
44
+ element = $(element);
45
+ element.setStyle({fontSize: (percent/100) + 'em'});
46
+ if(navigator.appVersion.indexOf('AppleWebKit')>0) window.scrollBy(0,0);
47
+ return element;
48
+ }
49
+
50
+ Element.getOpacity = function(element){
51
+ element = $(element);
52
+ var opacity;
53
+ if (opacity = element.getStyle('opacity'))
54
+ return parseFloat(opacity);
55
+ if (opacity = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
56
+ if(opacity[1]) return parseFloat(opacity[1]) / 100;
57
+ return 1.0;
58
+ }
59
+
60
+ Element.setOpacity = function(element, value){
61
+ element= $(element);
62
+ if (value == 1){
63
+ element.setStyle({ opacity:
64
+ (/Gecko/.test(navigator.userAgent) && !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ?
65
+ 0.999999 : 1.0 });
66
+ if(/MSIE/.test(navigator.userAgent) && !window.opera)
67
+ element.setStyle({filter: Element.getStyle(element,'filter').replace(/alpha\([^\)]*\)/gi,'')});
68
+ } else {
69
+ if(value < 0.00001) value = 0;
70
+ element.setStyle({opacity: value});
71
+ if(/MSIE/.test(navigator.userAgent) && !window.opera)
72
+ element.setStyle(
73
+ { filter: element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'') +
74
+ 'alpha(opacity='+value*100+')' });
75
+ }
76
+ return element;
77
+ }
78
+
79
+ Element.getInlineOpacity = function(element){
80
+ return $(element).style.opacity || '';
81
+ }
82
+
83
+ Element.forceRerendering = function(element) {
84
+ try {
85
+ element = $(element);
86
+ var n = document.createTextNode(' ');
87
+ element.appendChild(n);
88
+ element.removeChild(n);
89
+ } catch(e) { }
90
+ };
91
+
92
+ /*--------------------------------------------------------------------------*/
93
+
94
+ Array.prototype.call = function() {
95
+ var args = arguments;
96
+ this.each(function(f){ f.apply(this, args) });
97
+ }
98
+
99
+ /*--------------------------------------------------------------------------*/
100
+
101
+ var Effect = {
102
+ _elementDoesNotExistError: {
103
+ name: 'ElementDoesNotExistError',
104
+ message: 'The specified DOM element does not exist, but is required for this effect to operate'
105
+ },
106
+ tagifyText: function(element) {
107
+ if(typeof Builder == 'undefined')
108
+ throw("Effect.tagifyText requires including script.aculo.us' builder.js library");
109
+
110
+ var tagifyStyle = 'position:relative';
111
+ if(/MSIE/.test(navigator.userAgent) && !window.opera) tagifyStyle += ';zoom:1';
112
+
113
+ element = $(element);
114
+ $A(element.childNodes).each( function(child) {
115
+ if(child.nodeType==3) {
116
+ child.nodeValue.toArray().each( function(character) {
117
+ element.insertBefore(
118
+ Builder.node('span',{style: tagifyStyle},
119
+ character == ' ' ? String.fromCharCode(160) : character),
120
+ child);
121
+ });
122
+ Element.remove(child);
123
+ }
124
+ });
125
+ },
126
+ multiple: function(element, effect) {
127
+ var elements;
128
+ if(((typeof element == 'object') ||
129
+ (typeof element == 'function')) &&
130
+ (element.length))
131
+ elements = element;
132
+ else
133
+ elements = $(element).childNodes;
134
+
135
+ var options = Object.extend({
136
+ speed: 0.1,
137
+ delay: 0.0
138
+ }, arguments[2] || {});
139
+ var masterDelay = options.delay;
140
+
141
+ $A(elements).each( function(element, index) {
142
+ new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay }));
143
+ });
144
+ },
145
+ PAIRS: {
146
+ 'slide': ['SlideDown','SlideUp'],
147
+ 'blind': ['BlindDown','BlindUp'],
148
+ 'appear': ['Appear','Fade']
149
+ },
150
+ toggle: function(element, effect) {
151
+ element = $(element);
152
+ effect = (effect || 'appear').toLowerCase();
153
+ var options = Object.extend({
154
+ queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
155
+ }, arguments[2] || {});
156
+ Effect[element.visible() ?
157
+ Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, options);
158
+ }
159
+ };
160
+
161
+ var Effect2 = Effect; // deprecated
162
+
163
+ /* ------------- transitions ------------- */
164
+
165
+ Effect.Transitions = {
166
+ linear: Prototype.K,
167
+ sinoidal: function(pos) {
168
+ return (-Math.cos(pos*Math.PI)/2) + 0.5;
169
+ },
170
+ reverse: function(pos) {
171
+ return 1-pos;
172
+ },
173
+ flicker: function(pos) {
174
+ return ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;
175
+ },
176
+ wobble: function(pos) {
177
+ return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;
178
+ },
179
+ pulse: function(pos, pulses) {
180
+ pulses = pulses || 5;
181
+ return (
182
+ Math.round((pos % (1/pulses)) * pulses) == 0 ?
183
+ ((pos * pulses * 2) - Math.floor(pos * pulses * 2)) :
184
+ 1 - ((pos * pulses * 2) - Math.floor(pos * pulses * 2))
185
+ );
186
+ },
187
+ none: function(pos) {
188
+ return 0;
189
+ },
190
+ full: function(pos) {
191
+ return 1;
192
+ }
193
+ };
194
+
195
+ /* ------------- core effects ------------- */
196
+
197
+ Effect.ScopedQueue = Class.create();
198
+ Object.extend(Object.extend(Effect.ScopedQueue.prototype, Enumerable), {
199
+ initialize: function() {
200
+ this.effects = [];
201
+ this.interval = null;
202
+ },
203
+ _each: function(iterator) {
204
+ this.effects._each(iterator);
205
+ },
206
+ add: function(effect) {
207
+ var timestamp = new Date().getTime();
208
+
209
+ var position = (typeof effect.options.queue == 'string') ?
210
+ effect.options.queue : effect.options.queue.position;
211
+
212
+ switch(position) {
213
+ case 'front':
214
+ // move unstarted effects after this effect
215
+ this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) {
216
+ e.startOn += effect.finishOn;
217
+ e.finishOn += effect.finishOn;
218
+ });
219
+ break;
220
+ case 'with-last':
221
+ timestamp = this.effects.pluck('startOn').max() || timestamp;
222
+ break;
223
+ case 'end':
224
+ // start effect after last queued effect has finished
225
+ timestamp = this.effects.pluck('finishOn').max() || timestamp;
226
+ break;
227
+ }
228
+
229
+ effect.startOn += timestamp;
230
+ effect.finishOn += timestamp;
231
+
232
+ if(!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit))
233
+ this.effects.push(effect);
234
+
235
+ if(!this.interval)
236
+ this.interval = setInterval(this.loop.bind(this), 40);
237
+ },
238
+ remove: function(effect) {
239
+ this.effects = this.effects.reject(function(e) { return e==effect });
240
+ if(this.effects.length == 0) {
241
+ clearInterval(this.interval);
242
+ this.interval = null;
243
+ }
244
+ },
245
+ loop: function() {
246
+ var timePos = new Date().getTime();
247
+ this.effects.invoke('loop', timePos);
248
+ }
249
+ });
250
+
251
+ Effect.Queues = {
252
+ instances: $H(),
253
+ get: function(queueName) {
254
+ if(typeof queueName != 'string') return queueName;
255
+
256
+ if(!this.instances[queueName])
257
+ this.instances[queueName] = new Effect.ScopedQueue();
258
+
259
+ return this.instances[queueName];
260
+ }
261
+ }
262
+ Effect.Queue = Effect.Queues.get('global');
263
+
264
+ Effect.DefaultOptions = {
265
+ transition: Effect.Transitions.sinoidal,
266
+ duration: 1.0, // seconds
267
+ fps: 25.0, // max. 25fps due to Effect.Queue implementation
268
+ sync: false, // true for combining
269
+ from: 0.0,
270
+ to: 1.0,
271
+ delay: 0.0,
272
+ queue: 'parallel'
273
+ }
274
+
275
+ Effect.Base = function() {};
276
+ Effect.Base.prototype = {
277
+ position: null,
278
+ start: function(options) {
279
+ this.options = Object.extend(Object.extend({},Effect.DefaultOptions), options || {});
280
+ this.currentFrame = 0;
281
+ this.state = 'idle';
282
+ this.startOn = this.options.delay*1000;
283
+ this.finishOn = this.startOn + (this.options.duration*1000);
284
+ this.event('beforeStart');
285
+ if(!this.options.sync)
286
+ Effect.Queues.get(typeof this.options.queue == 'string' ?
287
+ 'global' : this.options.queue.scope).add(this);
288
+ },
289
+ loop: function(timePos) {
290
+ if(timePos >= this.startOn) {
291
+ if(timePos >= this.finishOn) {
292
+ this.render(1.0);
293
+ this.cancel();
294
+ this.event('beforeFinish');
295
+ if(this.finish) this.finish();
296
+ this.event('afterFinish');
297
+ return;
298
+ }
299
+ var pos = (timePos - this.startOn) / (this.finishOn - this.startOn);
300
+ var frame = Math.round(pos * this.options.fps * this.options.duration);
301
+ if(frame > this.currentFrame) {
302
+ this.render(pos);
303
+ this.currentFrame = frame;
304
+ }
305
+ }
306
+ },
307
+ render: function(pos) {
308
+ if(this.state == 'idle') {
309
+ this.state = 'running';
310
+ this.event('beforeSetup');
311
+ if(this.setup) this.setup();
312
+ this.event('afterSetup');
313
+ }
314
+ if(this.state == 'running') {
315
+ if(this.options.transition) pos = this.options.transition(pos);
316
+ pos *= (this.options.to-this.options.from);
317
+ pos += this.options.from;
318
+ this.position = pos;
319
+ this.event('beforeUpdate');
320
+ if(this.update) this.update(pos);
321
+ this.event('afterUpdate');
322
+ }
323
+ },
324
+ cancel: function() {
325
+ if(!this.options.sync)
326
+ Effect.Queues.get(typeof this.options.queue == 'string' ?
327
+ 'global' : this.options.queue.scope).remove(this);
328
+ this.state = 'finished';
329
+ },
330
+ event: function(eventName) {
331
+ if(this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this);
332
+ if(this.options[eventName]) this.options[eventName](this);
333
+ },
334
+ inspect: function() {
335
+ return '#<Effect:' + $H(this).inspect() + ',options:' + $H(this.options).inspect() + '>';
336
+ }
337
+ }
338
+
339
+ Effect.Parallel = Class.create();
340
+ Object.extend(Object.extend(Effect.Parallel.prototype, Effect.Base.prototype), {
341
+ initialize: function(effects) {
342
+ this.effects = effects || [];
343
+ this.start(arguments[1]);
344
+ },
345
+ update: function(position) {
346
+ this.effects.invoke('render', position);
347
+ },
348
+ finish: function(position) {
349
+ this.effects.each( function(effect) {
350
+ effect.render(1.0);
351
+ effect.cancel();
352
+ effect.event('beforeFinish');
353
+ if(effect.finish) effect.finish(position);
354
+ effect.event('afterFinish');
355
+ });
356
+ }
357
+ });
358
+
359
+ Effect.Event = Class.create();
360
+ Object.extend(Object.extend(Effect.Event.prototype, Effect.Base.prototype), {
361
+ initialize: function() {
362
+ var options = Object.extend({
363
+ duration: 0
364
+ }, arguments[0] || {});
365
+ this.start(options);
366
+ },
367
+ update: Prototype.emptyFunction
368
+ });
369
+
370
+ Effect.Opacity = Class.create();
371
+ Object.extend(Object.extend(Effect.Opacity.prototype, Effect.Base.prototype), {
372
+ initialize: function(element) {
373
+ this.element = $(element);
374
+ if(!this.element) throw(Effect._elementDoesNotExistError);
375
+ // make this work on IE on elements without 'layout'
376
+ if(/MSIE/.test(navigator.userAgent) && !window.opera && (!this.element.currentStyle.hasLayout))
377
+ this.element.setStyle({zoom: 1});
378
+ var options = Object.extend({
379
+ from: this.element.getOpacity() || 0.0,
380
+ to: 1.0
381
+ }, arguments[1] || {});
382
+ this.start(options);
383
+ },
384
+ update: function(position) {
385
+ this.element.setOpacity(position);
386
+ }
387
+ });
388
+
389
+ Effect.Move = Class.create();
390
+ Object.extend(Object.extend(Effect.Move.prototype, Effect.Base.prototype), {
391
+ initialize: function(element) {
392
+ this.element = $(element);
393
+ if(!this.element) throw(Effect._elementDoesNotExistError);
394
+ var options = Object.extend({
395
+ x: 0,
396
+ y: 0,
397
+ mode: 'relative'
398
+ }, arguments[1] || {});
399
+ this.start(options);
400
+ },
401
+ setup: function() {
402
+ // Bug in Opera: Opera returns the "real" position of a static element or
403
+ // relative element that does not have top/left explicitly set.
404
+ // ==> Always set top and left for position relative elements in your stylesheets
405
+ // (to 0 if you do not need them)
406
+ this.element.makePositioned();
407
+ this.originalLeft = parseFloat(this.element.getStyle('left') || '0');
408
+ this.originalTop = parseFloat(this.element.getStyle('top') || '0');
409
+ if(this.options.mode == 'absolute') {
410
+ // absolute movement, so we need to calc deltaX and deltaY
411
+ this.options.x = this.options.x - this.originalLeft;
412
+ this.options.y = this.options.y - this.originalTop;
413
+ }
414
+ },
415
+ update: function(position) {
416
+ this.element.setStyle({
417
+ left: Math.round(this.options.x * position + this.originalLeft) + 'px',
418
+ top: Math.round(this.options.y * position + this.originalTop) + 'px'
419
+ });
420
+ }
421
+ });
422
+
423
+ // for backwards compatibility
424
+ Effect.MoveBy = function(element, toTop, toLeft) {
425
+ return new Effect.Move(element,
426
+ Object.extend({ x: toLeft, y: toTop }, arguments[3] || {}));
427
+ };
428
+
429
+ Effect.Scale = Class.create();
430
+ Object.extend(Object.extend(Effect.Scale.prototype, Effect.Base.prototype), {
431
+ initialize: function(element, percent) {
432
+ this.element = $(element);
433
+ if(!this.element) throw(Effect._elementDoesNotExistError);
434
+ var options = Object.extend({
435
+ scaleX: true,
436
+ scaleY: true,
437
+ scaleContent: true,
438
+ scaleFromCenter: false,
439
+ scaleMode: 'box', // 'box' or 'contents' or {} with provided values
440
+ scaleFrom: 100.0,
441
+ scaleTo: percent
442
+ }, arguments[2] || {});
443
+ this.start(options);
444
+ },
445
+ setup: function() {
446
+ this.restoreAfterFinish = this.options.restoreAfterFinish || false;
447
+ this.elementPositioning = this.element.getStyle('position');
448
+
449
+ this.originalStyle = {};
450
+ ['top','left','width','height','fontSize'].each( function(k) {
451
+ this.originalStyle[k] = this.element.style[k];
452
+ }.bind(this));
453
+
454
+ this.originalTop = this.element.offsetTop;
455
+ this.originalLeft = this.element.offsetLeft;
456
+
457
+ var fontSize = this.element.getStyle('font-size') || '100%';
458
+ ['em','px','%','pt'].each( function(fontSizeType) {
459
+ if(fontSize.indexOf(fontSizeType)>0) {
460
+ this.fontSize = parseFloat(fontSize);
461
+ this.fontSizeType = fontSizeType;
462
+ }
463
+ }.bind(this));
464
+
465
+ this.factor = (this.options.scaleTo - this.options.scaleFrom)/100;
466
+
467
+ this.dims = null;
468
+ if(this.options.scaleMode=='box')
469
+ this.dims = [this.element.offsetHeight, this.element.offsetWidth];
470
+ if(/^content/.test(this.options.scaleMode))
471
+ this.dims = [this.element.scrollHeight, this.element.scrollWidth];
472
+ if(!this.dims)
473
+ this.dims = [this.options.scaleMode.originalHeight,
474
+ this.options.scaleMode.originalWidth];
475
+ },
476
+ update: function(position) {
477
+ var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position);
478
+ if(this.options.scaleContent && this.fontSize)
479
+ this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType });
480
+ this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale);
481
+ },
482
+ finish: function(position) {
483
+ if(this.restoreAfterFinish) this.element.setStyle(this.originalStyle);
484
+ },
485
+ setDimensions: function(height, width) {
486
+ var d = {};
487
+ if(this.options.scaleX) d.width = Math.round(width) + 'px';
488
+ if(this.options.scaleY) d.height = Math.round(height) + 'px';
489
+ if(this.options.scaleFromCenter) {
490
+ var topd = (height - this.dims[0])/2;
491
+ var leftd = (width - this.dims[1])/2;
492
+ if(this.elementPositioning == 'absolute') {
493
+ if(this.options.scaleY) d.top = this.originalTop-topd + 'px';
494
+ if(this.options.scaleX) d.left = this.originalLeft-leftd + 'px';
495
+ } else {
496
+ if(this.options.scaleY) d.top = -topd + 'px';
497
+ if(this.options.scaleX) d.left = -leftd + 'px';
498
+ }
499
+ }
500
+ this.element.setStyle(d);
501
+ }
502
+ });
503
+
504
+ Effect.Highlight = Class.create();
505
+ Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
506
+ initialize: function(element) {
507
+ this.element = $(element);
508
+ if(!this.element) throw(Effect._elementDoesNotExistError);
509
+ var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
510
+ this.start(options);
511
+ },
512
+ setup: function() {
513
+ // Prevent executing on elements not in the layout flow
514
+ if(this.element.getStyle('display')=='none') { this.cancel(); return; }
515
+ // Disable background image during the effect
516
+ this.oldStyle = {
517
+ backgroundImage: this.element.getStyle('background-image') };
518
+ this.element.setStyle({backgroundImage: 'none'});
519
+ if(!this.options.endcolor)
520
+ this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff');
521
+ if(!this.options.restorecolor)
522
+ this.options.restorecolor = this.element.getStyle('background-color');
523
+ // init color calculations
524
+ this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
525
+ this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
526
+ },
527
+ update: function(position) {
528
+ this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){
529
+ return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
530
+ },
531
+ finish: function() {
532
+ this.element.setStyle(Object.extend(this.oldStyle, {
533
+ backgroundColor: this.options.restorecolor
534
+ }));
535
+ }
536
+ });
537
+
538
+ Effect.ScrollTo = Class.create();
539
+ Object.extend(Object.extend(Effect.ScrollTo.prototype, Effect.Base.prototype), {
540
+ initialize: function(element) {
541
+ this.element = $(element);
542
+ this.start(arguments[1] || {});
543
+ },
544
+ setup: function() {
545
+ Position.prepare();
546
+ var offsets = Position.cumulativeOffset(this.element);
547
+ if(this.options.offset) offsets[1] += this.options.offset;
548
+ var max = window.innerHeight ?
549
+ window.height - window.innerHeight :
550
+ document.body.scrollHeight -
551
+ (document.documentElement.clientHeight ?
552
+ document.documentElement.clientHeight : document.body.clientHeight);
553
+ this.scrollStart = Position.deltaY;
554
+ this.delta = (offsets[1] > max ? max : offsets[1]) - this.scrollStart;
555
+ },
556
+ update: function(position) {
557
+ Position.prepare();
558
+ window.scrollTo(Position.deltaX,
559
+ this.scrollStart + (position*this.delta));
560
+ }
561
+ });
562
+
563
+ /* ------------- combination effects ------------- */
564
+
565
+ Effect.Fade = function(element) {
566
+ element = $(element);
567
+ var oldOpacity = element.getInlineOpacity();
568
+ var options = Object.extend({
569
+ from: element.getOpacity() || 1.0,
570
+ to: 0.0,
571
+ afterFinishInternal: function(effect) {
572
+ if(effect.options.to!=0) return;
573
+ effect.element.hide().setStyle({opacity: oldOpacity});
574
+ }}, arguments[1] || {});
575
+ return new Effect.Opacity(element,options);
576
+ }
577
+
578
+ Effect.Appear = function(element) {
579
+ element = $(element);
580
+ var options = Object.extend({
581
+ from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
582
+ to: 1.0,
583
+ // force Safari to render floated elements properly
584
+ afterFinishInternal: function(effect) {
585
+ effect.element.forceRerendering();
586
+ },
587
+ beforeSetup: function(effect) {
588
+ effect.element.setOpacity(effect.options.from).show();
589
+ }}, arguments[1] || {});
590
+ return new Effect.Opacity(element,options);
591
+ }
592
+
593
+ Effect.Puff = function(element) {
594
+ element = $(element);
595
+ var oldStyle = {
596
+ opacity: element.getInlineOpacity(),
597
+ position: element.getStyle('position'),
598
+ top: element.style.top,
599
+ left: element.style.left,
600
+ width: element.style.width,
601
+ height: element.style.height
602
+ };
603
+ return new Effect.Parallel(
604
+ [ new Effect.Scale(element, 200,
605
+ { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }),
606
+ new Effect.Opacity(element, { sync: true, to: 0.0 } ) ],
607
+ Object.extend({ duration: 1.0,
608
+ beforeSetupInternal: function(effect) {
609
+ Position.absolutize(effect.effects[0].element)
610
+ },
611
+ afterFinishInternal: function(effect) {
612
+ effect.effects[0].element.hide().setStyle(oldStyle); }
613
+ }, arguments[1] || {})
614
+ );
615
+ }
616
+
617
+ Effect.BlindUp = function(element) {
618
+ element = $(element);
619
+ element.makeClipping();
620
+ return new Effect.Scale(element, 0,
621
+ Object.extend({ scaleContent: false,
622
+ scaleX: false,
623
+ restoreAfterFinish: true,
624
+ afterFinishInternal: function(effect) {
625
+ effect.element.hide().undoClipping();
626
+ }
627
+ }, arguments[1] || {})
628
+ );
629
+ }
630
+
631
+ Effect.BlindDown = function(element) {
632
+ element = $(element);
633
+ var elementDimensions = element.getDimensions();
634
+ return new Effect.Scale(element, 100, Object.extend({
635
+ scaleContent: false,
636
+ scaleX: false,
637
+ scaleFrom: 0,
638
+ scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
639
+ restoreAfterFinish: true,
640
+ afterSetup: function(effect) {
641
+ effect.element.makeClipping().setStyle({height: '0px'}).show();
642
+ },
643
+ afterFinishInternal: function(effect) {
644
+ effect.element.undoClipping();
645
+ }
646
+ }, arguments[1] || {}));
647
+ }
648
+
649
+ Effect.SwitchOff = function(element) {
650
+ element = $(element);
651
+ var oldOpacity = element.getInlineOpacity();
652
+ return new Effect.Appear(element, Object.extend({
653
+ duration: 0.4,
654
+ from: 0,
655
+ transition: Effect.Transitions.flicker,
656
+ afterFinishInternal: function(effect) {
657
+ new Effect.Scale(effect.element, 1, {
658
+ duration: 0.3, scaleFromCenter: true,
659
+ scaleX: false, scaleContent: false, restoreAfterFinish: true,
660
+ beforeSetup: function(effect) {
661
+ effect.element.makePositioned().makeClipping();
662
+ },
663
+ afterFinishInternal: function(effect) {
664
+ effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity});
665
+ }
666
+ })
667
+ }
668
+ }, arguments[1] || {}));
669
+ }
670
+
671
+ Effect.DropOut = function(element) {
672
+ element = $(element);
673
+ var oldStyle = {
674
+ top: element.getStyle('top'),
675
+ left: element.getStyle('left'),
676
+ opacity: element.getInlineOpacity() };
677
+ return new Effect.Parallel(
678
+ [ new Effect.Move(element, {x: 0, y: 100, sync: true }),
679
+ new Effect.Opacity(element, { sync: true, to: 0.0 }) ],
680
+ Object.extend(
681
+ { duration: 0.5,
682
+ beforeSetup: function(effect) {
683
+ effect.effects[0].element.makePositioned();
684
+ },
685
+ afterFinishInternal: function(effect) {
686
+ effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);
687
+ }
688
+ }, arguments[1] || {}));
689
+ }
690
+
691
+ Effect.Shake = function(element) {
692
+ element = $(element);
693
+ var oldStyle = {
694
+ top: element.getStyle('top'),
695
+ left: element.getStyle('left') };
696
+ return new Effect.Move(element,
697
+ { x: 20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
698
+ new Effect.Move(effect.element,
699
+ { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
700
+ new Effect.Move(effect.element,
701
+ { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
702
+ new Effect.Move(effect.element,
703
+ { x: -40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
704
+ new Effect.Move(effect.element,
705
+ { x: 40, y: 0, duration: 0.1, afterFinishInternal: function(effect) {
706
+ new Effect.Move(effect.element,
707
+ { x: -20, y: 0, duration: 0.05, afterFinishInternal: function(effect) {
708
+ effect.element.undoPositioned().setStyle(oldStyle);
709
+ }}) }}) }}) }}) }}) }});
710
+ }
711
+
712
+ Effect.SlideDown = function(element) {
713
+ element = $(element).cleanWhitespace();
714
+ // SlideDown need to have the content of the element wrapped in a container element with fixed height!
715
+ var oldInnerBottom = element.down().getStyle('bottom');
716
+ var elementDimensions = element.getDimensions();
717
+ return new Effect.Scale(element, 100, Object.extend({
718
+ scaleContent: false,
719
+ scaleX: false,
720
+ scaleFrom: window.opera ? 0 : 1,
721
+ scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
722
+ restoreAfterFinish: true,
723
+ afterSetup: function(effect) {
724
+ effect.element.makePositioned();
725
+ effect.element.down().makePositioned();
726
+ if(window.opera) effect.element.setStyle({top: ''});
727
+ effect.element.makeClipping().setStyle({height: '0px'}).show();
728
+ },
729
+ afterUpdateInternal: function(effect) {
730
+ effect.element.down().setStyle({bottom:
731
+ (effect.dims[0] - effect.element.clientHeight) + 'px' });
732
+ },
733
+ afterFinishInternal: function(effect) {
734
+ effect.element.undoClipping().undoPositioned();
735
+ effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); }
736
+ }, arguments[1] || {})
737
+ );
738
+ }
739
+
740
+ Effect.SlideUp = function(element) {
741
+ element = $(element).cleanWhitespace();
742
+ var oldInnerBottom = element.down().getStyle('bottom');
743
+ return new Effect.Scale(element, window.opera ? 0 : 1,
744
+ Object.extend({ scaleContent: false,
745
+ scaleX: false,
746
+ scaleMode: 'box',
747
+ scaleFrom: 100,
748
+ restoreAfterFinish: true,
749
+ beforeStartInternal: function(effect) {
750
+ effect.element.makePositioned();
751
+ effect.element.down().makePositioned();
752
+ if(window.opera) effect.element.setStyle({top: ''});
753
+ effect.element.makeClipping().show();
754
+ },
755
+ afterUpdateInternal: function(effect) {
756
+ effect.element.down().setStyle({bottom:
757
+ (effect.dims[0] - effect.element.clientHeight) + 'px' });
758
+ },
759
+ afterFinishInternal: function(effect) {
760
+ effect.element.hide().undoClipping().undoPositioned().setStyle({bottom: oldInnerBottom});
761
+ effect.element.down().undoPositioned();
762
+ }
763
+ }, arguments[1] || {})
764
+ );
765
+ }
766
+
767
+ // Bug in opera makes the TD containing this element expand for a instance after finish
768
+ Effect.Squish = function(element) {
769
+ return new Effect.Scale(element, window.opera ? 1 : 0, {
770
+ restoreAfterFinish: true,
771
+ beforeSetup: function(effect) {
772
+ effect.element.makeClipping();
773
+ },
774
+ afterFinishInternal: function(effect) {
775
+ effect.element.hide().undoClipping();
776
+ }
777
+ });
778
+ }
779
+
780
+ Effect.Grow = function(element) {
781
+ element = $(element);
782
+ var options = Object.extend({
783
+ direction: 'center',
784
+ moveTransition: Effect.Transitions.sinoidal,
785
+ scaleTransition: Effect.Transitions.sinoidal,
786
+ opacityTransition: Effect.Transitions.full
787
+ }, arguments[1] || {});
788
+ var oldStyle = {
789
+ top: element.style.top,
790
+ left: element.style.left,
791
+ height: element.style.height,
792
+ width: element.style.width,
793
+ opacity: element.getInlineOpacity() };
794
+
795
+ var dims = element.getDimensions();
796
+ var initialMoveX, initialMoveY;
797
+ var moveX, moveY;
798
+
799
+ switch (options.direction) {
800
+ case 'top-left':
801
+ initialMoveX = initialMoveY = moveX = moveY = 0;
802
+ break;
803
+ case 'top-right':
804
+ initialMoveX = dims.width;
805
+ initialMoveY = moveY = 0;
806
+ moveX = -dims.width;
807
+ break;
808
+ case 'bottom-left':
809
+ initialMoveX = moveX = 0;
810
+ initialMoveY = dims.height;
811
+ moveY = -dims.height;
812
+ break;
813
+ case 'bottom-right':
814
+ initialMoveX = dims.width;
815
+ initialMoveY = dims.height;
816
+ moveX = -dims.width;
817
+ moveY = -dims.height;
818
+ break;
819
+ case 'center':
820
+ initialMoveX = dims.width / 2;
821
+ initialMoveY = dims.height / 2;
822
+ moveX = -dims.width / 2;
823
+ moveY = -dims.height / 2;
824
+ break;
825
+ }
826
+
827
+ return new Effect.Move(element, {
828
+ x: initialMoveX,
829
+ y: initialMoveY,
830
+ duration: 0.01,
831
+ beforeSetup: function(effect) {
832
+ effect.element.hide().makeClipping().makePositioned();
833
+ },
834
+ afterFinishInternal: function(effect) {
835
+ new Effect.Parallel(
836
+ [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }),
837
+ new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }),
838
+ new Effect.Scale(effect.element, 100, {
839
+ scaleMode: { originalHeight: dims.height, originalWidth: dims.width },
840
+ sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true})
841
+ ], Object.extend({
842
+ beforeSetup: function(effect) {
843
+ effect.effects[0].element.setStyle({height: '0px'}).show();
844
+ },
845
+ afterFinishInternal: function(effect) {
846
+ effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);
847
+ }
848
+ }, options)
849
+ )
850
+ }
851
+ });
852
+ }
853
+
854
+ Effect.Shrink = function(element) {
855
+ element = $(element);
856
+ var options = Object.extend({
857
+ direction: 'center',
858
+ moveTransition: Effect.Transitions.sinoidal,
859
+ scaleTransition: Effect.Transitions.sinoidal,
860
+ opacityTransition: Effect.Transitions.none
861
+ }, arguments[1] || {});
862
+ var oldStyle = {
863
+ top: element.style.top,
864
+ left: element.style.left,
865
+ height: element.style.height,
866
+ width: element.style.width,
867
+ opacity: element.getInlineOpacity() };
868
+
869
+ var dims = element.getDimensions();
870
+ var moveX, moveY;
871
+
872
+ switch (options.direction) {
873
+ case 'top-left':
874
+ moveX = moveY = 0;
875
+ break;
876
+ case 'top-right':
877
+ moveX = dims.width;
878
+ moveY = 0;
879
+ break;
880
+ case 'bottom-left':
881
+ moveX = 0;
882
+ moveY = dims.height;
883
+ break;
884
+ case 'bottom-right':
885
+ moveX = dims.width;
886
+ moveY = dims.height;
887
+ break;
888
+ case 'center':
889
+ moveX = dims.width / 2;
890
+ moveY = dims.height / 2;
891
+ break;
892
+ }
893
+
894
+ return new Effect.Parallel(
895
+ [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }),
896
+ new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}),
897
+ new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition })
898
+ ], Object.extend({
899
+ beforeStartInternal: function(effect) {
900
+ effect.effects[0].element.makePositioned().makeClipping();
901
+ },
902
+ afterFinishInternal: function(effect) {
903
+ effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); }
904
+ }, options)
905
+ );
906
+ }
907
+
908
+ Effect.Pulsate = function(element) {
909
+ element = $(element);
910
+ var options = arguments[1] || {};
911
+ var oldOpacity = element.getInlineOpacity();
912
+ var transition = options.transition || Effect.Transitions.sinoidal;
913
+ var reverser = function(pos){ return transition(1-Effect.Transitions.pulse(pos, options.pulses)) };
914
+ reverser.bind(transition);
915
+ return new Effect.Opacity(element,
916
+ Object.extend(Object.extend({ duration: 2.0, from: 0,
917
+ afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); }
918
+ }, options), {transition: reverser}));
919
+ }
920
+
921
+ Effect.Fold = function(element) {
922
+ element = $(element);
923
+ var oldStyle = {
924
+ top: element.style.top,
925
+ left: element.style.left,
926
+ width: element.style.width,
927
+ height: element.style.height };
928
+ element.makeClipping();
929
+ return new Effect.Scale(element, 5, Object.extend({
930
+ scaleContent: false,
931
+ scaleX: false,
932
+ afterFinishInternal: function(effect) {
933
+ new Effect.Scale(element, 1, {
934
+ scaleContent: false,
935
+ scaleY: false,
936
+ afterFinishInternal: function(effect) {
937
+ effect.element.hide().undoClipping().setStyle(oldStyle);
938
+ } });
939
+ }}, arguments[1] || {}));
940
+ };
941
+
942
+ Effect.Morph = Class.create();
943
+ Object.extend(Object.extend(Effect.Morph.prototype, Effect.Base.prototype), {
944
+ initialize: function(element) {
945
+ this.element = $(element);
946
+ if(!this.element) throw(Effect._elementDoesNotExistError);
947
+ var options = Object.extend({
948
+ style: ''
949
+ }, arguments[1] || {});
950
+ this.start(options);
951
+ },
952
+ setup: function(){
953
+ function parseColor(color){
954
+ if(!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff';
955
+ color = color.parseColor();
956
+ return $R(0,2).map(function(i){
957
+ return parseInt( color.slice(i*2+1,i*2+3), 16 )
958
+ });
959
+ }
960
+ this.transforms = this.options.style.parseStyle().map(function(property){
961
+ var originalValue = this.element.getStyle(property[0]);
962
+ return $H({
963
+ style: property[0],
964
+ originalValue: property[1].unit=='color' ?
965
+ parseColor(originalValue) : parseFloat(originalValue || 0),
966
+ targetValue: property[1].unit=='color' ?
967
+ parseColor(property[1].value) : property[1].value,
968
+ unit: property[1].unit
969
+ });
970
+ }.bind(this)).reject(function(transform){
971
+ return (
972
+ (transform.originalValue == transform.targetValue) ||
973
+ (
974
+ transform.unit != 'color' &&
975
+ (isNaN(transform.originalValue) || isNaN(transform.targetValue))
976
+ )
977
+ )
978
+ });
979
+ },
980
+ update: function(position) {
981
+ var style = $H(), value = null;
982
+ this.transforms.each(function(transform){
983
+ value = transform.unit=='color' ?
984
+ $R(0,2).inject('#',function(m,v,i){
985
+ return m+(Math.round(transform.originalValue[i]+
986
+ (transform.targetValue[i] - transform.originalValue[i])*position)).toColorPart() }) :
987
+ transform.originalValue + Math.round(
988
+ ((transform.targetValue - transform.originalValue) * position) * 1000)/1000 + transform.unit;
989
+ style[transform.style] = value;
990
+ });
991
+ this.element.setStyle(style);
992
+ }
993
+ });
994
+
995
+ Effect.Transform = Class.create();
996
+ Object.extend(Effect.Transform.prototype, {
997
+ initialize: function(tracks){
998
+ this.tracks = [];
999
+ this.options = arguments[1] || {};
1000
+ this.addTracks(tracks);
1001
+ },
1002
+ addTracks: function(tracks){
1003
+ tracks.each(function(track){
1004
+ var data = $H(track).values().first();
1005
+ this.tracks.push($H({
1006
+ ids: $H(track).keys().first(),
1007
+ effect: Effect.Morph,
1008
+ options: { style: data }
1009
+ }));
1010
+ }.bind(this));
1011
+ return this;
1012
+ },
1013
+ play: function(){
1014
+ return new Effect.Parallel(
1015
+ this.tracks.map(function(track){
1016
+ var elements = [$(track.ids) || $$(track.ids)].flatten();
1017
+ return elements.map(function(e){ return new track.effect(e, Object.extend({ sync:true }, track.options)) });
1018
+ }).flatten(),
1019
+ this.options
1020
+ );
1021
+ }
1022
+ });
1023
+
1024
+ Element.CSS_PROPERTIES = ['azimuth', 'backgroundAttachment', 'backgroundColor', 'backgroundImage',
1025
+ 'backgroundPosition', 'backgroundRepeat', 'borderBottomColor', 'borderBottomStyle',
1026
+ 'borderBottomWidth', 'borderCollapse', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth',
1027
+ 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderSpacing', 'borderTopColor',
1028
+ 'borderTopStyle', 'borderTopWidth', 'bottom', 'captionSide', 'clear', 'clip', 'color', 'content',
1029
+ 'counterIncrement', 'counterReset', 'cssFloat', 'cueAfter', 'cueBefore', 'cursor', 'direction',
1030
+ 'display', 'elevation', 'emptyCells', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch',
1031
+ 'fontStyle', 'fontVariant', 'fontWeight', 'height', 'left', 'letterSpacing', 'lineHeight',
1032
+ 'listStyleImage', 'listStylePosition', 'listStyleType', 'marginBottom', 'marginLeft', 'marginRight',
1033
+ 'marginTop', 'markerOffset', 'marks', 'maxHeight', 'maxWidth', 'minHeight', 'minWidth', 'opacity',
1034
+ 'orphans', 'outlineColor', 'outlineOffset', 'outlineStyle', 'outlineWidth', 'overflowX', 'overflowY',
1035
+ 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', 'page', 'pageBreakAfter', 'pageBreakBefore',
1036
+ 'pageBreakInside', 'pauseAfter', 'pauseBefore', 'pitch', 'pitchRange', 'position', 'quotes',
1037
+ 'richness', 'right', 'size', 'speakHeader', 'speakNumeral', 'speakPunctuation', 'speechRate', 'stress',
1038
+ 'tableLayout', 'textAlign', 'textDecoration', 'textIndent', 'textShadow', 'textTransform', 'top',
1039
+ 'unicodeBidi', 'verticalAlign', 'visibility', 'voiceFamily', 'volume', 'whiteSpace', 'widows',
1040
+ 'width', 'wordSpacing', 'zIndex'];
1041
+
1042
+ Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;
1043
+
1044
+ String.prototype.parseStyle = function(){
1045
+ var element = Element.extend(document.createElement('div'));
1046
+ element.innerHTML = '<div style="' + this + '"></div>';
1047
+ var style = element.down().style, styleRules = $H();
1048
+
1049
+ Element.CSS_PROPERTIES.each(function(property){
1050
+ if(style[property]) styleRules[property] = style[property];
1051
+ });
1052
+
1053
+ var result = $H();
1054
+
1055
+ styleRules.each(function(pair){
1056
+ var property = pair[0], value = pair[1], unit = null;
1057
+
1058
+ if(value.parseColor('#zzzzzz') != '#zzzzzz') {
1059
+ value = value.parseColor();
1060
+ unit = 'color';
1061
+ } else if(Element.CSS_LENGTH.test(value))
1062
+ var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/),
1063
+ value = parseFloat(components[1]), unit = (components.length == 3) ? components[2] : null;
1064
+
1065
+ result[property.underscore().dasherize()] = $H({ value:value, unit:unit });
1066
+ }.bind(this));
1067
+
1068
+ return result;
1069
+ };
1070
+
1071
+ Element.morph = function(element, style) {
1072
+ new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || {}));
1073
+ return element;
1074
+ };
1075
+
1076
+ ['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom',
1077
+ 'collectTextNodes','collectTextNodesIgnoreClass','morph'].each(
1078
+ function(f) { Element.Methods[f] = Element[f]; }
1079
+ );
1080
+
1081
+ Element.Methods.visualEffect = function(element, effect, options) {
1082
+ s = effect.gsub(/_/, '-').camelize();
1083
+ effect_class = s.charAt(0).toUpperCase() + s.substring(1);
1084
+ new Effect[effect_class](element, options);
1085
+ return $(element);
1086
+ };
1087
+
1088
+ Element.addMethods();