spree 0.2.0 → 0.4.0

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

Potentially problematic release.


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

Files changed (3348) hide show
  1. data/CHANGELOG +22 -0
  2. data/CONTRIBUTORS +18 -1
  3. data/README.markdown +68 -9
  4. data/app/controllers/account_controller.rb +4 -18
  5. data/app/controllers/addresses_controller.rb +53 -0
  6. data/app/controllers/admin/base_controller.rb +0 -2
  7. data/app/controllers/admin/configurations_controller.rb +10 -0
  8. data/app/controllers/admin/images_controller.rb +10 -9
  9. data/app/controllers/admin/inventory_units_controller.rb +1 -25
  10. data/app/controllers/admin/mail_settings_controller.rb +14 -0
  11. data/app/controllers/admin/option_types_controller.rb +53 -61
  12. data/app/controllers/admin/orders_controller.rb +38 -250
  13. data/app/controllers/admin/product_properties_controller.rb +7 -0
  14. data/app/controllers/admin/products_controller.rb +38 -148
  15. data/app/controllers/admin/properties_controller.rb +25 -0
  16. data/app/controllers/admin/prototypes_controller.rb +49 -0
  17. data/app/controllers/admin/states_controller.rb +26 -0
  18. data/app/controllers/admin/tax_categories_controller.rb +11 -0
  19. data/app/controllers/admin/taxonomies_controller.rb +26 -0
  20. data/app/controllers/admin/taxons_controller.rb +137 -0
  21. data/app/controllers/admin/users_controller.rb +3 -0
  22. data/app/controllers/admin/variants_controller.rb +25 -0
  23. data/app/controllers/admin/zones_controller.rb +49 -0
  24. data/app/controllers/application.rb +9 -6
  25. data/app/controllers/countries_controller.rb +11 -0
  26. data/app/controllers/creditcard_payments_controller.rb +63 -0
  27. data/app/controllers/line_items_controller.rb +6 -0
  28. data/app/controllers/orders_controller.rb +70 -0
  29. data/app/controllers/products_controller.rb +33 -0
  30. data/app/controllers/spree/base_controller.rb +18 -23
  31. data/app/controllers/states_controller.rb +10 -0
  32. data/app/controllers/taxons_controller.rb +19 -0
  33. data/app/controllers/users_controller.rb +16 -7
  34. data/app/helpers/admin/base_helper.rb +7 -10
  35. data/app/helpers/admin/configurations_helper.rb +2 -0
  36. data/app/helpers/admin/mail_settings_helper.rb +2 -0
  37. data/app/helpers/admin/orders_helper.rb +18 -6
  38. data/app/helpers/admin/product_properties_helper.rb +13 -0
  39. data/app/helpers/admin/products_helper.rb +13 -1
  40. data/app/helpers/admin/properties_helper.rb +9 -0
  41. data/app/helpers/admin/prototypes_helper.rb +18 -0
  42. data/app/helpers/admin/taxonomies_helper.rb +62 -0
  43. data/app/helpers/admin/taxons_helper.rb +5 -0
  44. data/app/helpers/admin/variants_helper.rb +2 -0
  45. data/app/helpers/admin/zones_helper.rb +11 -0
  46. data/app/helpers/application_helper.rb +11 -0
  47. data/app/helpers/orders_helper.rb +14 -0
  48. data/app/helpers/payments_helper.rb +2 -0
  49. data/app/helpers/products_helper.rb +34 -0
  50. data/app/helpers/spree/base_helper.rb +10 -12
  51. data/app/helpers/store_helper.rb +0 -19
  52. data/app/helpers/tax_categories_helper.rb +2 -0
  53. data/app/helpers/taxons_helper.rb +31 -0
  54. data/app/models/address.rb +7 -2
  55. data/app/models/app_configuration.rb +27 -0
  56. data/app/models/configuration.rb +3 -0
  57. data/app/models/country.rb +1 -0
  58. data/app/models/creditcard.rb +6 -0
  59. data/app/models/creditcard_payment.rb +40 -0
  60. data/app/models/creditcard_txn.rb +6 -0
  61. data/app/models/image.rb +1 -2
  62. data/app/models/inventory_unit.rb +22 -9
  63. data/app/models/line_item.rb +21 -8
  64. data/app/models/option_type.rb +2 -2
  65. data/app/models/order.rb +105 -62
  66. data/app/models/order_filter.rb +25 -0
  67. data/app/models/order_mailer.rb +9 -4
  68. data/app/models/preference.rb +51 -0
  69. data/app/models/product.rb +63 -10
  70. data/app/models/product_property.rb +15 -0
  71. data/app/models/property.rb +18 -0
  72. data/app/models/prototype.rb +4 -0
  73. data/app/models/state.rb +3 -0
  74. data/app/models/state_event.rb +8 -0
  75. data/app/models/tax_category.rb +3 -0
  76. data/app/models/taxon.rb +5 -0
  77. data/app/models/taxonomy.rb +5 -0
  78. data/app/models/user.rb +10 -15
  79. data/app/models/variant.rb +38 -13
  80. data/app/models/variants.rb +2 -0
  81. data/app/models/zone.rb +37 -0
  82. data/app/models/zone_member.rb +4 -0
  83. data/app/presenters/payment_presenter.rb +4 -0
  84. data/app/views/account/login.html.erb +14 -0
  85. data/app/views/addresses/_form.html.erb +48 -0
  86. data/app/views/addresses/_states.html.erb +8 -0
  87. data/app/views/addresses/edit.html.erb +8 -0
  88. data/app/views/addresses/new.html.erb +8 -0
  89. data/app/views/admin/configurations/index.html.erb +42 -0
  90. data/app/views/admin/configurations/new.html.erb +13 -0
  91. data/app/views/admin/extensions/index.html.erb +22 -22
  92. data/app/views/admin/images/new.html.erb +3 -3
  93. data/app/views/admin/inventory_units/adjust.html.erb +27 -26
  94. data/app/views/admin/mail_settings/edit.html.erb +85 -0
  95. data/app/views/admin/mail_settings/show.html.erb +45 -0
  96. data/app/views/admin/option_types/_form.html.erb +37 -0
  97. data/app/views/admin/option_types/_option_value.html.erb +5 -0
  98. data/app/views/admin/option_types/available.html.erb +32 -0
  99. data/app/views/admin/option_types/edit.html.erb +8 -0
  100. data/app/views/admin/option_types/index.html.erb +38 -0
  101. data/app/views/admin/option_types/new.html.erb +8 -0
  102. data/app/views/admin/option_types/selected.html.erb +38 -0
  103. data/app/views/admin/orders/{_address.rhtml → _address.html.erb} +0 -0
  104. data/app/views/admin/orders/index.html.erb +95 -0
  105. data/app/views/admin/orders/show.html.erb +76 -0
  106. data/app/views/admin/overview/index.html.erb +3 -0
  107. data/app/views/admin/product_properties/_product_property.html.erb +22 -0
  108. data/app/views/admin/product_properties/index.html.erb +39 -0
  109. data/app/views/admin/products/_form.html.erb +58 -0
  110. data/app/views/admin/products/_images.html.erb +45 -0
  111. data/app/views/admin/products/{_option_types.rhtml → _option_types.html.erb} +0 -0
  112. data/app/views/admin/products/edit.html.erb +7 -0
  113. data/app/views/admin/products/index.html.erb +59 -0
  114. data/app/views/admin/products/new.html.erb +7 -0
  115. data/app/views/admin/products/show.html.erb +4 -0
  116. data/app/views/admin/properties/_form.html.erb +14 -0
  117. data/app/views/admin/properties/edit.html.erb +9 -0
  118. data/app/views/admin/properties/filtered.html.erb +1 -0
  119. data/app/views/admin/properties/index.html.erb +36 -0
  120. data/app/views/admin/properties/new.html.erb +9 -0
  121. data/app/views/admin/prototypes/_form.html.erb +21 -0
  122. data/app/views/admin/prototypes/available.html.erb +27 -0
  123. data/app/views/admin/prototypes/edit.html.erb +9 -0
  124. data/app/views/admin/prototypes/index.html.erb +34 -0
  125. data/app/views/admin/prototypes/new.html.erb +9 -0
  126. data/app/views/admin/prototypes/select.rjs +5 -0
  127. data/app/views/admin/reports/index.html.erb +28 -0
  128. data/app/views/admin/reports/sales_total.html.erb +28 -0
  129. data/app/views/admin/states/_form.html.erb +10 -0
  130. data/app/views/admin/states/_state_list.html.erb +25 -0
  131. data/app/views/admin/states/edit.html.erb +10 -0
  132. data/app/views/admin/states/index.html.erb +18 -0
  133. data/app/views/admin/states/new.html.erb +10 -0
  134. data/app/views/admin/tax_categories/_form.html.erb +11 -0
  135. data/app/views/admin/tax_categories/edit.html.erb +10 -0
  136. data/app/views/admin/tax_categories/index.html.erb +27 -0
  137. data/app/views/admin/tax_categories/new.html.erb +10 -0
  138. data/{foozah/README → app/views/admin/tax_categories/show.html.erb} +0 -0
  139. data/app/views/admin/taxonomies/_form.html.erb +9 -0
  140. data/app/views/admin/taxonomies/_list.html.erb +18 -0
  141. data/app/views/admin/taxonomies/_manage_products.rhtml +31 -0
  142. data/app/views/admin/taxonomies/_success.rhtml +1 -0
  143. data/app/views/admin/taxonomies/_yui_head.html.erb +31 -0
  144. data/app/views/admin/taxonomies/edit.html.erb +16 -0
  145. data/app/views/admin/taxonomies/index.html.erb +7 -0
  146. data/app/views/admin/taxonomies/new.html.erb +9 -0
  147. data/app/views/admin/taxons/_taxon_table.html.erb +28 -0
  148. data/app/views/admin/taxons/available.js.erb +36 -0
  149. data/app/views/admin/taxons/remove.html.erb +1 -0
  150. data/app/views/admin/taxons/select.html.erb +1 -0
  151. data/app/views/admin/taxons/selected.html.erb +24 -0
  152. data/app/views/admin/users/_form.html.erb +22 -0
  153. data/app/views/admin/users/edit.html.erb +9 -0
  154. data/app/views/admin/users/index.html.erb +21 -0
  155. data/app/views/admin/users/new.html.erb +11 -0
  156. data/app/views/admin/users/show.html.erb +11 -0
  157. data/app/views/admin/variants/_form.html.erb +32 -0
  158. data/app/views/admin/variants/edit.html.erb +9 -0
  159. data/app/views/admin/variants/index.html.erb +48 -0
  160. data/app/views/admin/variants/new.html.erb +8 -0
  161. data/app/views/admin/zones/_country.html.erb +15 -0
  162. data/app/views/admin/zones/_form.html.erb +68 -0
  163. data/app/views/admin/zones/_function.rjs +11 -0
  164. data/app/views/admin/zones/_state.html.erb +15 -0
  165. data/app/views/admin/zones/_zone.html.erb +15 -0
  166. data/app/views/admin/zones/edit.html.erb +10 -0
  167. data/app/views/admin/zones/index.html.erb +26 -0
  168. data/app/views/admin/zones/index.js.erb +1 -0
  169. data/app/views/admin/zones/new.html.erb +10 -0
  170. data/app/views/admin/zones/show.html.erb +4 -0
  171. data/app/views/countries/index.js.erb +1 -0
  172. data/app/views/creditcard_payments/_form_billing.html.erb +49 -0
  173. data/app/views/creditcard_payments/_form_credit_card.html.erb +30 -0
  174. data/app/views/creditcard_payments/_states.html.erb +8 -0
  175. data/app/views/creditcard_payments/cvv.html.erb +15 -0
  176. data/app/views/creditcard_payments/new.html.erb +17 -0
  177. data/app/views/layouts/admin.html.erb +67 -0
  178. data/app/views/layouts/application.html.erb +79 -0
  179. data/app/views/line_items/index.html.erb +1 -0
  180. data/app/views/order_mailer/cancel.html.erb +15 -0
  181. data/app/views/order_mailer/confirm.html.erb +18 -0
  182. data/app/views/orders/_form.html.erb +15 -0
  183. data/app/views/orders/_line_item.html.erb +20 -0
  184. data/app/views/orders/edit.html.erb +20 -0
  185. data/app/views/orders/new.html.erb +6 -0
  186. data/app/views/orders/show.html.erb +11 -0
  187. data/app/views/{store → products}/_image.html.erb +0 -0
  188. data/app/views/products/_products.html.erb +10 -0
  189. data/app/views/products/_thumbnails.html.erb +8 -0
  190. data/app/views/products/index.html.erb +11 -0
  191. data/app/views/products/show.html.erb +60 -0
  192. data/app/views/shared/_edit_resource_links.html.erb +1 -0
  193. data/app/views/shared/_footer.html.erb +5 -0
  194. data/app/views/shared/_new_resource_links.html.erb +1 -0
  195. data/app/views/shared/_order_details.html.erb +35 -0
  196. data/app/views/shared/_paginate.html.erb +34 -0
  197. data/app/views/shared/_product_sub_menu.html.erb +10 -0
  198. data/app/views/shared/_product_tabs.html.erb +29 -0
  199. data/app/views/shared/_products.html.erb +13 -0
  200. data/app/views/shared/_report_criteria.html.erb +33 -0
  201. data/app/views/shared/_show_resource_links.html.erb +3 -0
  202. data/app/views/shared/_store_menu.html.erb +5 -0
  203. data/app/views/shared/_taxonomies.html.erb +8 -0
  204. data/app/views/states/index.js.erb +1 -0
  205. data/app/views/taxons/_taxon.html.erb +5 -0
  206. data/app/views/taxons/show.html.erb +8 -0
  207. data/app/views/users/_form.html.erb +8 -6
  208. data/app/views/users/edit.html.erb +3 -3
  209. data/app/views/users/index.html.erb +16 -16
  210. data/app/views/users/new.html.erb +3 -5
  211. data/app/views/users/show.html.erb +3 -3
  212. data/bin/spree +9 -3
  213. data/config/boot.rb +62 -53
  214. data/config/database.yml +32 -10
  215. data/config/easy_role_permissions.yml +75 -0
  216. data/config/environment.rb +51 -72
  217. data/config/environments/development.rb +3 -1
  218. data/config/environments/staging.rb +13 -0
  219. data/config/environments/test.rb +4 -1
  220. data/config/initializers/mime_types.rb +8 -0
  221. data/config/initializers/spree.rb +40 -0
  222. data/config/routes.rb +39 -9
  223. data/db/migrate/20080620113300_create_taxonomies.rb +13 -0
  224. data/db/migrate/20080620113400_create_taxons.rb +16 -0
  225. data/db/migrate/20080622173128_drop_extension_meta.rb +13 -0
  226. data/db/migrate/20080622194800_create_prototypes.rb +13 -0
  227. data/db/migrate/20080622194830_create_properties.rb +13 -0
  228. data/db/migrate/20080622195000_create_properties_prototypes.rb +12 -0
  229. data/db/migrate/20080622195100_create_property_values.rb +14 -0
  230. data/db/migrate/20080630003326_create_zones.rb +13 -0
  231. data/db/migrate/20080630150630_create_preferences.rb +19 -0
  232. data/db/migrate/20080630152702_add_iso_country_information.rb +248 -0
  233. data/db/migrate/20080630154400_create_countries_zones.rb +12 -0
  234. data/db/migrate/20080630215310_create_zone_members.rb +13 -0
  235. data/db/migrate/20080703184654_update_country_rename_name.rb +20 -0
  236. data/db/migrate/20080704181428_create_app_configurations.rb +12 -0
  237. data/db/migrate/20080704190355_add_permalink_and_published_to_products.rb +15 -0
  238. data/db/migrate/20080706233224_create_eu_vat_zone.rb +19 -0
  239. data/db/migrate/20080707002329_create_tax_categories.rb +21 -0
  240. data/db/migrate/20080708170103_remove_login.rb +9 -0
  241. data/db/migrate/20080715014028_add_optimistic_locking_to_cart.rb +13 -0
  242. data/db/migrate/20080716155613_products_taxons.rb +12 -0
  243. data/db/migrate/20080720190623_rename_txn_table.rb +9 -0
  244. data/db/migrate/20080729213052_drop_categories.rb +8 -0
  245. data/db/migrate/20080803010846_remove_prototype_presentation.rb +13 -0
  246. data/db/migrate/20080807214829_create_product_property.rb +15 -0
  247. data/db/migrate/20080815173251_remove_cart.rb +10 -0
  248. data/db/migrate/20080830173354_add_checkout_state_to_order.rb +13 -0
  249. data/db/migrate/20080901002711_address_refactor.rb +14 -0
  250. data/db/migrate/20080902001408_create_creditcard_payments.rb +17 -0
  251. data/db/migrate/20080904150723_refactor_order_state.rb +33 -0
  252. data/db/migrate/20080904234457_create_state_events.rb +15 -0
  253. data/db/migrate/20080905012833_add_inventory_state.rb +13 -0
  254. data/db/migrate/20080906174748_change_inventory_state_type.rb +8 -0
  255. data/db/migrate/20080909100504_add_state_name_to_address.rb +9 -0
  256. data/db/migrate/20080915211650_remove_user_address.rb +10 -0
  257. data/db/migrate/20080918083321_remove_presentation_from_taxonomy.rb +11 -0
  258. data/db/migrate/20080918140438_rename_app_configuration.rb +16 -0
  259. data/db/sample/addresses.yml +8 -7
  260. data/db/sample/creditcard_payments.yml +10 -0
  261. data/db/sample/creditcard_txns.yml +7 -0
  262. data/db/sample/images.yml +51 -1
  263. data/db/sample/inventory_units.yml +19 -24
  264. data/db/sample/orders.yml +2 -4
  265. data/db/sample/product_properties.yml +136 -0
  266. data/db/sample/products.yml +26 -7
  267. data/db/sample/properties.yml +39 -0
  268. data/db/sample/prototypes.yml +9 -0
  269. data/db/sample/states.yml +52 -2
  270. data/db/sample/tax_categories.yml +6 -0
  271. data/db/sample/taxonomies.yml +4 -0
  272. data/db/sample/taxons.yml +61 -0
  273. data/db/sample/users.yml +0 -1
  274. data/db/sample/variants.yml +9 -1
  275. data/lang/ui/de-DE.yml +207 -0
  276. data/lang/ui/en-US.yml +225 -0
  277. data/lang/ui/es-ES.yml +202 -0
  278. data/lang/ui/it-IT.yml +194 -0
  279. data/lang/ui/pl-PL.yml +213 -0
  280. data/lang/ui/pt-BR.yml +219 -0
  281. data/lib/authenticated_system.rb +3 -3
  282. data/lib/authenticated_test_helper.rb +1 -1
  283. data/lib/commands/extension.rb +250 -0
  284. data/lib/easy_role_requirement_system.rb +1 -1
  285. data/lib/gateway_error.rb +1 -0
  286. data/lib/generators/extension/extension_generator.rb +11 -10
  287. data/lib/generators/extension/templates/{README → README.markdown} +0 -0
  288. data/lib/generators/extension/templates/Rakefile +0 -0
  289. data/lib/generators/extension/templates/tasks.rake +1 -12
  290. data/lib/generators/extension_controller/extension_controller_generator.rb +19 -19
  291. data/lib/generators/extension_controller/templates/{view.rhtml → view.html.erb} +0 -0
  292. data/lib/generators/instance/instance_generator.rb +24 -8
  293. data/lib/plugins/extension_patches/init.rb +2 -1
  294. data/lib/plugins/extension_patches/lib/asset_copy.rb +63 -0
  295. data/lib/plugins/extension_patches/lib/routing_extension.rb +1 -1
  296. data/lib/preference_access.rb +27 -0
  297. data/lib/profiler/add_to_cart_profiler.rb +2 -0
  298. data/lib/profiler/product_details_profiler.rb +2 -0
  299. data/lib/role_requirement_system.rb +10 -8
  300. data/lib/spree.rb +1 -1
  301. data/lib/spree/config.rb +20 -0
  302. data/lib/spree/gateway_error.rb +3 -0
  303. data/lib/spree/initializer.rb +19 -16
  304. data/lib/spree/preferences/mail_settings.rb +57 -0
  305. data/lib/spree/preferences/model_hooks.rb +290 -0
  306. data/lib/spree/preferences/preference_definition.rb +53 -0
  307. data/lib/spree/setup.rb +9 -29
  308. data/lib/spree/support/core_extensions/array.rb +23 -0
  309. data/lib/spree/support/core_extensions/string.rb +18 -0
  310. data/lib/tasks/database.rake +13 -22
  311. data/lib/tasks/extensions.rake +65 -59
  312. data/lib/tasks/framework.rake +34 -31
  313. data/lib/tasks/release.rake +4 -1
  314. data/lib/tasks/sample/products/0000/1004/apache_baseball.png +0 -0
  315. data/lib/tasks/sample/products/0000/1004/apache_baseball_mini.png +0 -0
  316. data/lib/tasks/sample/products/0000/1004/apache_baseball_product.png +0 -0
  317. data/lib/tasks/sample/products/0000/1004/apache_baseball_small.png +0 -0
  318. data/lib/tasks/sample/products/0000/1008/ruby_baseball.png +0 -0
  319. data/lib/tasks/sample/products/0000/1008/ruby_baseball_mini.png +0 -0
  320. data/lib/tasks/sample/products/0000/1008/ruby_baseball_product.png +0 -0
  321. data/lib/tasks/sample/products/0000/1008/ruby_baseball_small.png +0 -0
  322. data/public/{.htaccess → .htaccess.example} +0 -0
  323. data/public/images/breadcrumb.gif +0 -0
  324. data/public/images/flags/ad.png +0 -0
  325. data/public/images/flags/ae.png +0 -0
  326. data/public/images/flags/af.png +0 -0
  327. data/public/images/flags/ag.png +0 -0
  328. data/public/images/flags/ai.png +0 -0
  329. data/public/images/flags/al.png +0 -0
  330. data/public/images/flags/am.png +0 -0
  331. data/public/images/flags/an.png +0 -0
  332. data/public/images/flags/ao.png +0 -0
  333. data/public/images/flags/ar.png +0 -0
  334. data/public/images/flags/as.png +0 -0
  335. data/public/images/flags/at.png +0 -0
  336. data/public/images/flags/au.png +0 -0
  337. data/public/images/flags/aw.png +0 -0
  338. data/public/images/flags/ax.png +0 -0
  339. data/public/images/flags/az.png +0 -0
  340. data/public/images/flags/ba.png +0 -0
  341. data/public/images/flags/bb.png +0 -0
  342. data/public/images/flags/bd.png +0 -0
  343. data/public/images/flags/be.png +0 -0
  344. data/public/images/flags/bf.png +0 -0
  345. data/public/images/flags/bg.png +0 -0
  346. data/public/images/flags/bh.png +0 -0
  347. data/public/images/flags/bi.png +0 -0
  348. data/public/images/flags/bj.png +0 -0
  349. data/public/images/flags/bm.png +0 -0
  350. data/public/images/flags/bn.png +0 -0
  351. data/public/images/flags/bo.png +0 -0
  352. data/public/images/flags/br.png +0 -0
  353. data/public/images/flags/bs.png +0 -0
  354. data/public/images/flags/bt.png +0 -0
  355. data/public/images/flags/bv.png +0 -0
  356. data/public/images/flags/bw.png +0 -0
  357. data/public/images/flags/by.png +0 -0
  358. data/public/images/flags/bz.png +0 -0
  359. data/public/images/flags/ca.png +0 -0
  360. data/public/images/flags/catalonia.png +0 -0
  361. data/public/images/flags/cc.png +0 -0
  362. data/public/images/flags/cd.png +0 -0
  363. data/public/images/flags/cf.png +0 -0
  364. data/public/images/flags/cg.png +0 -0
  365. data/public/images/flags/ch.png +0 -0
  366. data/public/images/flags/ci.png +0 -0
  367. data/public/images/flags/ck.png +0 -0
  368. data/public/images/flags/cl.png +0 -0
  369. data/public/images/flags/cm.png +0 -0
  370. data/public/images/flags/cn.png +0 -0
  371. data/public/images/flags/co.png +0 -0
  372. data/public/images/flags/cr.png +0 -0
  373. data/public/images/flags/cs.png +0 -0
  374. data/public/images/flags/cu.png +0 -0
  375. data/public/images/flags/cv.png +0 -0
  376. data/public/images/flags/cx.png +0 -0
  377. data/public/images/flags/cy.png +0 -0
  378. data/public/images/flags/cz.png +0 -0
  379. data/public/images/flags/de.png +0 -0
  380. data/public/images/flags/dj.png +0 -0
  381. data/public/images/flags/dk.png +0 -0
  382. data/public/images/flags/dm.png +0 -0
  383. data/public/images/flags/do.png +0 -0
  384. data/public/images/flags/dz.png +0 -0
  385. data/public/images/flags/ec.png +0 -0
  386. data/public/images/flags/ee.png +0 -0
  387. data/public/images/flags/eg.png +0 -0
  388. data/public/images/flags/eh.png +0 -0
  389. data/public/images/flags/england.png +0 -0
  390. data/public/images/flags/er.png +0 -0
  391. data/public/images/flags/es.png +0 -0
  392. data/public/images/flags/et.png +0 -0
  393. data/public/images/flags/europeanunion.png +0 -0
  394. data/public/images/flags/fam.png +0 -0
  395. data/public/images/flags/fi.png +0 -0
  396. data/public/images/flags/fj.png +0 -0
  397. data/public/images/flags/fk.png +0 -0
  398. data/public/images/flags/fm.png +0 -0
  399. data/public/images/flags/fo.png +0 -0
  400. data/public/images/flags/fr.png +0 -0
  401. data/public/images/flags/ga.png +0 -0
  402. data/public/images/flags/gb.png +0 -0
  403. data/public/images/flags/gd.png +0 -0
  404. data/public/images/flags/ge.png +0 -0
  405. data/public/images/flags/gf.png +0 -0
  406. data/public/images/flags/gh.png +0 -0
  407. data/public/images/flags/gi.png +0 -0
  408. data/public/images/flags/gl.png +0 -0
  409. data/public/images/flags/gm.png +0 -0
  410. data/public/images/flags/gn.png +0 -0
  411. data/public/images/flags/gp.png +0 -0
  412. data/public/images/flags/gq.png +0 -0
  413. data/public/images/flags/gr.png +0 -0
  414. data/public/images/flags/gs.png +0 -0
  415. data/public/images/flags/gt.png +0 -0
  416. data/public/images/flags/gu.png +0 -0
  417. data/public/images/flags/gw.png +0 -0
  418. data/public/images/flags/gy.png +0 -0
  419. data/public/images/flags/hk.png +0 -0
  420. data/public/images/flags/hm.png +0 -0
  421. data/public/images/flags/hn.png +0 -0
  422. data/public/images/flags/hr.png +0 -0
  423. data/public/images/flags/ht.png +0 -0
  424. data/public/images/flags/hu.png +0 -0
  425. data/public/images/flags/id.png +0 -0
  426. data/public/images/flags/ie.png +0 -0
  427. data/public/images/flags/il.png +0 -0
  428. data/public/images/flags/in.png +0 -0
  429. data/public/images/flags/io.png +0 -0
  430. data/public/images/flags/iq.png +0 -0
  431. data/public/images/flags/ir.png +0 -0
  432. data/public/images/flags/is.png +0 -0
  433. data/public/images/flags/it.png +0 -0
  434. data/public/images/flags/jm.png +0 -0
  435. data/public/images/flags/jo.png +0 -0
  436. data/public/images/flags/jp.png +0 -0
  437. data/public/images/flags/ke.png +0 -0
  438. data/public/images/flags/kg.png +0 -0
  439. data/public/images/flags/kh.png +0 -0
  440. data/public/images/flags/ki.png +0 -0
  441. data/public/images/flags/km.png +0 -0
  442. data/public/images/flags/kn.png +0 -0
  443. data/public/images/flags/kp.png +0 -0
  444. data/public/images/flags/kr.png +0 -0
  445. data/public/images/flags/kw.png +0 -0
  446. data/public/images/flags/ky.png +0 -0
  447. data/public/images/flags/kz.png +0 -0
  448. data/public/images/flags/la.png +0 -0
  449. data/public/images/flags/lb.png +0 -0
  450. data/public/images/flags/lc.png +0 -0
  451. data/public/images/flags/li.png +0 -0
  452. data/public/images/flags/lk.png +0 -0
  453. data/public/images/flags/lr.png +0 -0
  454. data/public/images/flags/ls.png +0 -0
  455. data/public/images/flags/lt.png +0 -0
  456. data/public/images/flags/lu.png +0 -0
  457. data/public/images/flags/lv.png +0 -0
  458. data/public/images/flags/ly.png +0 -0
  459. data/public/images/flags/ma.png +0 -0
  460. data/public/images/flags/mc.png +0 -0
  461. data/public/images/flags/md.png +0 -0
  462. data/public/images/flags/me.png +0 -0
  463. data/public/images/flags/mg.png +0 -0
  464. data/public/images/flags/mh.png +0 -0
  465. data/public/images/flags/mk.png +0 -0
  466. data/public/images/flags/ml.png +0 -0
  467. data/public/images/flags/mm.png +0 -0
  468. data/public/images/flags/mn.png +0 -0
  469. data/public/images/flags/mo.png +0 -0
  470. data/public/images/flags/mp.png +0 -0
  471. data/public/images/flags/mq.png +0 -0
  472. data/public/images/flags/mr.png +0 -0
  473. data/public/images/flags/ms.png +0 -0
  474. data/public/images/flags/mt.png +0 -0
  475. data/public/images/flags/mu.png +0 -0
  476. data/public/images/flags/mv.png +0 -0
  477. data/public/images/flags/mw.png +0 -0
  478. data/public/images/flags/mx.png +0 -0
  479. data/public/images/flags/my.png +0 -0
  480. data/public/images/flags/mz.png +0 -0
  481. data/public/images/flags/na.png +0 -0
  482. data/public/images/flags/nc.png +0 -0
  483. data/public/images/flags/ne.png +0 -0
  484. data/public/images/flags/nf.png +0 -0
  485. data/public/images/flags/ng.png +0 -0
  486. data/public/images/flags/ni.png +0 -0
  487. data/public/images/flags/nl.png +0 -0
  488. data/public/images/flags/no.png +0 -0
  489. data/public/images/flags/np.png +0 -0
  490. data/public/images/flags/nr.png +0 -0
  491. data/public/images/flags/nu.png +0 -0
  492. data/public/images/flags/nz.png +0 -0
  493. data/public/images/flags/om.png +0 -0
  494. data/public/images/flags/pa.png +0 -0
  495. data/public/images/flags/pe.png +0 -0
  496. data/public/images/flags/pf.png +0 -0
  497. data/public/images/flags/pg.png +0 -0
  498. data/public/images/flags/ph.png +0 -0
  499. data/public/images/flags/pk.png +0 -0
  500. data/public/images/flags/pl.png +0 -0
  501. data/public/images/flags/pm.png +0 -0
  502. data/public/images/flags/pn.png +0 -0
  503. data/public/images/flags/pr.png +0 -0
  504. data/public/images/flags/ps.png +0 -0
  505. data/public/images/flags/pt.png +0 -0
  506. data/public/images/flags/pw.png +0 -0
  507. data/public/images/flags/py.png +0 -0
  508. data/public/images/flags/qa.png +0 -0
  509. data/public/images/flags/re.png +0 -0
  510. data/public/images/flags/ro.png +0 -0
  511. data/public/images/flags/rs.png +0 -0
  512. data/public/images/flags/ru.png +0 -0
  513. data/public/images/flags/rw.png +0 -0
  514. data/public/images/flags/sa.png +0 -0
  515. data/public/images/flags/sb.png +0 -0
  516. data/public/images/flags/sc.png +0 -0
  517. data/public/images/flags/scotland.png +0 -0
  518. data/public/images/flags/sd.png +0 -0
  519. data/public/images/flags/se.png +0 -0
  520. data/public/images/flags/sg.png +0 -0
  521. data/public/images/flags/sh.png +0 -0
  522. data/public/images/flags/si.png +0 -0
  523. data/public/images/flags/sj.png +0 -0
  524. data/public/images/flags/sk.png +0 -0
  525. data/public/images/flags/sl.png +0 -0
  526. data/public/images/flags/sm.png +0 -0
  527. data/public/images/flags/sn.png +0 -0
  528. data/public/images/flags/so.png +0 -0
  529. data/public/images/flags/sr.png +0 -0
  530. data/public/images/flags/st.png +0 -0
  531. data/public/images/flags/sv.png +0 -0
  532. data/public/images/flags/sy.png +0 -0
  533. data/public/images/flags/sz.png +0 -0
  534. data/public/images/flags/tc.png +0 -0
  535. data/public/images/flags/td.png +0 -0
  536. data/public/images/flags/tf.png +0 -0
  537. data/public/images/flags/tg.png +0 -0
  538. data/public/images/flags/th.png +0 -0
  539. data/public/images/flags/tj.png +0 -0
  540. data/public/images/flags/tk.png +0 -0
  541. data/public/images/flags/tl.png +0 -0
  542. data/public/images/flags/tm.png +0 -0
  543. data/public/images/flags/tn.png +0 -0
  544. data/public/images/flags/to.png +0 -0
  545. data/public/images/flags/tr.png +0 -0
  546. data/public/images/flags/tt.png +0 -0
  547. data/public/images/flags/tv.png +0 -0
  548. data/public/images/flags/tw.png +0 -0
  549. data/public/images/flags/tz.png +0 -0
  550. data/public/images/flags/ua.png +0 -0
  551. data/public/images/flags/ug.png +0 -0
  552. data/public/images/flags/um.png +0 -0
  553. data/public/images/flags/us.png +0 -0
  554. data/public/images/flags/uy.png +0 -0
  555. data/public/images/flags/uz.png +0 -0
  556. data/public/images/flags/va.png +0 -0
  557. data/public/images/flags/vc.png +0 -0
  558. data/public/images/flags/ve.png +0 -0
  559. data/public/images/flags/vg.png +0 -0
  560. data/public/images/flags/vi.png +0 -0
  561. data/public/images/flags/vn.png +0 -0
  562. data/public/images/flags/vu.png +0 -0
  563. data/public/images/flags/wales.png +0 -0
  564. data/public/images/flags/wf.png +0 -0
  565. data/public/images/flags/ws.png +0 -0
  566. data/public/images/flags/ye.png +0 -0
  567. data/public/images/flags/yt.png +0 -0
  568. data/public/images/flags/za.png +0 -0
  569. data/public/images/flags/zm.png +0 -0
  570. data/public/images/flags/zw.png +0 -0
  571. data/public/images/pp_checkout.gif +0 -0
  572. data/public/images/tab_bottom.gif +0 -0
  573. data/public/images/tree-nav-icons/bullet.gif +0 -0
  574. data/public/images/tree-nav-icons/minus.gif +0 -0
  575. data/public/images/tree-nav-icons/plus.gif +0 -0
  576. data/public/javascripts/controls.js +484 -354
  577. data/public/javascripts/dragdrop.js +88 -58
  578. data/public/javascripts/effects.js +396 -364
  579. data/public/javascripts/prototype.js +132 -91
  580. data/public/javascripts/spree-yui.js +693 -0
  581. data/public/javascripts/spree.js +9 -0
  582. data/public/stylesheets/application.css +4 -1
  583. data/public/stylesheets/orders/_controller.css +105 -1
  584. data/public/stylesheets/prototypes/_controller.css +9 -0
  585. data/public/stylesheets/spree-admin.css +174 -4
  586. data/public/stylesheets/spree.css +142 -42
  587. data/script/about +0 -0
  588. data/script/breakpointer +0 -0
  589. data/script/console +0 -0
  590. data/script/dbconsole +3 -0
  591. data/script/destroy +0 -0
  592. data/script/extension +3 -0
  593. data/script/generate +0 -0
  594. data/{vendor/rails/railties/bin → script}/performance/request +0 -0
  595. data/script/plugin +0 -0
  596. data/script/runner +0 -0
  597. data/script/server +0 -0
  598. data/script/spec +0 -0
  599. data/script/spec_server +0 -0
  600. data/spec/controllers/admin/configurations_controller_spec.rb +9 -0
  601. data/spec/controllers/admin/mail_settings_controller_spec.rb +24 -0
  602. data/spec/controllers/orders_controller_spec.rb +30 -0
  603. data/spec/controllers/tax_categories_routing_spec.rb +61 -0
  604. data/spec/controllers/zones_routing_spec.rb +61 -0
  605. data/spec/fixtures/app_configurations.yml +7 -0
  606. data/spec/fixtures/preferences.yml +7 -0
  607. data/spec/fixtures/tax_categories.yml +4 -0
  608. data/spec/fixtures/users.yml +1 -2
  609. data/spec/fixtures/zone_members.yml +7 -0
  610. data/spec/fixtures/zones.yml +4 -0
  611. data/spec/helpers/admin/configurations_helper_spec.rb +11 -0
  612. data/spec/helpers/admin/mail_settings_helper_spec.rb +11 -0
  613. data/spec/helpers/products_helper_spec.rb +12 -0
  614. data/spec/helpers/spree/base_helper_spec.rb +25 -1
  615. data/spec/helpers/tax_categories_helper_spec.rb +11 -0
  616. data/spec/models/app_configuration_spec.rb +13 -0
  617. data/spec/models/creditcard_payment_spec.rb +12 -0
  618. data/spec/models/line_item_spec.rb +66 -21
  619. data/spec/models/order_spec.rb +80 -25
  620. data/spec/models/preference_definition_spec.rb +185 -0
  621. data/spec/models/preference_spec.rb +185 -0
  622. data/spec/models/product_spec.rb +74 -2
  623. data/spec/models/state_event_spec.rb +12 -0
  624. data/spec/models/tax_category_spec.rb +11 -0
  625. data/spec/models/zone_member_spec.rb +5 -0
  626. data/spec/models/zone_spec.rb +113 -0
  627. data/spec/preference_factory.rb +58 -0
  628. data/spec/spec_helper.rb +1 -0
  629. data/spec/views/admin/configurations/index.html.erb_spec.rb +8 -0
  630. data/spec/views/admin/mail_settings/edit.html.erb_spec.rb +14 -0
  631. data/spec/views/admin/mail_settings/show.html.erb_spec.rb +12 -0
  632. data/{vendor/rails/railties/helpers → test}/test_helper.rb +0 -0
  633. data/vendor/extensions/localization/README.rdoc +5 -0
  634. data/vendor/extensions/localization/Rakefile +120 -0
  635. data/vendor/extensions/localization/app/controllers/admin/localization_controller.rb +6 -0
  636. data/vendor/extensions/localization/app/controllers/locale_controller.rb +12 -0
  637. data/vendor/extensions/localization/app/helpers/locale_helper.rb +2 -0
  638. data/vendor/extensions/localization/app/helpers/localization_helper.rb +2 -0
  639. data/vendor/extensions/localization/app/views/shared/_language_bar.html.erb +10 -0
  640. data/vendor/extensions/localization/lang/ui/de-DE.yml +2 -0
  641. data/vendor/extensions/localization/lang/ui/en-US.yml +2 -0
  642. data/vendor/extensions/localization/lang/ui/es-ES.yml +2 -0
  643. data/vendor/extensions/localization/lang/ui/it-IT.yml +2 -0
  644. data/vendor/extensions/localization/lib/localization.rb +93 -0
  645. data/vendor/extensions/localization/lib/localization/user_preferences.rb +9 -0
  646. data/vendor/extensions/localization/lib/tasks/localization_extension_tasks.rake +17 -0
  647. data/vendor/extensions/localization/localization_extension.rb +37 -0
  648. data/vendor/extensions/localization/public/images/flags/ad.png +0 -0
  649. data/vendor/extensions/localization/public/images/flags/ae.png +0 -0
  650. data/vendor/extensions/localization/public/images/flags/af.png +0 -0
  651. data/vendor/extensions/localization/public/images/flags/ag.png +0 -0
  652. data/vendor/extensions/localization/public/images/flags/ai.png +0 -0
  653. data/vendor/extensions/localization/public/images/flags/al.png +0 -0
  654. data/vendor/extensions/localization/public/images/flags/am.png +0 -0
  655. data/vendor/extensions/localization/public/images/flags/an.png +0 -0
  656. data/vendor/extensions/localization/public/images/flags/ao.png +0 -0
  657. data/vendor/extensions/localization/public/images/flags/ar.png +0 -0
  658. data/vendor/extensions/localization/public/images/flags/as.png +0 -0
  659. data/vendor/extensions/localization/public/images/flags/at.png +0 -0
  660. data/vendor/extensions/localization/public/images/flags/au.png +0 -0
  661. data/vendor/extensions/localization/public/images/flags/aw.png +0 -0
  662. data/vendor/extensions/localization/public/images/flags/ax.png +0 -0
  663. data/vendor/extensions/localization/public/images/flags/az.png +0 -0
  664. data/vendor/extensions/localization/public/images/flags/ba.png +0 -0
  665. data/vendor/extensions/localization/public/images/flags/bb.png +0 -0
  666. data/vendor/extensions/localization/public/images/flags/bd.png +0 -0
  667. data/vendor/extensions/localization/public/images/flags/be.png +0 -0
  668. data/vendor/extensions/localization/public/images/flags/bf.png +0 -0
  669. data/vendor/extensions/localization/public/images/flags/bg.png +0 -0
  670. data/vendor/extensions/localization/public/images/flags/bh.png +0 -0
  671. data/vendor/extensions/localization/public/images/flags/bi.png +0 -0
  672. data/vendor/extensions/localization/public/images/flags/bj.png +0 -0
  673. data/vendor/extensions/localization/public/images/flags/bm.png +0 -0
  674. data/vendor/extensions/localization/public/images/flags/bn.png +0 -0
  675. data/vendor/extensions/localization/public/images/flags/bo.png +0 -0
  676. data/vendor/extensions/localization/public/images/flags/br.png +0 -0
  677. data/vendor/extensions/localization/public/images/flags/bs.png +0 -0
  678. data/vendor/extensions/localization/public/images/flags/bt.png +0 -0
  679. data/vendor/extensions/localization/public/images/flags/bv.png +0 -0
  680. data/vendor/extensions/localization/public/images/flags/bw.png +0 -0
  681. data/vendor/extensions/localization/public/images/flags/by.png +0 -0
  682. data/vendor/extensions/localization/public/images/flags/bz.png +0 -0
  683. data/vendor/extensions/localization/public/images/flags/ca.png +0 -0
  684. data/vendor/extensions/localization/public/images/flags/catalonia.png +0 -0
  685. data/vendor/extensions/localization/public/images/flags/cc.png +0 -0
  686. data/vendor/extensions/localization/public/images/flags/cd.png +0 -0
  687. data/vendor/extensions/localization/public/images/flags/cf.png +0 -0
  688. data/vendor/extensions/localization/public/images/flags/cg.png +0 -0
  689. data/vendor/extensions/localization/public/images/flags/ch.png +0 -0
  690. data/vendor/extensions/localization/public/images/flags/ci.png +0 -0
  691. data/vendor/extensions/localization/public/images/flags/ck.png +0 -0
  692. data/vendor/extensions/localization/public/images/flags/cl.png +0 -0
  693. data/vendor/extensions/localization/public/images/flags/cm.png +0 -0
  694. data/vendor/extensions/localization/public/images/flags/cn.png +0 -0
  695. data/vendor/extensions/localization/public/images/flags/co.png +0 -0
  696. data/vendor/extensions/localization/public/images/flags/cr.png +0 -0
  697. data/vendor/extensions/localization/public/images/flags/cs.png +0 -0
  698. data/vendor/extensions/localization/public/images/flags/cu.png +0 -0
  699. data/vendor/extensions/localization/public/images/flags/cv.png +0 -0
  700. data/vendor/extensions/localization/public/images/flags/cx.png +0 -0
  701. data/vendor/extensions/localization/public/images/flags/cy.png +0 -0
  702. data/vendor/extensions/localization/public/images/flags/cz.png +0 -0
  703. data/vendor/extensions/localization/public/images/flags/de.png +0 -0
  704. data/vendor/extensions/localization/public/images/flags/dj.png +0 -0
  705. data/vendor/extensions/localization/public/images/flags/dk.png +0 -0
  706. data/vendor/extensions/localization/public/images/flags/dm.png +0 -0
  707. data/vendor/extensions/localization/public/images/flags/do.png +0 -0
  708. data/vendor/extensions/localization/public/images/flags/dz.png +0 -0
  709. data/vendor/extensions/localization/public/images/flags/ec.png +0 -0
  710. data/vendor/extensions/localization/public/images/flags/ee.png +0 -0
  711. data/vendor/extensions/localization/public/images/flags/eg.png +0 -0
  712. data/vendor/extensions/localization/public/images/flags/eh.png +0 -0
  713. data/vendor/extensions/localization/public/images/flags/england.png +0 -0
  714. data/vendor/extensions/localization/public/images/flags/er.png +0 -0
  715. data/vendor/extensions/localization/public/images/flags/es.png +0 -0
  716. data/vendor/extensions/localization/public/images/flags/et.png +0 -0
  717. data/vendor/extensions/localization/public/images/flags/europeanunion.png +0 -0
  718. data/vendor/extensions/localization/public/images/flags/fam.png +0 -0
  719. data/vendor/extensions/localization/public/images/flags/fi.png +0 -0
  720. data/vendor/extensions/localization/public/images/flags/fj.png +0 -0
  721. data/vendor/extensions/localization/public/images/flags/fk.png +0 -0
  722. data/vendor/extensions/localization/public/images/flags/fm.png +0 -0
  723. data/vendor/extensions/localization/public/images/flags/fo.png +0 -0
  724. data/vendor/extensions/localization/public/images/flags/fr.png +0 -0
  725. data/vendor/extensions/localization/public/images/flags/ga.png +0 -0
  726. data/vendor/extensions/localization/public/images/flags/gb.png +0 -0
  727. data/vendor/extensions/localization/public/images/flags/gd.png +0 -0
  728. data/vendor/extensions/localization/public/images/flags/ge.png +0 -0
  729. data/vendor/extensions/localization/public/images/flags/gf.png +0 -0
  730. data/vendor/extensions/localization/public/images/flags/gh.png +0 -0
  731. data/vendor/extensions/localization/public/images/flags/gi.png +0 -0
  732. data/vendor/extensions/localization/public/images/flags/gl.png +0 -0
  733. data/vendor/extensions/localization/public/images/flags/gm.png +0 -0
  734. data/vendor/extensions/localization/public/images/flags/gn.png +0 -0
  735. data/vendor/extensions/localization/public/images/flags/gp.png +0 -0
  736. data/vendor/extensions/localization/public/images/flags/gq.png +0 -0
  737. data/vendor/extensions/localization/public/images/flags/gr.png +0 -0
  738. data/vendor/extensions/localization/public/images/flags/gs.png +0 -0
  739. data/vendor/extensions/localization/public/images/flags/gt.png +0 -0
  740. data/vendor/extensions/localization/public/images/flags/gu.png +0 -0
  741. data/vendor/extensions/localization/public/images/flags/gw.png +0 -0
  742. data/vendor/extensions/localization/public/images/flags/gy.png +0 -0
  743. data/vendor/extensions/localization/public/images/flags/hk.png +0 -0
  744. data/vendor/extensions/localization/public/images/flags/hm.png +0 -0
  745. data/vendor/extensions/localization/public/images/flags/hn.png +0 -0
  746. data/vendor/extensions/localization/public/images/flags/hr.png +0 -0
  747. data/vendor/extensions/localization/public/images/flags/ht.png +0 -0
  748. data/vendor/extensions/localization/public/images/flags/hu.png +0 -0
  749. data/vendor/extensions/localization/public/images/flags/id.png +0 -0
  750. data/vendor/extensions/localization/public/images/flags/ie.png +0 -0
  751. data/vendor/extensions/localization/public/images/flags/il.png +0 -0
  752. data/vendor/extensions/localization/public/images/flags/in.png +0 -0
  753. data/vendor/extensions/localization/public/images/flags/io.png +0 -0
  754. data/vendor/extensions/localization/public/images/flags/iq.png +0 -0
  755. data/vendor/extensions/localization/public/images/flags/ir.png +0 -0
  756. data/vendor/extensions/localization/public/images/flags/is.png +0 -0
  757. data/vendor/extensions/localization/public/images/flags/it.png +0 -0
  758. data/vendor/extensions/localization/public/images/flags/jm.png +0 -0
  759. data/vendor/extensions/localization/public/images/flags/jo.png +0 -0
  760. data/vendor/extensions/localization/public/images/flags/jp.png +0 -0
  761. data/vendor/extensions/localization/public/images/flags/ke.png +0 -0
  762. data/vendor/extensions/localization/public/images/flags/kg.png +0 -0
  763. data/vendor/extensions/localization/public/images/flags/kh.png +0 -0
  764. data/vendor/extensions/localization/public/images/flags/ki.png +0 -0
  765. data/vendor/extensions/localization/public/images/flags/km.png +0 -0
  766. data/vendor/extensions/localization/public/images/flags/kn.png +0 -0
  767. data/vendor/extensions/localization/public/images/flags/kp.png +0 -0
  768. data/vendor/extensions/localization/public/images/flags/kr.png +0 -0
  769. data/vendor/extensions/localization/public/images/flags/kw.png +0 -0
  770. data/vendor/extensions/localization/public/images/flags/ky.png +0 -0
  771. data/vendor/extensions/localization/public/images/flags/kz.png +0 -0
  772. data/vendor/extensions/localization/public/images/flags/la.png +0 -0
  773. data/vendor/extensions/localization/public/images/flags/lb.png +0 -0
  774. data/vendor/extensions/localization/public/images/flags/lc.png +0 -0
  775. data/vendor/extensions/localization/public/images/flags/li.png +0 -0
  776. data/vendor/extensions/localization/public/images/flags/lk.png +0 -0
  777. data/vendor/extensions/localization/public/images/flags/lr.png +0 -0
  778. data/vendor/extensions/localization/public/images/flags/ls.png +0 -0
  779. data/vendor/extensions/localization/public/images/flags/lt.png +0 -0
  780. data/vendor/extensions/localization/public/images/flags/lu.png +0 -0
  781. data/vendor/extensions/localization/public/images/flags/lv.png +0 -0
  782. data/vendor/extensions/localization/public/images/flags/ly.png +0 -0
  783. data/vendor/extensions/localization/public/images/flags/ma.png +0 -0
  784. data/vendor/extensions/localization/public/images/flags/mc.png +0 -0
  785. data/vendor/extensions/localization/public/images/flags/md.png +0 -0
  786. data/vendor/extensions/localization/public/images/flags/me.png +0 -0
  787. data/vendor/extensions/localization/public/images/flags/mg.png +0 -0
  788. data/vendor/extensions/localization/public/images/flags/mh.png +0 -0
  789. data/vendor/extensions/localization/public/images/flags/mk.png +0 -0
  790. data/vendor/extensions/localization/public/images/flags/ml.png +0 -0
  791. data/vendor/extensions/localization/public/images/flags/mm.png +0 -0
  792. data/vendor/extensions/localization/public/images/flags/mn.png +0 -0
  793. data/vendor/extensions/localization/public/images/flags/mo.png +0 -0
  794. data/vendor/extensions/localization/public/images/flags/mp.png +0 -0
  795. data/vendor/extensions/localization/public/images/flags/mq.png +0 -0
  796. data/vendor/extensions/localization/public/images/flags/mr.png +0 -0
  797. data/vendor/extensions/localization/public/images/flags/ms.png +0 -0
  798. data/vendor/extensions/localization/public/images/flags/mt.png +0 -0
  799. data/vendor/extensions/localization/public/images/flags/mu.png +0 -0
  800. data/vendor/extensions/localization/public/images/flags/mv.png +0 -0
  801. data/vendor/extensions/localization/public/images/flags/mw.png +0 -0
  802. data/vendor/extensions/localization/public/images/flags/mx.png +0 -0
  803. data/vendor/extensions/localization/public/images/flags/my.png +0 -0
  804. data/vendor/extensions/localization/public/images/flags/mz.png +0 -0
  805. data/vendor/extensions/localization/public/images/flags/na.png +0 -0
  806. data/vendor/extensions/localization/public/images/flags/nc.png +0 -0
  807. data/vendor/extensions/localization/public/images/flags/ne.png +0 -0
  808. data/vendor/extensions/localization/public/images/flags/nf.png +0 -0
  809. data/vendor/extensions/localization/public/images/flags/ng.png +0 -0
  810. data/vendor/extensions/localization/public/images/flags/ni.png +0 -0
  811. data/vendor/extensions/localization/public/images/flags/nl.png +0 -0
  812. data/vendor/extensions/localization/public/images/flags/no.png +0 -0
  813. data/vendor/extensions/localization/public/images/flags/np.png +0 -0
  814. data/vendor/extensions/localization/public/images/flags/nr.png +0 -0
  815. data/vendor/extensions/localization/public/images/flags/nu.png +0 -0
  816. data/vendor/extensions/localization/public/images/flags/nz.png +0 -0
  817. data/vendor/extensions/localization/public/images/flags/om.png +0 -0
  818. data/vendor/extensions/localization/public/images/flags/pa.png +0 -0
  819. data/vendor/extensions/localization/public/images/flags/pe.png +0 -0
  820. data/vendor/extensions/localization/public/images/flags/pf.png +0 -0
  821. data/vendor/extensions/localization/public/images/flags/pg.png +0 -0
  822. data/vendor/extensions/localization/public/images/flags/ph.png +0 -0
  823. data/vendor/extensions/localization/public/images/flags/pk.png +0 -0
  824. data/vendor/extensions/localization/public/images/flags/pl.png +0 -0
  825. data/vendor/extensions/localization/public/images/flags/pm.png +0 -0
  826. data/vendor/extensions/localization/public/images/flags/pn.png +0 -0
  827. data/vendor/extensions/localization/public/images/flags/pr.png +0 -0
  828. data/vendor/extensions/localization/public/images/flags/ps.png +0 -0
  829. data/vendor/extensions/localization/public/images/flags/pt.png +0 -0
  830. data/vendor/extensions/localization/public/images/flags/pw.png +0 -0
  831. data/vendor/extensions/localization/public/images/flags/py.png +0 -0
  832. data/vendor/extensions/localization/public/images/flags/qa.png +0 -0
  833. data/vendor/extensions/localization/public/images/flags/re.png +0 -0
  834. data/vendor/extensions/localization/public/images/flags/ro.png +0 -0
  835. data/vendor/extensions/localization/public/images/flags/rs.png +0 -0
  836. data/vendor/extensions/localization/public/images/flags/ru.png +0 -0
  837. data/vendor/extensions/localization/public/images/flags/rw.png +0 -0
  838. data/vendor/extensions/localization/public/images/flags/sa.png +0 -0
  839. data/vendor/extensions/localization/public/images/flags/sb.png +0 -0
  840. data/vendor/extensions/localization/public/images/flags/sc.png +0 -0
  841. data/vendor/extensions/localization/public/images/flags/scotland.png +0 -0
  842. data/vendor/extensions/localization/public/images/flags/sd.png +0 -0
  843. data/vendor/extensions/localization/public/images/flags/se.png +0 -0
  844. data/vendor/extensions/localization/public/images/flags/sg.png +0 -0
  845. data/vendor/extensions/localization/public/images/flags/sh.png +0 -0
  846. data/vendor/extensions/localization/public/images/flags/si.png +0 -0
  847. data/vendor/extensions/localization/public/images/flags/sj.png +0 -0
  848. data/vendor/extensions/localization/public/images/flags/sk.png +0 -0
  849. data/vendor/extensions/localization/public/images/flags/sl.png +0 -0
  850. data/vendor/extensions/localization/public/images/flags/sm.png +0 -0
  851. data/vendor/extensions/localization/public/images/flags/sn.png +0 -0
  852. data/vendor/extensions/localization/public/images/flags/so.png +0 -0
  853. data/vendor/extensions/localization/public/images/flags/sr.png +0 -0
  854. data/vendor/extensions/localization/public/images/flags/st.png +0 -0
  855. data/vendor/extensions/localization/public/images/flags/sv.png +0 -0
  856. data/vendor/extensions/localization/public/images/flags/sy.png +0 -0
  857. data/vendor/extensions/localization/public/images/flags/sz.png +0 -0
  858. data/vendor/extensions/localization/public/images/flags/tc.png +0 -0
  859. data/vendor/extensions/localization/public/images/flags/td.png +0 -0
  860. data/vendor/extensions/localization/public/images/flags/tf.png +0 -0
  861. data/vendor/extensions/localization/public/images/flags/tg.png +0 -0
  862. data/vendor/extensions/localization/public/images/flags/th.png +0 -0
  863. data/vendor/extensions/localization/public/images/flags/tj.png +0 -0
  864. data/vendor/extensions/localization/public/images/flags/tk.png +0 -0
  865. data/vendor/extensions/localization/public/images/flags/tl.png +0 -0
  866. data/vendor/extensions/localization/public/images/flags/tm.png +0 -0
  867. data/vendor/extensions/localization/public/images/flags/tn.png +0 -0
  868. data/vendor/extensions/localization/public/images/flags/to.png +0 -0
  869. data/vendor/extensions/localization/public/images/flags/tr.png +0 -0
  870. data/vendor/extensions/localization/public/images/flags/tt.png +0 -0
  871. data/vendor/extensions/localization/public/images/flags/tv.png +0 -0
  872. data/vendor/extensions/localization/public/images/flags/tw.png +0 -0
  873. data/vendor/extensions/localization/public/images/flags/tz.png +0 -0
  874. data/vendor/extensions/localization/public/images/flags/ua.png +0 -0
  875. data/vendor/extensions/localization/public/images/flags/ug.png +0 -0
  876. data/vendor/extensions/localization/public/images/flags/um.png +0 -0
  877. data/vendor/extensions/localization/public/images/flags/us.png +0 -0
  878. data/vendor/extensions/localization/public/images/flags/uy.png +0 -0
  879. data/vendor/extensions/localization/public/images/flags/uz.png +0 -0
  880. data/vendor/extensions/localization/public/images/flags/va.png +0 -0
  881. data/vendor/extensions/localization/public/images/flags/vc.png +0 -0
  882. data/vendor/extensions/localization/public/images/flags/ve.png +0 -0
  883. data/vendor/extensions/localization/public/images/flags/vg.png +0 -0
  884. data/vendor/extensions/localization/public/images/flags/vi.png +0 -0
  885. data/vendor/extensions/localization/public/images/flags/vn.png +0 -0
  886. data/vendor/extensions/localization/public/images/flags/vu.png +0 -0
  887. data/vendor/extensions/localization/public/images/flags/wales.png +0 -0
  888. data/vendor/extensions/localization/public/images/flags/wf.png +0 -0
  889. data/vendor/extensions/localization/public/images/flags/ws.png +0 -0
  890. data/vendor/extensions/localization/public/images/flags/ye.png +0 -0
  891. data/vendor/extensions/localization/public/images/flags/yt.png +0 -0
  892. data/vendor/extensions/localization/public/images/flags/za.png +0 -0
  893. data/vendor/extensions/localization/public/images/flags/zm.png +0 -0
  894. data/vendor/extensions/localization/public/images/flags/zw.png +0 -0
  895. data/vendor/extensions/localization/spec/controllers/admin/localization_controller_spec.rb +10 -0
  896. data/vendor/extensions/localization/spec/controllers/locale_controller_spec.rb +35 -0
  897. data/vendor/extensions/localization/spec/helpers/locale_helper_spec.rb +5 -0
  898. data/vendor/extensions/localization/spec/helpers/localization_helper_spec.rb +5 -0
  899. data/vendor/{plugins/rspec_on_rails/generators/rspec/templates → extensions/localization/spec}/spec.opts +0 -0
  900. data/vendor/extensions/localization/spec/spec_helper.rb +37 -0
  901. data/vendor/extensions/payment_gateway/README_PAYPAL.markdown +21 -0
  902. data/vendor/extensions/payment_gateway/app/controllers/admin/gateway_configurations_controller.rb +2 -0
  903. data/vendor/extensions/payment_gateway/app/controllers/admin/gateway_option_values_controller.rb +2 -0
  904. data/vendor/extensions/payment_gateway/app/controllers/admin/gateways_controller.rb +1 -0
  905. data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/_form.html.erb +3 -3
  906. data/vendor/extensions/payment_gateway/db/migrate/{001_create_gateway_configurations.rb → 20080620120002_create_gateway_configurations.rb} +0 -0
  907. data/vendor/extensions/payment_gateway/db/migrate/{002_create_gateways.rb → 20080620120003_create_gateways.rb} +0 -0
  908. data/vendor/extensions/payment_gateway/db/migrate/{003_create_gateway_options.rb → 20080620120004_create_gateway_options.rb} +0 -0
  909. data/vendor/extensions/payment_gateway/db/migrate/{004_create_gateway_option_values.rb → 20080620120005_create_gateway_option_values.rb} +0 -0
  910. data/vendor/extensions/payment_gateway/db/migrate/{005_create_bogus_gateway.rb → 20080620120006_create_bogus_gateway.rb} +0 -0
  911. data/vendor/extensions/payment_gateway/db/migrate/{006_create_linkpoint_gateway.rb → 20080620120007_create_linkpoint_gateway.rb} +0 -0
  912. data/vendor/extensions/payment_gateway/db/migrate/20080703120008_create_paypal_gateway.rb +19 -0
  913. data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +60 -2
  914. data/vendor/extensions/payment_gateway/lib/tasks/payment_gateway_extension_tasks.rake +1 -11
  915. data/vendor/extensions/payment_gateway/payment_gateway_extension.rb +9 -2
  916. data/vendor/extensions/payment_gateway/spec/helpers/admin/gateways_helper_spec.rb +0 -5
  917. data/vendor/extensions/payment_gateway/spec/models/creditcard_payment_spec.rb +24 -0
  918. data/vendor/extensions/payment_gateway/spec/models/order_spec.rb +42 -0
  919. data/vendor/extensions/tax_calculator/app/controllers/admin/tax_rates_controller.rb +19 -3
  920. data/vendor/extensions/tax_calculator/app/models/tax_rate.rb +7 -4
  921. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/_form.html.erb +14 -4
  922. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/edit.html.erb +2 -1
  923. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/index.html.erb +14 -10
  924. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/new.html.erb +3 -5
  925. data/vendor/extensions/tax_calculator/db/migrate/20080620100001_create_tax_rates.rb +13 -0
  926. data/vendor/extensions/tax_calculator/db/migrate/20080704192456_update_tax_rates_add_zones_etc.rb +17 -0
  927. data/vendor/extensions/tax_calculator/lang/en-US.yml +11 -0
  928. data/vendor/extensions/tax_calculator/lang/pt-BR.yml +11 -0
  929. data/vendor/extensions/tax_calculator/lib/spree/sales_tax_calculator.rb +23 -0
  930. data/vendor/extensions/tax_calculator/lib/spree/tax/config.rb +22 -0
  931. data/vendor/extensions/tax_calculator/lib/spree/tax_calculator.rb +15 -14
  932. data/vendor/extensions/tax_calculator/lib/spree/vat_calculator.rb +47 -0
  933. data/vendor/extensions/tax_calculator/lib/tasks/tax_calculator_extension_tasks.rake +0 -10
  934. data/vendor/extensions/tax_calculator/lib/tax_configuration.rb +7 -0
  935. data/vendor/extensions/tax_calculator/spec/controllers/tax_calculator_spec.rb +3 -20
  936. data/vendor/extensions/tax_calculator/spec/helpers/admin/tax_rates_helper_spec.rb +1 -6
  937. data/vendor/extensions/tax_calculator/spec/helpers/products_helper_spec.rb +85 -0
  938. data/vendor/extensions/tax_calculator/spec/models/order_spec.rb +22 -0
  939. data/vendor/extensions/tax_calculator/spec/models/sales_tax_calculator_spec.rb +53 -0
  940. data/vendor/extensions/tax_calculator/spec/models/tax_calculator_spec.rb +54 -0
  941. data/vendor/extensions/tax_calculator/spec/models/tax_rate_spec.rb +5 -14
  942. data/vendor/extensions/tax_calculator/spec/models/vat_calculator_spec.rb +56 -0
  943. data/vendor/extensions/tax_calculator/tax_calculator_extension.rb +29 -3
  944. data/vendor/gems/active_presenter-0.0.4/LICENSE +22 -0
  945. data/vendor/gems/active_presenter-0.0.4/README +75 -0
  946. data/vendor/gems/active_presenter-0.0.4/Rakefile +10 -0
  947. data/vendor/gems/active_presenter-0.0.4/lib/active_presenter.rb +7 -0
  948. data/vendor/gems/active_presenter-0.0.4/lib/active_presenter/base.rb +174 -0
  949. data/vendor/gems/active_presenter-0.0.4/lib/active_presenter/version.rb +9 -0
  950. data/vendor/gems/active_presenter-0.0.4/lib/tasks/doc.rake +19 -0
  951. data/vendor/gems/active_presenter-0.0.4/lib/tasks/gem.rake +62 -0
  952. data/vendor/gems/active_presenter-0.0.4/test/base_test.rb +152 -0
  953. data/vendor/gems/active_presenter-0.0.4/test/test_helper.rb +38 -0
  954. data/vendor/plugins/acts_as_adjacency_list/MIT-LICENSE +20 -0
  955. data/vendor/plugins/acts_as_adjacency_list/README +13 -0
  956. data/vendor/plugins/acts_as_adjacency_list/Rakefile +22 -0
  957. data/vendor/plugins/acts_as_adjacency_list/init.rb +9 -0
  958. data/vendor/{rails/railties/lib/rails_generator/generators/components/plugin/templates → plugins/acts_as_adjacency_list}/install.rb +0 -0
  959. data/vendor/plugins/acts_as_adjacency_list/lib/active_record/acts/adjacency_list.rb +237 -0
  960. data/vendor/plugins/acts_as_adjacency_list/tasks/acts_as_adjacency_list_tasks.rake +4 -0
  961. data/vendor/plugins/acts_as_adjacency_list/test/acts_as_adjacency_list_test.rb +293 -0
  962. data/vendor/{rails/railties/lib/rails_generator/generators/components/plugin/templates → plugins/acts_as_adjacency_list}/uninstall.rb +0 -0
  963. data/vendor/plugins/attachment_fu/CHANGELOG +12 -1
  964. data/vendor/plugins/attachment_fu/README +25 -1
  965. data/vendor/plugins/attachment_fu/init.rb +3 -1
  966. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb +171 -108
  967. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb +8 -4
  968. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb +6 -12
  969. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/core_image_processor.rb +59 -0
  970. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/gd2_processor.rb +54 -0
  971. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb +1 -1
  972. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/mini_magick_processor.rb +12 -9
  973. data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb +5 -4
  974. data/vendor/plugins/attachment_fu/test/backends/remote/s3_test.rb +17 -1
  975. data/vendor/plugins/attachment_fu/test/base_attachment_tests.rb +20 -0
  976. data/vendor/plugins/attachment_fu/test/basic_test.rb +6 -0
  977. data/vendor/plugins/attachment_fu/test/extra_attachment_test.rb +10 -0
  978. data/vendor/plugins/attachment_fu/test/fixtures/attachment.rb +22 -1
  979. data/vendor/plugins/attachment_fu/test/processors/core_image_test.rb +37 -0
  980. data/vendor/plugins/attachment_fu/test/processors/gd2_test.rb +31 -0
  981. data/vendor/plugins/attachment_fu/test/processors/rmagick_test.rb +19 -5
  982. data/vendor/plugins/attachment_fu/test/schema.rb +22 -0
  983. data/vendor/plugins/attachment_fu/test/test_helper.rb +10 -2
  984. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/color.rb +27 -0
  985. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/effects.rb +31 -0
  986. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/perspective.rb +25 -0
  987. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/quality.rb +25 -0
  988. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/scale.rb +47 -0
  989. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/watermark.rb +32 -0
  990. data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/processor.rb +123 -0
  991. data/vendor/plugins/attribute_fu/MIT-LICENSE +20 -0
  992. data/vendor/plugins/attribute_fu/README +115 -0
  993. data/vendor/plugins/attribute_fu/Rakefile +22 -0
  994. data/vendor/plugins/attribute_fu/init.rb +4 -0
  995. data/vendor/plugins/attribute_fu/lib/attribute_fu.rb +2 -0
  996. data/vendor/plugins/attribute_fu/lib/attribute_fu/associated_form_helper.rb +139 -0
  997. data/vendor/plugins/attribute_fu/lib/attribute_fu/associations.rb +124 -0
  998. data/vendor/plugins/attribute_fu/tasks/attribute_fu_tasks.rake +4 -0
  999. data/vendor/{rails/railties/fresh_rakefile → plugins/attribute_fu/test/Rakefile} +0 -0
  1000. data/vendor/plugins/attribute_fu/test/app/controllers/application.rb +10 -0
  1001. data/vendor/{rails/railties → plugins/attribute_fu/test/app}/helpers/application_helper.rb +0 -0
  1002. data/vendor/plugins/attribute_fu/test/app/models/comment.rb +8 -0
  1003. data/vendor/plugins/attribute_fu/test/app/models/photo.rb +3 -0
  1004. data/vendor/plugins/attribute_fu/test/config/boot.rb +97 -0
  1005. data/vendor/plugins/attribute_fu/test/config/database.yml +15 -0
  1006. data/vendor/plugins/attribute_fu/test/config/environment.rb +15 -0
  1007. data/vendor/plugins/attribute_fu/test/config/environments/development.rb +18 -0
  1008. data/vendor/{rails/railties → plugins/attribute_fu/test/config}/environments/test.rb +0 -0
  1009. data/vendor/{rails/railties/configs → plugins/attribute_fu/test/config}/routes.rb +0 -0
  1010. data/vendor/plugins/attribute_fu/test/db/migrate/001_create_photos.rb +14 -0
  1011. data/vendor/plugins/attribute_fu/test/db/migrate/002_create_comments.rb +15 -0
  1012. data/vendor/{rails/railties/bin → plugins/attribute_fu/test/script}/console +0 -0
  1013. data/vendor/{rails/railties/bin → plugins/attribute_fu/test/script}/destroy +0 -0
  1014. data/vendor/{rails/railties/bin → plugins/attribute_fu/test/script}/generate +0 -0
  1015. data/vendor/{rails/railties/bin → plugins/attribute_fu/test/script}/server +0 -0
  1016. data/vendor/plugins/attribute_fu/test/test/test_helper.rb +6 -0
  1017. data/vendor/plugins/attribute_fu/test/test/unit/associated_form_helper_test.rb +376 -0
  1018. data/vendor/plugins/attribute_fu/test/test/unit/comment_test.rb +6 -0
  1019. data/vendor/plugins/attribute_fu/test/test/unit/photo_test.rb +149 -0
  1020. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/init.rb +3 -0
  1021. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda.rb +20 -0
  1022. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +338 -0
  1023. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/context.rb +143 -0
  1024. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/general.rb +119 -0
  1025. data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +17 -0
  1026. data/vendor/plugins/attribute_fu/uninstall.rb +1 -0
  1027. data/vendor/plugins/auto_complete/README +23 -0
  1028. data/vendor/plugins/auto_complete/Rakefile +22 -0
  1029. data/vendor/plugins/auto_complete/init.rb +2 -0
  1030. data/vendor/plugins/auto_complete/lib/auto_complete.rb +47 -0
  1031. data/vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb +142 -0
  1032. data/vendor/plugins/auto_complete/test/auto_complete_test.rb +67 -0
  1033. data/vendor/plugins/enumerable_constants/lib/enumerable_constants.rb +4 -0
  1034. data/vendor/plugins/find_by_param/MIT-LICENSE +20 -0
  1035. data/vendor/plugins/find_by_param/README +48 -0
  1036. data/vendor/plugins/find_by_param/Rakefile +22 -0
  1037. data/vendor/plugins/find_by_param/init.rb +18 -0
  1038. data/vendor/plugins/find_by_param/install.rb +1 -0
  1039. data/vendor/plugins/find_by_param/lib/find_by_param.rb +143 -0
  1040. data/vendor/plugins/find_by_param/tasks/find_by_param_tasks.rake +4 -0
  1041. data/vendor/plugins/find_by_param/test/find_by_param_test.rb +74 -0
  1042. data/vendor/plugins/find_by_param/test/schema.rb +16 -0
  1043. data/vendor/plugins/find_by_param/test/test_helper.rb +17 -0
  1044. data/vendor/plugins/find_by_param/uninstall.rb +1 -0
  1045. data/vendor/plugins/globalite/CHANGELOG +22 -0
  1046. data/vendor/plugins/globalite/README +199 -0
  1047. data/vendor/plugins/globalite/README.rdoc +199 -0
  1048. data/vendor/plugins/globalite/Rakefile +32 -0
  1049. data/vendor/plugins/globalite/globalite.gemspec +14 -0
  1050. data/vendor/plugins/globalite/init.rb +1 -0
  1051. data/vendor/plugins/globalite/install.rb +1 -0
  1052. data/vendor/plugins/globalite/lang/rails/de-DE.yml +357 -0
  1053. data/vendor/plugins/globalite/lang/rails/en-UK.yml +357 -0
  1054. data/vendor/plugins/globalite/lang/rails/en-US.yml +357 -0
  1055. data/vendor/plugins/globalite/lang/rails/es-AR.yml +357 -0
  1056. data/vendor/plugins/globalite/lang/rails/es-ES.yml +359 -0
  1057. data/vendor/plugins/globalite/lang/rails/fi-FI.yml +357 -0
  1058. data/vendor/plugins/globalite/lang/rails/fr-FR.yml +359 -0
  1059. data/vendor/plugins/globalite/lang/rails/hu-HU.yml +357 -0
  1060. data/vendor/plugins/globalite/lang/rails/it.yml +358 -0
  1061. data/vendor/plugins/globalite/lang/rails/nl-NL.yml +347 -0
  1062. data/vendor/plugins/globalite/lang/rails/pl-PL.yml +358 -0
  1063. data/vendor/plugins/globalite/lang/rails/pt-BR.yml +324 -0
  1064. data/vendor/plugins/globalite/lang/rails/pt-PT.yml +324 -0
  1065. data/vendor/plugins/globalite/lang/rails/ru-RU.yml +357 -0
  1066. data/vendor/plugins/globalite/lang/rails/sr-CP.yml +357 -0
  1067. data/vendor/plugins/globalite/lang/rails/sr-SR.yml +357 -0
  1068. data/vendor/plugins/globalite/lang/rails/tr.yml +186 -0
  1069. data/vendor/plugins/globalite/lang/rails/zh-CN.yml +357 -0
  1070. data/vendor/plugins/globalite/lang/rails/zh-HK.yml +357 -0
  1071. data/vendor/plugins/globalite/lang/rails/zh-TW.yml +357 -0
  1072. data/vendor/plugins/globalite/lib/globalite.rb +28 -0
  1073. data/vendor/plugins/globalite/lib/globalite/l10n.rb +302 -0
  1074. data/vendor/plugins/globalite/lib/globalite/locale.rb +56 -0
  1075. data/vendor/plugins/globalite/lib/rails/core_ext.rb +19 -0
  1076. data/vendor/plugins/globalite/lib/rails/localization.rb +58 -0
  1077. data/vendor/plugins/globalite/lib/rails/localized_action_view.rb +211 -0
  1078. data/vendor/plugins/globalite/lib/rails/localized_active_record.rb +80 -0
  1079. data/vendor/plugins/globalite/spec/core_localization_spec.rb +116 -0
  1080. data/vendor/plugins/globalite/spec/helpers/spec_helper.rb +16 -0
  1081. data/vendor/plugins/globalite/spec/l10n_spec.rb +251 -0
  1082. data/vendor/plugins/globalite/spec/lang/rails/zz.yml +13 -0
  1083. data/vendor/plugins/globalite/spec/lang/ui/en-UK.yml +3 -0
  1084. data/vendor/plugins/globalite/spec/lang/ui/en-US.yml +3 -0
  1085. data/vendor/plugins/globalite/spec/lang/ui/es.yml +3 -0
  1086. data/vendor/plugins/globalite/spec/lang/ui/fr-FR.yml +8 -0
  1087. data/vendor/plugins/globalite/tasks/cruise.rake +4 -0
  1088. data/vendor/plugins/globalite/tasks/globalite_tasks.rake +47 -0
  1089. data/vendor/plugins/globalite/uninstall.rb +1 -0
  1090. data/vendor/plugins/in_place_editing/lib/in_place_macros_helper.rb +7 -1
  1091. data/vendor/plugins/in_place_editing/test/in_place_editing_test.rb +25 -5
  1092. data/vendor/plugins/resource_controller/LICENSE +1 -1
  1093. data/vendor/plugins/resource_controller/README.rdoc +282 -0
  1094. data/vendor/plugins/resource_controller/Rakefile +14 -1
  1095. data/vendor/plugins/resource_controller/TODO +1 -0
  1096. data/vendor/plugins/resource_controller/generators/scaffold_resource/scaffold_resource_generator.rb +99 -34
  1097. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/functional_spec.rb +255 -0
  1098. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/helper_spec.rb +11 -0
  1099. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/routing_spec.rb +61 -0
  1100. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/unit_spec.rb +11 -0
  1101. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/views/edit_spec.rb +28 -0
  1102. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/views/index_spec.rb +26 -0
  1103. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/views/new_spec.rb +30 -0
  1104. data/vendor/plugins/resource_controller/generators/scaffold_resource/templates/rspec/views/show_spec.rb +25 -0
  1105. data/vendor/plugins/resource_controller/init.rb +1 -6
  1106. data/vendor/plugins/resource_controller/lib/resource_controller.rb +15 -6
  1107. data/vendor/plugins/resource_controller/lib/resource_controller/accessors.rb +11 -14
  1108. data/vendor/plugins/resource_controller/lib/resource_controller/action_options.rb +12 -0
  1109. data/vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb +3 -1
  1110. data/vendor/plugins/resource_controller/lib/resource_controller/controller.rb +10 -4
  1111. data/vendor/plugins/resource_controller/lib/resource_controller/failable_action_options.rb +9 -1
  1112. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/current_objects.rb +11 -1
  1113. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/internal.rb +19 -2
  1114. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/nested.rb +27 -3
  1115. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/singleton_customizations.rb +60 -0
  1116. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/urls.rb +6 -2
  1117. data/vendor/plugins/resource_controller/lib/resource_controller/response_collector.rb +6 -0
  1118. data/vendor/plugins/resource_controller/lib/resource_controller/singleton.rb +15 -0
  1119. data/vendor/plugins/resource_controller/lib/resource_controller/version.rb +9 -0
  1120. data/vendor/plugins/resource_controller/rails/init.rb +6 -0
  1121. data/vendor/plugins/resource_controller/resource_controller.gemspec +343 -0
  1122. data/vendor/plugins/resource_controller/test/Rakefile +10 -0
  1123. data/vendor/plugins/resource_controller/test/app/controllers/accounts_controller.rb +6 -0
  1124. data/vendor/plugins/resource_controller/test/app/controllers/application.rb +7 -0
  1125. data/vendor/plugins/resource_controller/test/app/controllers/cms/options_controller.rb +3 -0
  1126. data/vendor/plugins/resource_controller/test/app/controllers/cms/products_controller.rb +3 -0
  1127. data/vendor/plugins/resource_controller/test/app/controllers/comments_controller.rb +3 -0
  1128. data/vendor/plugins/resource_controller/test/app/controllers/images_controller.rb +4 -0
  1129. data/vendor/plugins/resource_controller/test/app/controllers/options_controller.rb +8 -0
  1130. data/vendor/plugins/resource_controller/test/app/controllers/people_controller.rb +9 -0
  1131. data/vendor/plugins/resource_controller/test/app/controllers/photos_controller.rb +11 -0
  1132. data/vendor/plugins/resource_controller/test/app/controllers/posts_controller.rb +10 -0
  1133. data/vendor/plugins/resource_controller/test/app/controllers/projects_controller.rb +3 -0
  1134. data/vendor/plugins/resource_controller/test/app/controllers/somethings_controller.rb +3 -0
  1135. data/vendor/plugins/resource_controller/test/app/controllers/tags_controller.rb +13 -0
  1136. data/vendor/plugins/resource_controller/test/app/controllers/users_controller.rb +12 -0
  1137. data/vendor/plugins/resource_controller/test/app/helpers/accounts_helper.rb +2 -0
  1138. data/vendor/plugins/resource_controller/test/app/helpers/application_helper.rb +3 -0
  1139. data/vendor/plugins/resource_controller/test/app/helpers/cms/products_helper.rb +2 -0
  1140. data/vendor/plugins/resource_controller/test/app/helpers/comments_helper.rb +2 -0
  1141. data/vendor/plugins/resource_controller/test/app/helpers/images_helper.rb +2 -0
  1142. data/vendor/plugins/resource_controller/test/app/helpers/options_helper.rb +2 -0
  1143. data/vendor/plugins/resource_controller/test/app/helpers/people_helper.rb +2 -0
  1144. data/vendor/plugins/resource_controller/test/app/helpers/photos_helper.rb +2 -0
  1145. data/vendor/plugins/resource_controller/test/app/helpers/posts_helper.rb +2 -0
  1146. data/vendor/plugins/resource_controller/test/app/helpers/projects_helper.rb +2 -0
  1147. data/vendor/plugins/resource_controller/test/app/helpers/somethings_helper.rb +2 -0
  1148. data/vendor/plugins/resource_controller/test/app/helpers/tags_helper.rb +2 -0
  1149. data/vendor/plugins/resource_controller/test/app/helpers/users_helper.rb +2 -0
  1150. data/vendor/plugins/resource_controller/test/app/models/account.rb +4 -0
  1151. data/vendor/plugins/resource_controller/test/app/models/comment.rb +3 -0
  1152. data/vendor/plugins/resource_controller/test/app/models/image.rb +3 -0
  1153. data/vendor/plugins/resource_controller/test/app/models/option.rb +3 -0
  1154. data/vendor/plugins/resource_controller/test/app/models/photo.rb +4 -0
  1155. data/vendor/plugins/resource_controller/test/app/models/post.rb +3 -0
  1156. data/vendor/plugins/resource_controller/test/app/models/product.rb +3 -0
  1157. data/vendor/plugins/resource_controller/test/app/models/project.rb +2 -0
  1158. data/vendor/plugins/resource_controller/test/app/models/something.rb +2 -0
  1159. data/vendor/plugins/resource_controller/test/app/models/tag.rb +3 -0
  1160. data/vendor/plugins/resource_controller/test/app/models/user.rb +3 -0
  1161. data/vendor/plugins/resource_controller/test/app/views/accounts/_form.html.erb +4 -0
  1162. data/vendor/plugins/resource_controller/test/app/views/accounts/edit.html.erb +14 -0
  1163. data/vendor/plugins/resource_controller/test/app/views/accounts/new.html.erb +12 -0
  1164. data/vendor/plugins/resource_controller/test/app/views/accounts/show.html.erb +5 -0
  1165. data/vendor/plugins/resource_controller/test/app/views/cms/options/edit.rhtml +17 -0
  1166. data/vendor/plugins/resource_controller/test/app/views/cms/options/index.rhtml +20 -0
  1167. data/vendor/plugins/resource_controller/test/app/views/cms/options/new.rhtml +16 -0
  1168. data/vendor/plugins/resource_controller/test/app/views/cms/options/show.rhtml +8 -0
  1169. data/vendor/plugins/resource_controller/test/app/views/cms/products/edit.rhtml +17 -0
  1170. data/vendor/plugins/resource_controller/test/app/views/cms/products/index.rhtml +20 -0
  1171. data/vendor/plugins/resource_controller/test/app/views/cms/products/new.rhtml +16 -0
  1172. data/vendor/plugins/resource_controller/test/app/views/cms/products/show.rhtml +8 -0
  1173. data/vendor/plugins/resource_controller/test/app/views/comments/edit.rhtml +27 -0
  1174. data/vendor/plugins/resource_controller/test/app/views/comments/index.rhtml +24 -0
  1175. data/vendor/plugins/resource_controller/test/app/views/comments/new.rhtml +26 -0
  1176. data/vendor/plugins/resource_controller/test/app/views/comments/show.rhtml +18 -0
  1177. data/vendor/plugins/resource_controller/test/app/views/images/_form.html.erb +4 -0
  1178. data/vendor/plugins/resource_controller/test/app/views/images/edit.html.erb +14 -0
  1179. data/vendor/plugins/resource_controller/test/app/views/images/new.html.erb +12 -0
  1180. data/vendor/plugins/resource_controller/test/app/views/layouts/application.rhtml +17 -0
  1181. data/vendor/plugins/resource_controller/test/app/views/layouts/comments.rhtml +17 -0
  1182. data/vendor/plugins/resource_controller/test/app/views/layouts/options.rhtml +17 -0
  1183. data/vendor/plugins/resource_controller/test/app/views/layouts/people.rhtml +17 -0
  1184. data/vendor/plugins/resource_controller/test/app/views/layouts/photos.rhtml +17 -0
  1185. data/vendor/plugins/resource_controller/test/app/views/layouts/projects.rhtml +17 -0
  1186. data/vendor/plugins/resource_controller/test/app/views/layouts/somethings.rhtml +17 -0
  1187. data/vendor/plugins/resource_controller/test/app/views/layouts/tags.rhtml +17 -0
  1188. data/vendor/plugins/resource_controller/test/app/views/options/_form.html.erb +8 -0
  1189. data/vendor/plugins/resource_controller/test/app/views/options/edit.html.erb +16 -0
  1190. data/vendor/plugins/resource_controller/test/app/views/options/index.html.erb +21 -0
  1191. data/vendor/plugins/resource_controller/test/app/views/options/new.html.erb +12 -0
  1192. data/vendor/plugins/resource_controller/test/app/views/options/show.html.erb +10 -0
  1193. data/vendor/plugins/resource_controller/test/app/views/people/edit.rhtml +17 -0
  1194. data/vendor/plugins/resource_controller/test/app/views/people/index.rhtml +20 -0
  1195. data/vendor/plugins/resource_controller/test/app/views/people/new.rhtml +16 -0
  1196. data/vendor/plugins/resource_controller/test/app/views/people/show.rhtml +8 -0
  1197. data/vendor/plugins/resource_controller/test/app/views/photos/edit.rhtml +17 -0
  1198. data/vendor/plugins/resource_controller/test/app/views/photos/index.rhtml +20 -0
  1199. data/vendor/plugins/resource_controller/test/app/views/photos/new.rhtml +16 -0
  1200. data/vendor/plugins/resource_controller/test/app/views/photos/show.rhtml +8 -0
  1201. data/vendor/plugins/resource_controller/test/app/views/posts/edit.rhtml +22 -0
  1202. data/vendor/plugins/resource_controller/test/app/views/posts/index.rhtml +22 -0
  1203. data/vendor/plugins/resource_controller/test/app/views/posts/new.rhtml +21 -0
  1204. data/vendor/plugins/resource_controller/test/app/views/posts/show.rhtml +13 -0
  1205. data/vendor/plugins/resource_controller/test/app/views/projects/edit.rhtml +17 -0
  1206. data/vendor/plugins/resource_controller/test/app/views/projects/index.rhtml +20 -0
  1207. data/vendor/plugins/resource_controller/test/app/views/projects/new.rhtml +16 -0
  1208. data/vendor/plugins/resource_controller/test/app/views/projects/show.rhtml +8 -0
  1209. data/vendor/plugins/resource_controller/test/app/views/somethings/edit.rhtml +17 -0
  1210. data/vendor/plugins/resource_controller/test/app/views/somethings/index.rhtml +20 -0
  1211. data/vendor/plugins/resource_controller/test/app/views/somethings/new.rhtml +16 -0
  1212. data/vendor/plugins/resource_controller/test/app/views/somethings/show.rhtml +8 -0
  1213. data/vendor/plugins/resource_controller/test/app/views/tags/edit.rhtml +17 -0
  1214. data/vendor/plugins/resource_controller/test/app/views/tags/index.rhtml +20 -0
  1215. data/{foozah/public/favicon.ico → vendor/plugins/resource_controller/test/app/views/tags/index.rjs} +0 -0
  1216. data/vendor/plugins/resource_controller/test/app/views/tags/new.rhtml +16 -0
  1217. data/vendor/plugins/resource_controller/test/app/views/tags/show.rhtml +8 -0
  1218. data/vendor/plugins/resource_controller/test/app/views/users/edit.rhtml +17 -0
  1219. data/vendor/plugins/resource_controller/test/app/views/users/index.rhtml +20 -0
  1220. data/vendor/plugins/resource_controller/test/app/views/users/new.rhtml +16 -0
  1221. data/vendor/plugins/resource_controller/test/app/views/users/show.rhtml +8 -0
  1222. data/vendor/plugins/resource_controller/test/config/boot.rb +109 -0
  1223. data/vendor/plugins/resource_controller/test/config/environment.rb +64 -0
  1224. data/vendor/plugins/resource_controller/test/config/environments/development.rb +21 -0
  1225. data/{foozah → vendor/plugins/resource_controller/test}/config/environments/test.rb +0 -0
  1226. data/vendor/plugins/resource_controller/test/config/routes.rb +58 -0
  1227. data/vendor/plugins/resource_controller/test/db/migrate/001_create_posts.rb +12 -0
  1228. data/vendor/plugins/resource_controller/test/db/migrate/002_create_products.rb +11 -0
  1229. data/vendor/plugins/resource_controller/test/db/migrate/003_create_comments.rb +13 -0
  1230. data/vendor/plugins/resource_controller/test/db/migrate/004_create_options.rb +13 -0
  1231. data/vendor/plugins/resource_controller/test/db/migrate/005_create_photos.rb +11 -0
  1232. data/vendor/plugins/resource_controller/test/db/migrate/006_create_tags.rb +17 -0
  1233. data/vendor/plugins/resource_controller/test/db/migrate/007_create_somethings.rb +11 -0
  1234. data/vendor/plugins/resource_controller/test/db/migrate/008_create_accounts.rb +11 -0
  1235. data/vendor/plugins/resource_controller/test/db/migrate/009_add_account_id_to_photos.rb +9 -0
  1236. data/vendor/plugins/resource_controller/test/db/migrate/010_create_projects.rb +11 -0
  1237. data/vendor/plugins/resource_controller/test/db/migrate/011_create_images.rb +12 -0
  1238. data/vendor/plugins/resource_controller/test/db/migrate/012_create_users.rb +11 -0
  1239. data/{foozah → vendor/plugins/resource_controller/test}/script/console +0 -0
  1240. data/vendor/plugins/resource_controller/test/script/destroy +3 -0
  1241. data/vendor/plugins/resource_controller/test/script/generate +3 -0
  1242. data/{foozah → vendor/plugins/resource_controller/test}/script/server +0 -0
  1243. data/vendor/plugins/resource_controller/test/test/fixtures/accounts.yml +7 -0
  1244. data/vendor/plugins/resource_controller/test/test/fixtures/comments.yml +11 -0
  1245. data/vendor/plugins/resource_controller/test/test/fixtures/images.yml +6 -0
  1246. data/vendor/plugins/resource_controller/test/test/fixtures/options.yml +9 -0
  1247. data/vendor/plugins/resource_controller/test/test/fixtures/photos.yml +9 -0
  1248. data/vendor/plugins/resource_controller/test/test/fixtures/photos_tags.yml +3 -0
  1249. data/vendor/plugins/resource_controller/test/test/fixtures/posts.yml +9 -0
  1250. data/vendor/plugins/resource_controller/test/test/fixtures/products.yml +7 -0
  1251. data/vendor/plugins/resource_controller/test/test/fixtures/projects.yml +7 -0
  1252. data/vendor/plugins/resource_controller/test/test/fixtures/somethings.yml +7 -0
  1253. data/vendor/plugins/resource_controller/test/test/fixtures/tags.yml +7 -0
  1254. data/vendor/plugins/resource_controller/test/test/fixtures/users.yml +5 -0
  1255. data/vendor/plugins/resource_controller/test/test/functional/cms/options_controller_test.rb +23 -0
  1256. data/vendor/plugins/resource_controller/test/test/functional/cms/products_controller_test.rb +23 -0
  1257. data/vendor/plugins/resource_controller/test/test/functional/comments_controller_test.rb +26 -0
  1258. data/vendor/plugins/resource_controller/test/test/functional/images_controller_test.rb +37 -0
  1259. data/vendor/plugins/resource_controller/test/test/functional/people_controller_test.rb +34 -0
  1260. data/vendor/plugins/resource_controller/test/test/functional/photos_controller_test.rb +130 -0
  1261. data/vendor/plugins/resource_controller/test/test/functional/posts_controller_test.rb +34 -0
  1262. data/vendor/plugins/resource_controller/test/test/functional/projects_controller_test.rb +18 -0
  1263. data/vendor/plugins/resource_controller/test/test/functional/somethings_controller_test.rb +28 -0
  1264. data/vendor/plugins/resource_controller/test/test/functional/tags_controller_test.rb +64 -0
  1265. data/vendor/plugins/resource_controller/test/test/functional/users_controller_test.rb +24 -0
  1266. data/vendor/plugins/resource_controller/test/test/test_helper.rb +12 -0
  1267. data/vendor/plugins/resource_controller/test/test/unit/accessors_test.rb +110 -0
  1268. data/vendor/plugins/resource_controller/test/test/unit/account_test.rb +7 -0
  1269. data/vendor/plugins/resource_controller/test/test/unit/action_options_test.rb +109 -0
  1270. data/vendor/plugins/resource_controller/test/test/unit/base_test.rb +11 -0
  1271. data/vendor/plugins/resource_controller/test/test/unit/comment_test.rb +10 -0
  1272. data/vendor/plugins/resource_controller/test/test/unit/failable_action_options_test.rb +77 -0
  1273. data/vendor/plugins/resource_controller/test/test/unit/helpers/current_objects_test.rb +133 -0
  1274. data/vendor/plugins/resource_controller/test/test/unit/helpers/internal_test.rb +106 -0
  1275. data/vendor/plugins/resource_controller/test/test/unit/helpers/nested_test.rb +86 -0
  1276. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_current_objects_test.rb +68 -0
  1277. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_nested_test.rb +77 -0
  1278. data/vendor/plugins/resource_controller/test/test/unit/helpers/singleton_urls_test.rb +67 -0
  1279. data/vendor/plugins/resource_controller/test/test/unit/helpers/urls_test.rb +75 -0
  1280. data/vendor/plugins/resource_controller/test/test/unit/helpers_test.rb +25 -0
  1281. data/vendor/plugins/resource_controller/test/test/unit/image_test.rb +7 -0
  1282. data/vendor/plugins/resource_controller/test/test/unit/option_test.rb +10 -0
  1283. data/vendor/plugins/resource_controller/test/test/unit/photo_test.rb +10 -0
  1284. data/vendor/plugins/resource_controller/test/test/unit/post_test.rb +10 -0
  1285. data/vendor/plugins/resource_controller/test/test/unit/project_test.rb +10 -0
  1286. data/vendor/plugins/resource_controller/test/test/unit/response_collector_test.rb +49 -0
  1287. data/vendor/plugins/resource_controller/test/test/unit/something_test.rb +10 -0
  1288. data/vendor/plugins/resource_controller/test/test/unit/tag_test.rb +10 -0
  1289. data/vendor/plugins/resource_controller/test/test/unit/urligence_test.rb +203 -0
  1290. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/Rakefile +32 -0
  1291. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/bin/convert_to_should_syntax +40 -0
  1292. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/init.rb +3 -0
  1293. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda.rb +43 -0
  1294. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +580 -0
  1295. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/color.rb +77 -0
  1296. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/controller_tests.rb +467 -0
  1297. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/html.rb +201 -0
  1298. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/xml.rb +170 -0
  1299. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/gem/proc_extensions.rb +14 -0
  1300. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/gem/shoulda.rb +239 -0
  1301. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/general.rb +118 -0
  1302. data/vendor/plugins/resource_controller/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +22 -0
  1303. data/vendor/plugins/rspec-rails/CHANGES +26 -0
  1304. data/vendor/plugins/{rspec_on_rails → rspec-rails}/MIT-LICENSE +0 -0
  1305. data/vendor/plugins/{rspec_on_rails → rspec-rails}/README +0 -0
  1306. data/vendor/plugins/rspec-rails/Rakefile +64 -0
  1307. data/vendor/plugins/rspec-rails/UPGRADE +7 -0
  1308. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/CHANGES +0 -0
  1309. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/rspec_generator.rb +0 -0
  1310. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/all_stories.rb +0 -0
  1311. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/previous_failures.txt +0 -0
  1312. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/rcov.opts +0 -0
  1313. data/{foozah → vendor/plugins/rspec-rails/generators/rspec/templates}/script/spec +0 -0
  1314. data/vendor/plugins/rspec-rails/generators/rspec/templates/script/spec_server +116 -0
  1315. data/vendor/plugins/rspec-rails/generators/rspec/templates/spec.opts +4 -0
  1316. data/vendor/plugins/rspec-rails/generators/rspec/templates/spec_helper.rb +47 -0
  1317. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec/templates/stories_helper.rb +0 -0
  1318. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_controller/USAGE +0 -0
  1319. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_controller/rspec_controller_generator.rb +0 -0
  1320. data/vendor/plugins/rspec-rails/generators/rspec_controller/templates/controller_spec.rb +25 -0
  1321. data/vendor/plugins/rspec-rails/generators/rspec_controller/templates/helper_spec.rb +11 -0
  1322. data/vendor/plugins/rspec-rails/generators/rspec_controller/templates/view_spec.rb +12 -0
  1323. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_model/USAGE +0 -0
  1324. data/vendor/plugins/{rspec_on_rails → rspec-rails}/generators/rspec_model/rspec_model_generator.rb +0 -0
  1325. data/vendor/plugins/rspec-rails/generators/rspec_model/templates/model_spec.rb +15 -0
  1326. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +166 -0
  1327. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/controller_spec.rb +327 -0
  1328. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +26 -0
  1329. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/helper_spec.rb +11 -0
  1330. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/index_erb_spec.rb +27 -0
  1331. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/new_erb_spec.rb +26 -0
  1332. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/routing_spec.rb +61 -0
  1333. data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb +23 -0
  1334. data/vendor/plugins/{rspec_on_rails → rspec-rails}/init.rb +0 -0
  1335. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/autotest/discover.rb +0 -0
  1336. data/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb +81 -0
  1337. data/vendor/plugins/rspec-rails/lib/spec/rails.rb +52 -0
  1338. data/vendor/plugins/rspec-rails/lib/spec/rails/example.rb +46 -0
  1339. data/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb +43 -0
  1340. data/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb +271 -0
  1341. data/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb +59 -0
  1342. data/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb +164 -0
  1343. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/example/model_example_group.rb +0 -0
  1344. data/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb +29 -0
  1345. data/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb +90 -0
  1346. data/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb +178 -0
  1347. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions.rb +0 -0
  1348. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_controller/base.rb +0 -0
  1349. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_controller/rescue.rb +0 -0
  1350. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_controller/test_response.rb +0 -0
  1351. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/action_view/base.rb +0 -0
  1352. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/active_record/base.rb +0 -0
  1353. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/object.rb +0 -0
  1354. data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb +71 -0
  1355. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/extensions/spec/matchers/have.rb +0 -0
  1356. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb +30 -0
  1357. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/matchers/assert_select.rb +0 -0
  1358. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb +57 -0
  1359. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb +54 -0
  1360. data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb +113 -0
  1361. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/matchers/render_template.rb +0 -0
  1362. data/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb +126 -0
  1363. data/vendor/plugins/{rspec_on_rails → rspec-rails}/lib/spec/rails/story_adapter.rb +0 -0
  1364. data/vendor/plugins/rspec-rails/lib/spec/rails/version.rb +39 -0
  1365. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/autotest/mappings_spec.rb +0 -0
  1366. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/autotest/rails_rspec_spec.rb +0 -0
  1367. data/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb +60 -0
  1368. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/configuration_spec.rb +0 -0
  1369. data/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb +62 -0
  1370. data/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb +206 -0
  1371. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/example_group_factory_spec.rb +0 -0
  1372. data/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb +161 -0
  1373. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/model_spec_spec.rb +0 -0
  1374. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/shared_behaviour_spec.rb +0 -0
  1375. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/example/test_unit_assertion_accessibility_spec.rb +0 -0
  1376. data/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb +272 -0
  1377. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/extensions/action_controller_rescue_action_spec.rb +0 -0
  1378. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/extensions/action_view_base_spec.rb +0 -0
  1379. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/extensions/active_record_spec.rb +0 -0
  1380. data/vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb +806 -0
  1381. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/description_generation_spec.rb +0 -0
  1382. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/errors_on_spec.rb +0 -0
  1383. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/have_text_spec.rb +0 -0
  1384. data/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb +70 -0
  1385. data/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb +209 -0
  1386. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/matchers/render_spec.rb +0 -0
  1387. data/vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb +10 -0
  1388. data/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb +64 -0
  1389. data/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb +79 -0
  1390. data/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb +8 -0
  1391. data/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb +8 -0
  1392. data/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb +96 -0
  1393. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails/spec_spec.rb +0 -0
  1394. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/rails_suite.rb +0 -0
  1395. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec/spec_helper.rb +0 -0
  1396. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/action_view_base_spec_controller.rb +0 -0
  1397. data/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb +68 -0
  1398. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/redirect_spec_controller.rb +0 -0
  1399. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/render_spec_controller.rb +0 -0
  1400. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/controllers/rjs_spec_controller.rb +0 -0
  1401. data/vendor/plugins/rspec-rails/spec_resources/helpers/explicit_helper.rb +34 -0
  1402. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/helpers/more_explicit_helper.rb +0 -0
  1403. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/helpers/plugin_application_helper.rb +0 -0
  1404. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/helpers/view_spec_helper.rb +0 -0
  1405. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/_partial.rhtml +0 -0
  1406. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +0 -0
  1407. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +0 -0
  1408. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
  1409. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +0 -0
  1410. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/controller_spec/action_with_template.rhtml +0 -0
  1411. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
  1412. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/render_spec/some_action.js.rjs +0 -0
  1413. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/render_spec/some_action.rhtml +0 -0
  1414. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/render_spec/some_action.rjs +0 -0
  1415. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/_replacement_partial.rhtml +0 -0
  1416. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/hide_div.rjs +0 -0
  1417. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/hide_page_element.rjs +0 -0
  1418. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/insert_html.rjs +0 -0
  1419. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/replace.rjs +0 -0
  1420. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/replace_html.rjs +0 -0
  1421. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +0 -0
  1422. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/visual_effect.rjs +0 -0
  1423. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +0 -0
  1424. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/tag_spec/no_tags.rhtml +0 -0
  1425. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +0 -0
  1426. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +0 -0
  1427. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_partial.rhtml +0 -0
  1428. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
  1429. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +0 -0
  1430. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +0 -0
  1431. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/_spacer.rhtml +0 -0
  1432. data/vendor/plugins/rspec-rails/spec_resources/views/view_spec/accessor.rhtml +5 -0
  1433. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/entry_form.rhtml +0 -0
  1434. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/explicit_helper.rhtml +0 -0
  1435. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/foo/show.rhtml +0 -0
  1436. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/implicit_helper.rhtml +0 -0
  1437. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/multiple_helpers.rhtml +0 -0
  1438. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/template_with_partial.rhtml +0 -0
  1439. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +0 -0
  1440. data/vendor/plugins/{rspec_on_rails → rspec-rails}/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +0 -0
  1441. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/all.rb +0 -0
  1442. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/helper.rb +0 -0
  1443. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/steps/people.rb +0 -0
  1444. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/transactions_should_rollback +0 -0
  1445. data/vendor/plugins/{rspec_on_rails → rspec-rails}/stories/transactions_should_rollback.rb +0 -0
  1446. data/vendor/plugins/rspec-rails/tasks/rspec.rake +137 -0
  1447. data/vendor/plugins/rspec/CHANGES +59 -0
  1448. data/vendor/plugins/rspec/MIT-LICENSE +1 -1
  1449. data/vendor/plugins/rspec/README +9 -44
  1450. data/vendor/plugins/rspec/Rakefile +34 -51
  1451. data/vendor/plugins/rspec/TODO +0 -1
  1452. data/vendor/plugins/rspec/bin/autospec +3 -0
  1453. data/vendor/plugins/rspec/bin/spec +0 -0
  1454. data/vendor/plugins/rspec/bin/spec_translator +0 -0
  1455. data/vendor/plugins/rspec/examples/pure/behave_as_example.rb +0 -0
  1456. data/vendor/plugins/rspec/examples/pure/partial_mock_example.rb +1 -0
  1457. data/vendor/plugins/rspec/examples/stories/calculator.rb +1 -1
  1458. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/everything.rb +1 -1
  1459. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +17 -17
  1460. data/vendor/plugins/rspec/lib/autotest/discover.rb +1 -1
  1461. data/vendor/plugins/rspec/lib/autotest/rspec.rb +7 -9
  1462. data/vendor/plugins/rspec/lib/spec.rb +10 -9
  1463. data/vendor/plugins/rspec/lib/spec/adapters.rb +1 -0
  1464. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine.rb +26 -0
  1465. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/mri.rb +8 -0
  1466. data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/rubinius.rb +8 -0
  1467. data/vendor/plugins/rspec/lib/spec/example.rb +1 -1
  1468. data/vendor/plugins/rspec/lib/spec/example/configuration.rb +30 -16
  1469. data/vendor/plugins/rspec/lib/spec/example/example_group.rb +2 -1
  1470. data/vendor/plugins/rspec/lib/spec/example/example_group_factory.rb +23 -21
  1471. data/vendor/plugins/rspec/lib/spec/example/example_group_methods.rb +23 -7
  1472. data/vendor/plugins/rspec/lib/spec/example/example_matcher.rb +2 -0
  1473. data/vendor/plugins/rspec/lib/spec/example/example_methods.rb +6 -0
  1474. data/vendor/plugins/rspec/lib/spec/example/module_inclusion_warnings.rb +37 -0
  1475. data/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +1 -1
  1476. data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +4 -12
  1477. data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +10 -0
  1478. data/vendor/plugins/rspec/lib/spec/extensions.rb +1 -0
  1479. data/vendor/plugins/rspec/lib/spec/extensions/metaclass.rb +7 -0
  1480. data/vendor/plugins/rspec/lib/spec/extensions/object.rb +0 -4
  1481. data/vendor/plugins/rspec/lib/spec/matchers/change.rb +14 -10
  1482. data/vendor/plugins/rspec/lib/spec/matchers/has.rb +1 -11
  1483. data/vendor/plugins/rspec/lib/spec/matchers/have.rb +5 -1
  1484. data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +2 -2
  1485. data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +53 -30
  1486. data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +113 -10
  1487. data/vendor/plugins/rspec/lib/spec/mocks.rb +1 -1
  1488. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +5 -1
  1489. data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +34 -1
  1490. data/vendor/plugins/rspec/lib/spec/mocks/extensions.rb +1 -0
  1491. data/vendor/plugins/rspec/lib/spec/mocks/framework.rb +15 -0
  1492. data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +30 -7
  1493. data/vendor/plugins/rspec/lib/spec/mocks/mock.rb +13 -7
  1494. data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +26 -12
  1495. data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +18 -26
  1496. data/vendor/plugins/rspec/lib/spec/runner.rb +3 -4
  1497. data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +1 -1
  1498. data/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +1 -1
  1499. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +2 -3
  1500. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +2 -2
  1501. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +4 -8
  1502. data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +18 -14
  1503. data/vendor/plugins/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +65 -0
  1504. data/vendor/plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb +4 -0
  1505. data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +5 -1
  1506. data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +1 -1
  1507. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb +48 -15
  1508. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb +69 -12
  1509. data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +17 -15
  1510. data/vendor/plugins/rspec/lib/spec/runner/options.rb +38 -15
  1511. data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +15 -11
  1512. data/vendor/plugins/rspec/lib/spec/story/extensions/regexp.rb +2 -2
  1513. data/vendor/plugins/rspec/lib/spec/story/extensions/string.rb +2 -2
  1514. data/vendor/plugins/rspec/lib/spec/story/runner.rb +9 -5
  1515. data/vendor/plugins/rspec/lib/spec/story/runner/plain_text_story_runner.rb +2 -2
  1516. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_runner.rb +8 -0
  1517. data/vendor/plugins/rspec/lib/spec/story/runner/story_mediator.rb +15 -1
  1518. data/vendor/plugins/rspec/lib/spec/story/runner/story_parser.rb +20 -0
  1519. data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +3 -1
  1520. data/vendor/plugins/rspec/lib/spec/story/step.rb +43 -31
  1521. data/vendor/plugins/rspec/lib/spec/story/story.rb +8 -11
  1522. data/vendor/plugins/rspec/lib/spec/story/world.rb +6 -3
  1523. data/vendor/plugins/rspec/lib/spec/version.rb +2 -2
  1524. data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +2 -0
  1525. data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +140 -129
  1526. data/vendor/plugins/rspec/spec/spec/adapters/ruby_engine_spec.rb +16 -0
  1527. data/vendor/plugins/rspec/spec/spec/example/configuration_spec.rb +0 -0
  1528. data/vendor/plugins/rspec/spec/spec/example/example_group/described_module_spec.rb +20 -0
  1529. data/vendor/plugins/rspec/spec/spec/example/example_group/warning_messages_spec.rb +76 -0
  1530. data/vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb +117 -102
  1531. data/vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb +102 -19
  1532. data/vendor/plugins/rspec/spec/spec/example/example_group_spec.rb +13 -1
  1533. data/vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb +28 -6
  1534. data/vendor/plugins/rspec/spec/spec/example/nested_example_group_spec.rb +12 -0
  1535. data/vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb +11 -0
  1536. data/vendor/plugins/rspec/spec/spec/example/predicate_matcher_spec.rb +0 -0
  1537. data/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +27 -9
  1538. data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +24 -0
  1539. data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +4 -6
  1540. data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +58 -37
  1541. data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +16 -0
  1542. data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +7 -5
  1543. data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +11 -1
  1544. data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +124 -0
  1545. data/vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +64 -2
  1546. data/vendor/plugins/rspec/spec/spec/mocks/{bug_report_10263.rb → bug_report_10263_spec.rb} +0 -0
  1547. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +2 -0
  1548. data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +15 -0
  1549. data/vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +32 -0
  1550. data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +62 -43
  1551. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +41 -5
  1552. data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +21 -0
  1553. data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +1 -1
  1554. data/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +7 -1
  1555. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +3 -2
  1556. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +30 -25
  1557. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +0 -3
  1558. data/vendor/plugins/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +333 -0
  1559. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +12 -2
  1560. data/vendor/plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +2 -2
  1561. data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +110 -78
  1562. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb +28 -2
  1563. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +214 -1
  1564. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +33 -28
  1565. data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +65 -49
  1566. data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +103 -17
  1567. data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +10 -7
  1568. data/vendor/plugins/rspec/spec/spec/runner/spec_drb.opts +1 -0
  1569. data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +10 -4
  1570. data/vendor/plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb +14 -13
  1571. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb +124 -52
  1572. data/vendor/plugins/rspec/spec/spec/story/runner/story_mediator_spec.rb +12 -2
  1573. data/vendor/plugins/rspec/spec/spec/story/runner/story_parser_spec.rb +23 -6
  1574. data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +40 -2
  1575. data/vendor/plugins/rspec/spec/spec/story/runner_spec.rb +59 -72
  1576. data/vendor/plugins/rspec/spec/spec/story/step_spec.rb +53 -3
  1577. data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +2 -2
  1578. data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +1 -1
  1579. data/vendor/plugins/rspec/stories/all.rb +1 -1
  1580. data/vendor/plugins/rspec/stories/mock_framework_integration/stories.rb +7 -0
  1581. data/vendor/plugins/rspec/stories/mock_framework_integration/use_flexmock.story +9 -0
  1582. data/vendor/plugins/rspec/stories/resources/spec/spec_with_flexmock.rb +18 -0
  1583. data/vendor/plugins/rspec/stories/stories/multiline_steps.story +23 -0
  1584. data/vendor/plugins/rspec/stories/stories/steps/multiline_steps.rb +13 -0
  1585. data/vendor/plugins/rspec/stories/stories/stories.rb +6 -0
  1586. data/vendor/plugins/state_machine/CHANGELOG.rdoc +97 -0
  1587. data/vendor/plugins/state_machine/LICENSE +20 -0
  1588. data/vendor/plugins/state_machine/README.rdoc +182 -0
  1589. data/vendor/plugins/state_machine/Rakefile +88 -0
  1590. data/vendor/plugins/state_machine/init.rb +1 -0
  1591. data/vendor/plugins/state_machine/lib/state_machine.rb +129 -0
  1592. data/vendor/plugins/state_machine/lib/state_machine/event.rb +116 -0
  1593. data/vendor/plugins/state_machine/lib/state_machine/machine.rb +412 -0
  1594. data/vendor/plugins/state_machine/lib/state_machine/transition.rb +227 -0
  1595. data/vendor/plugins/state_machine/test/app_root/app/models/auto_shop.rb +34 -0
  1596. data/vendor/plugins/state_machine/test/app_root/app/models/car.rb +19 -0
  1597. data/vendor/plugins/state_machine/test/app_root/app/models/highway.rb +3 -0
  1598. data/vendor/plugins/state_machine/test/app_root/app/models/motorcycle.rb +3 -0
  1599. data/vendor/plugins/state_machine/test/app_root/app/models/switch.rb +23 -0
  1600. data/vendor/plugins/state_machine/test/app_root/app/models/switch_observer.rb +20 -0
  1601. data/vendor/plugins/state_machine/test/app_root/app/models/toggle_switch.rb +2 -0
  1602. data/vendor/plugins/state_machine/test/app_root/app/models/vehicle.rb +78 -0
  1603. data/vendor/plugins/state_machine/test/app_root/config/environment.rb +7 -0
  1604. data/vendor/plugins/state_machine/test/app_root/db/migrate/001_create_switches.rb +12 -0
  1605. data/vendor/plugins/state_machine/test/app_root/db/migrate/002_create_auto_shops.rb +13 -0
  1606. data/vendor/plugins/state_machine/test/app_root/db/migrate/003_create_highways.rb +11 -0
  1607. data/vendor/plugins/state_machine/test/app_root/db/migrate/004_create_vehicles.rb +16 -0
  1608. data/vendor/plugins/state_machine/test/factory.rb +73 -0
  1609. data/vendor/plugins/state_machine/test/functional/state_machine_test.rb +499 -0
  1610. data/vendor/plugins/state_machine/test/test_helper.rb +13 -0
  1611. data/vendor/plugins/state_machine/test/unit/event_test.rb +235 -0
  1612. data/vendor/plugins/state_machine/test/unit/invalid_transition_test.rb +7 -0
  1613. data/vendor/plugins/state_machine/test/unit/machine_test.rb +306 -0
  1614. data/vendor/plugins/state_machine/test/unit/state_machine_test.rb +130 -0
  1615. data/vendor/plugins/state_machine/test/unit/transition_test.rb +633 -0
  1616. metadata +1607 -2266
  1617. data/app/controllers/admin/categories_controller.rb +0 -59
  1618. data/app/controllers/cart_controller.rb +0 -44
  1619. data/app/controllers/checkout_controller.rb +0 -173
  1620. data/app/controllers/store_controller.rb +0 -27
  1621. data/app/helpers/admin/categories_helper.rb +0 -3
  1622. data/app/helpers/cart_helper.rb +0 -6
  1623. data/app/helpers/checkout_helper.rb +0 -14
  1624. data/app/models/cart_item.rb +0 -29
  1625. data/app/models/category.rb +0 -22
  1626. data/app/models/credit_card.rb +0 -24
  1627. data/app/models/inventory_level.rb +0 -19
  1628. data/app/models/order_operation.rb +0 -7
  1629. data/app/models/payment.rb +0 -49
  1630. data/app/models/search_criteria.rb +0 -27
  1631. data/app/models/txn.rb +0 -7
  1632. data/app/views/account/index.rhtml +0 -3
  1633. data/app/views/account/login.rhtml +0 -12
  1634. data/app/views/account/signup.rhtml +0 -16
  1635. data/app/views/admin/categories/_form.rhtml +0 -10
  1636. data/app/views/admin/categories/edit.rhtml +0 -9
  1637. data/app/views/admin/categories/list.rhtml +0 -47
  1638. data/app/views/admin/categories/new.rhtml +0 -8
  1639. data/app/views/admin/option_types/_form.rhtml +0 -16
  1640. data/app/views/admin/option_types/_new_option_value.rhtml +0 -13
  1641. data/app/views/admin/option_types/_option_values.rhtml +0 -43
  1642. data/app/views/admin/option_types/edit.rhtml +0 -8
  1643. data/app/views/admin/option_types/index.rhtml +0 -23
  1644. data/app/views/admin/option_types/new.rhtml +0 -8
  1645. data/app/views/admin/option_types/select.rhtml +0 -28
  1646. data/app/views/admin/orders/index.rhtml +0 -99
  1647. data/app/views/admin/orders/show.rhtml +0 -72
  1648. data/app/views/admin/overview/index.rhtml +0 -3
  1649. data/app/views/admin/products/_form.rhtml +0 -59
  1650. data/app/views/admin/products/_menu.rhtml +0 -7
  1651. data/app/views/admin/products/_new_variant.rhtml +0 -11
  1652. data/app/views/admin/products/_variants.rhtml +0 -52
  1653. data/app/views/admin/products/edit.rhtml +0 -8
  1654. data/app/views/admin/products/index.rhtml +0 -63
  1655. data/app/views/admin/products/new.rhtml +0 -9
  1656. data/app/views/admin/reports/index.rhtml +0 -29
  1657. data/app/views/admin/reports/sales_total.rhtml +0 -28
  1658. data/app/views/cart/index.rhtml +0 -49
  1659. data/app/views/checkout/_address.rhtml +0 -51
  1660. data/app/views/checkout/_address_ro.rhtml +0 -18
  1661. data/app/views/checkout/_cart_item.rhtml +0 -5
  1662. data/app/views/checkout/_extra.rhtml +0 -1
  1663. data/app/views/checkout/addresses.rhtml +0 -51
  1664. data/app/views/checkout/cvv.rhtml +0 -15
  1665. data/app/views/checkout/empty_cart.rhtml +0 -4
  1666. data/app/views/checkout/final_confirmation.rhtml +0 -92
  1667. data/app/views/checkout/incomplete.rhtml +0 -7
  1668. data/app/views/checkout/thank_you.rhtml +0 -11
  1669. data/app/views/layouts/admin.rhtml +0 -71
  1670. data/app/views/layouts/application.rhtml +0 -64
  1671. data/app/views/layouts/products.rhtml +0 -19
  1672. data/app/views/order_mailer/cancel.rhtml +0 -15
  1673. data/app/views/order_mailer/confirm.rhtml +0 -18
  1674. data/app/views/shared/_images.html.erb +0 -43
  1675. data/app/views/shared/_order_details.rhtml +0 -35
  1676. data/app/views/shared/_paginate.rhtml +0 -34
  1677. data/app/views/shared/_report_criteria.rhtml +0 -32
  1678. data/app/views/shared/_store_menu.rhtml +0 -6
  1679. data/app/views/store/_products.rhtml +0 -10
  1680. data/app/views/store/_thumbnails.html.erb +0 -9
  1681. data/app/views/store/list.rhtml +0 -12
  1682. data/app/views/store/show.rhtml +0 -62
  1683. data/db/development_structure.sql +0 -294
  1684. data/db/sample/categories.yml +0 -35
  1685. data/db/sample/countries.yml +0 -3
  1686. data/db/sample/credit_cards.yml +0 -12
  1687. data/db/sample/txns.yml +0 -7
  1688. data/foozah/CHANGELOG +0 -47
  1689. data/foozah/CONTRIBUTORS +0 -27
  1690. data/foozah/INSTALL +0 -27
  1691. data/foozah/LICENSE +0 -26
  1692. data/foozah/README.markdown +0 -88
  1693. data/foozah/Rakefile +0 -3
  1694. data/foozah/config/boot.rb +0 -148
  1695. data/foozah/config/database.yml +0 -16
  1696. data/foozah/config/environment.rb +0 -106
  1697. data/foozah/config/environments/development.rb +0 -24
  1698. data/foozah/config/environments/production.rb +0 -21
  1699. data/foozah/config/routes.rb +0 -1
  1700. data/foozah/db/development.sqlite3.db +0 -0
  1701. data/foozah/public/404.html +0 -30
  1702. data/foozah/public/500.html +0 -30
  1703. data/foozah/public/dispatch.cgi +0 -10
  1704. data/foozah/public/dispatch.fcgi +0 -24
  1705. data/foozah/public/dispatch.rb +0 -10
  1706. data/foozah/public/images/amex_cid.gif +0 -0
  1707. data/foozah/public/images/calendar_date_select/calendar.gif +0 -0
  1708. data/foozah/public/images/creditcard.gif +0 -0
  1709. data/foozah/public/images/discover_cid.gif +0 -0
  1710. data/foozah/public/images/master_cid.jpg +0 -0
  1711. data/foozah/public/images/rails.png +0 -0
  1712. data/foozah/public/images/spinner.gif +0 -0
  1713. data/foozah/public/images/spree.jpg +0 -0
  1714. data/foozah/public/images/spree/progress.gif +0 -0
  1715. data/foozah/public/images/spree/spinner.gif +0 -0
  1716. data/foozah/public/images/spree/spree.jpg +0 -0
  1717. data/foozah/public/images/visa_cid.gif +0 -0
  1718. data/foozah/public/javascripts/application.js +0 -2
  1719. data/foozah/public/javascripts/calendar_date_select/calendar_date_select.js +0 -439
  1720. data/foozah/public/javascripts/calendar_date_select/format_american.js +0 -34
  1721. data/foozah/public/javascripts/calendar_date_select/format_euro_24hr.js +0 -7
  1722. data/foozah/public/javascripts/calendar_date_select/format_finnish.js +0 -24
  1723. data/foozah/public/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -36
  1724. data/foozah/public/javascripts/calendar_date_select/format_italian.js +0 -24
  1725. data/foozah/public/javascripts/controls.js +0 -833
  1726. data/foozah/public/javascripts/dragdrop.js +0 -942
  1727. data/foozah/public/javascripts/effects.js +0 -1088
  1728. data/foozah/public/javascripts/prototype.js +0 -4184
  1729. data/foozah/public/plugin_assets/README +0 -5
  1730. data/foozah/public/plugin_assets/calendar_date_select/images/calendar_date_select/calendar.gif +0 -0
  1731. data/foozah/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/calendar_date_select.js +0 -439
  1732. data/foozah/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_american.js +0 -34
  1733. data/foozah/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_euro_24hr.js +0 -7
  1734. data/foozah/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_finnish.js +0 -24
  1735. data/foozah/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -36
  1736. data/foozah/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_italian.js +0 -24
  1737. data/foozah/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/locale/fi.js +0 -10
  1738. data/foozah/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/blue.css +0 -130
  1739. data/foozah/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/default.css +0 -135
  1740. data/foozah/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/plain.css +0 -128
  1741. data/foozah/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/red.css +0 -135
  1742. data/foozah/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/silver.css +0 -133
  1743. data/foozah/public/plugin_assets/spree/404.html +0 -30
  1744. data/foozah/public/plugin_assets/spree/500.html +0 -30
  1745. data/foozah/public/plugin_assets/spree/dispatch.cgi +0 -10
  1746. data/foozah/public/plugin_assets/spree/dispatch.fcgi +0 -24
  1747. data/foozah/public/plugin_assets/spree/dispatch.rb +0 -10
  1748. data/foozah/public/plugin_assets/spree/favicon.ico +0 -0
  1749. data/foozah/public/plugin_assets/spree/images/amex_cid.gif +0 -0
  1750. data/foozah/public/plugin_assets/spree/images/creditcard.gif +0 -0
  1751. data/foozah/public/plugin_assets/spree/images/discover_cid.gif +0 -0
  1752. data/foozah/public/plugin_assets/spree/images/master_cid.jpg +0 -0
  1753. data/foozah/public/plugin_assets/spree/images/products/ror_bag.jpg +0 -0
  1754. data/foozah/public/plugin_assets/spree/images/products/ror_baseball_jersey.jpg +0 -0
  1755. data/foozah/public/plugin_assets/spree/images/products/ror_jr_spaghetti.jpg +0 -0
  1756. data/foozah/public/plugin_assets/spree/images/products/ror_mug.jpg +0 -0
  1757. data/foozah/public/plugin_assets/spree/images/products/ror_ringer_tshirt.jpg +0 -0
  1758. data/foozah/public/plugin_assets/spree/images/products/ror_stein.jpg +0 -0
  1759. data/foozah/public/plugin_assets/spree/images/products/ror_tote.jpg +0 -0
  1760. data/foozah/public/plugin_assets/spree/images/rails.png +0 -0
  1761. data/foozah/public/plugin_assets/spree/images/spinner.gif +0 -0
  1762. data/foozah/public/plugin_assets/spree/images/spree/progress.gif +0 -0
  1763. data/foozah/public/plugin_assets/spree/images/spree/spinner.gif +0 -0
  1764. data/foozah/public/plugin_assets/spree/images/spree/spree.jpg +0 -0
  1765. data/foozah/public/plugin_assets/spree/images/spree/spree_logo142x65.gif +0 -0
  1766. data/foozah/public/plugin_assets/spree/images/spree/spree_logo245x112.gif +0 -0
  1767. data/foozah/public/plugin_assets/spree/images/visa_cid.gif +0 -0
  1768. data/foozah/public/plugin_assets/spree/javascripts/application.js +0 -2
  1769. data/foozah/public/plugin_assets/spree/javascripts/controls.js +0 -833
  1770. data/foozah/public/plugin_assets/spree/javascripts/dragdrop.js +0 -942
  1771. data/foozah/public/plugin_assets/spree/javascripts/effects.js +0 -1088
  1772. data/foozah/public/plugin_assets/spree/javascripts/lowpro.js +0 -307
  1773. data/foozah/public/plugin_assets/spree/javascripts/prototype.js +0 -2515
  1774. data/foozah/public/plugin_assets/spree/robots.txt +0 -1
  1775. data/foozah/public/plugin_assets/spree/stylesheets/cart/_controller.css +0 -71
  1776. data/foozah/public/plugin_assets/spree/stylesheets/checkout/_controller.css +0 -31
  1777. data/foozah/public/plugin_assets/spree/stylesheets/fullscreen.css +0 -63
  1778. data/foozah/public/plugin_assets/spree/stylesheets/orders/_controller.css +0 -3
  1779. data/foozah/public/plugin_assets/spree/stylesheets/products/_controller.css +0 -38
  1780. data/foozah/public/plugin_assets/spree/stylesheets/spree-admin.css +0 -355
  1781. data/foozah/public/plugin_assets/spree/stylesheets/spree.css +0 -66
  1782. data/foozah/public/plugin_assets/spree/stylesheets/store/_controller.css +0 -23
  1783. data/foozah/public/robots.txt +0 -1
  1784. data/foozah/public/stylesheets/application.css +0 -4
  1785. data/foozah/public/stylesheets/calendar_date_select/blue.css +0 -130
  1786. data/foozah/public/stylesheets/calendar_date_select/default.css +0 -135
  1787. data/foozah/public/stylesheets/calendar_date_select/plain.css +0 -128
  1788. data/foozah/public/stylesheets/calendar_date_select/red.css +0 -135
  1789. data/foozah/public/stylesheets/calendar_date_select/silver.css +0 -133
  1790. data/foozah/public/stylesheets/cart/_controller.css +0 -71
  1791. data/foozah/public/stylesheets/checkout/_controller-override.css +0 -13
  1792. data/foozah/public/stylesheets/checkout/_controller.css +0 -31
  1793. data/foozah/public/stylesheets/fullscreen.css +0 -63
  1794. data/foozah/public/stylesheets/orders/_controller.css +0 -3
  1795. data/foozah/public/stylesheets/products/_controller.css +0 -38
  1796. data/foozah/public/stylesheets/spree-admin.css +0 -355
  1797. data/foozah/public/stylesheets/spree.css +0 -296
  1798. data/foozah/public/stylesheets/store/_controller.css +0 -23
  1799. data/foozah/script/about +0 -3
  1800. data/foozah/script/breakpointer +0 -3
  1801. data/foozah/script/generate +0 -16
  1802. data/foozah/script/performance/benchmarker +0 -3
  1803. data/foozah/script/performance/profiler +0 -3
  1804. data/foozah/script/process/inspector +0 -3
  1805. data/foozah/script/process/reaper +0 -3
  1806. data/foozah/script/process/spawner +0 -3
  1807. data/foozah/script/runner +0 -3
  1808. data/foozah/script/spec_server +0 -102
  1809. data/lib/easy_role_permissions.yml +0 -76
  1810. data/lib/generators/instance/templates/instance_boot.rb +0 -148
  1811. data/lib/generators/instance/templates/instance_environment.rb +0 -106
  1812. data/lib/spree/extension_migrator.rb +0 -47
  1813. data/login.patch +0 -55
  1814. data/public/plugin_assets/README +0 -5
  1815. data/public/plugin_assets/calendar_date_select/images/calendar_date_select/calendar.gif +0 -0
  1816. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/calendar_date_select.js +0 -439
  1817. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_american.js +0 -34
  1818. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_euro_24hr.js +0 -7
  1819. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_finnish.js +0 -24
  1820. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -36
  1821. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/format_italian.js +0 -24
  1822. data/public/plugin_assets/calendar_date_select/javascripts/calendar_date_select/locale/fi.js +0 -10
  1823. data/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/blue.css +0 -130
  1824. data/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/default.css +0 -135
  1825. data/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/plain.css +0 -128
  1826. data/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/red.css +0 -135
  1827. data/public/plugin_assets/calendar_date_select/stylesheets/calendar_date_select/silver.css +0 -133
  1828. data/public/plugin_assets/spree/404.html +0 -30
  1829. data/public/plugin_assets/spree/500.html +0 -30
  1830. data/public/plugin_assets/spree/dispatch.cgi +0 -10
  1831. data/public/plugin_assets/spree/dispatch.fcgi +0 -24
  1832. data/public/plugin_assets/spree/dispatch.rb +0 -10
  1833. data/public/plugin_assets/spree/favicon.ico +0 -0
  1834. data/public/plugin_assets/spree/images/amex_cid.gif +0 -0
  1835. data/public/plugin_assets/spree/images/creditcard.gif +0 -0
  1836. data/public/plugin_assets/spree/images/discover_cid.gif +0 -0
  1837. data/public/plugin_assets/spree/images/master_cid.jpg +0 -0
  1838. data/public/plugin_assets/spree/images/products/ror_bag.jpg +0 -0
  1839. data/public/plugin_assets/spree/images/products/ror_baseball_jersey.jpg +0 -0
  1840. data/public/plugin_assets/spree/images/products/ror_jr_spaghetti.jpg +0 -0
  1841. data/public/plugin_assets/spree/images/products/ror_mug.jpg +0 -0
  1842. data/public/plugin_assets/spree/images/products/ror_ringer_tshirt.jpg +0 -0
  1843. data/public/plugin_assets/spree/images/products/ror_stein.jpg +0 -0
  1844. data/public/plugin_assets/spree/images/products/ror_tote.jpg +0 -0
  1845. data/public/plugin_assets/spree/images/rails.png +0 -0
  1846. data/public/plugin_assets/spree/images/spinner.gif +0 -0
  1847. data/public/plugin_assets/spree/images/spree/progress.gif +0 -0
  1848. data/public/plugin_assets/spree/images/spree/spinner.gif +0 -0
  1849. data/public/plugin_assets/spree/images/spree/spree.jpg +0 -0
  1850. data/public/plugin_assets/spree/images/spree/spree_logo142x65.gif +0 -0
  1851. data/public/plugin_assets/spree/images/spree/spree_logo245x112.gif +0 -0
  1852. data/public/plugin_assets/spree/images/visa_cid.gif +0 -0
  1853. data/public/plugin_assets/spree/javascripts/application.js +0 -2
  1854. data/public/plugin_assets/spree/javascripts/controls.js +0 -833
  1855. data/public/plugin_assets/spree/javascripts/dragdrop.js +0 -942
  1856. data/public/plugin_assets/spree/javascripts/effects.js +0 -1088
  1857. data/public/plugin_assets/spree/javascripts/lowpro.js +0 -307
  1858. data/public/plugin_assets/spree/javascripts/prototype.js +0 -2515
  1859. data/public/plugin_assets/spree/robots.txt +0 -1
  1860. data/public/plugin_assets/spree/stylesheets/cart/_controller.css +0 -71
  1861. data/public/plugin_assets/spree/stylesheets/checkout/_controller.css +0 -31
  1862. data/public/plugin_assets/spree/stylesheets/fullscreen.css +0 -63
  1863. data/public/plugin_assets/spree/stylesheets/orders/_controller.css +0 -3
  1864. data/public/plugin_assets/spree/stylesheets/products/_controller.css +0 -38
  1865. data/public/plugin_assets/spree/stylesheets/spree-admin.css +0 -355
  1866. data/public/plugin_assets/spree/stylesheets/spree.css +0 -66
  1867. data/public/plugin_assets/spree/stylesheets/store/_controller.css +0 -23
  1868. data/public/stylesheets/cart/_controller.css +0 -71
  1869. data/public/stylesheets/checkout/_controller-override.css +0 -13
  1870. data/public/stylesheets/checkout/_controller.css +0 -31
  1871. data/public/stylesheets/products/_controller.css +0 -38
  1872. data/public/stylesheets/store/_controller.css +0 -23
  1873. data/spec/models/cart_item_spec.rb +0 -50
  1874. data/spec/models/cart_spec.rb +0 -51
  1875. data/spree.tmproj +0 -800
  1876. data/vendor/extensions/payment_gateway/spec/controllers/payment_gateway_spec.rb +0 -19
  1877. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/show.html.erb +0 -4
  1878. data/vendor/extensions/tax_calculator/db/migrate/001_create_tax_rates.rb +0 -13
  1879. data/vendor/extensions/tax_calculator/spec/fixtures/tax_rates.yml +0 -3
  1880. data/vendor/plugins/active_merchant/CHANGELOG +0 -345
  1881. data/vendor/plugins/active_merchant/CONTRIBUTERS +0 -69
  1882. data/vendor/plugins/active_merchant/MIT-LICENSE +0 -20
  1883. data/vendor/plugins/active_merchant/README +0 -127
  1884. data/vendor/plugins/active_merchant/Rakefile +0 -160
  1885. data/vendor/plugins/active_merchant/gem-public_cert.pem +0 -20
  1886. data/vendor/plugins/active_merchant/generators/gateway/USAGE +0 -5
  1887. data/vendor/plugins/active_merchant/generators/gateway/gateway_generator.rb +0 -61
  1888. data/vendor/plugins/active_merchant/generators/gateway/templates/gateway.rb +0 -77
  1889. data/vendor/plugins/active_merchant/generators/gateway/templates/gateway_test.rb +0 -49
  1890. data/vendor/plugins/active_merchant/generators/gateway/templates/remote_gateway_test.rb +0 -57
  1891. data/vendor/plugins/active_merchant/generators/integration/USAGE +0 -5
  1892. data/vendor/plugins/active_merchant/generators/integration/integration_generator.rb +0 -68
  1893. data/vendor/plugins/active_merchant/generators/integration/templates/helper.rb +0 -34
  1894. data/vendor/plugins/active_merchant/generators/integration/templates/helper_test.rb +0 -54
  1895. data/vendor/plugins/active_merchant/generators/integration/templates/integration.rb +0 -18
  1896. data/vendor/plugins/active_merchant/generators/integration/templates/module_test.rb +0 -9
  1897. data/vendor/plugins/active_merchant/generators/integration/templates/notification.rb +0 -100
  1898. data/vendor/plugins/active_merchant/generators/integration/templates/notification_test.rb +0 -41
  1899. data/vendor/plugins/active_merchant/init.rb +0 -3
  1900. data/vendor/plugins/active_merchant/lib/active_merchant.rb +0 -70
  1901. data/vendor/plugins/active_merchant/lib/active_merchant/billing/avs_result.rb +0 -95
  1902. data/vendor/plugins/active_merchant/lib/active_merchant/billing/base.rb +0 -57
  1903. data/vendor/plugins/active_merchant/lib/active_merchant/billing/check.rb +0 -61
  1904. data/vendor/plugins/active_merchant/lib/active_merchant/billing/credit_card.rb +0 -157
  1905. data/vendor/plugins/active_merchant/lib/active_merchant/billing/credit_card_formatting.rb +0 -21
  1906. data/vendor/plugins/active_merchant/lib/active_merchant/billing/credit_card_methods.rb +0 -125
  1907. data/vendor/plugins/active_merchant/lib/active_merchant/billing/cvv_result.rb +0 -38
  1908. data/vendor/plugins/active_merchant/lib/active_merchant/billing/expiry_date.rb +0 -28
  1909. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateway.rb +0 -162
  1910. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways.rb +0 -3
  1911. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/authorize_net.rb +0 -633
  1912. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/authorize_net_cim.rb +0 -697
  1913. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/bogus.rb +0 -86
  1914. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/braintree.rb +0 -205
  1915. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/card_stream.rb +0 -235
  1916. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/cyber_source.rb +0 -406
  1917. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/data_cash.rb +0 -595
  1918. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/efsnet.rb +0 -229
  1919. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/eway.rb +0 -272
  1920. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/exact.rb +0 -222
  1921. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/linkpoint.rb +0 -396
  1922. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/moneris.rb +0 -205
  1923. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/net_registry.rb +0 -189
  1924. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/netbilling.rb +0 -168
  1925. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/pay_junction.rb +0 -386
  1926. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/pay_secure.rb +0 -120
  1927. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow.rb +0 -236
  1928. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb +0 -213
  1929. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow/payflow_express_response.rb +0 -39
  1930. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow/payflow_response.rb +0 -13
  1931. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_express.rb +0 -138
  1932. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_express_nv.rb +0 -181
  1933. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_express_uk.rb +0 -15
  1934. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_nv.rb +0 -234
  1935. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_nv/payflow_express_nv_response.rb +0 -39
  1936. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_nv/payflow_nv_common_api.rb +0 -227
  1937. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_nv/payflow_nv_response.rb +0 -28
  1938. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payflow_uk.rb +0 -21
  1939. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/payment_express.rb +0 -242
  1940. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/paypal.rb +0 -108
  1941. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb +0 -314
  1942. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/paypal/paypal_express_response.rb +0 -38
  1943. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/paypal_express.rb +0 -130
  1944. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/paypal_express_common.rb +0 -20
  1945. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/plugnpay.rb +0 -292
  1946. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/protx.rb +0 -284
  1947. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/psigate.rb +0 -214
  1948. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/psl_card.rb +0 -302
  1949. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/quickpay.rb +0 -183
  1950. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/realex.rb +0 -200
  1951. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/secure_pay.rb +0 -31
  1952. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/secure_pay_au.rb +0 -155
  1953. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/secure_pay_tech.rb +0 -113
  1954. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/skip_jack.rb +0 -437
  1955. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/trans_first.rb +0 -127
  1956. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/trust_commerce.rb +0 -414
  1957. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/usa_epay.rb +0 -194
  1958. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/verifi.rb +0 -228
  1959. data/vendor/plugins/active_merchant/lib/active_merchant/billing/gateways/viaklix.rb +0 -165
  1960. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations.rb +0 -15
  1961. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/action_view_helper.rb +0 -65
  1962. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/bogus.rb +0 -22
  1963. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/bogus/helper.rb +0 -17
  1964. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/bogus/notification.rb +0 -11
  1965. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/bogus/return.rb +0 -10
  1966. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/chronopay.rb +0 -22
  1967. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/chronopay/helper.rb +0 -81
  1968. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/chronopay/notification.rb +0 -156
  1969. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/chronopay/return.rb +0 -10
  1970. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/gestpay.rb +0 -26
  1971. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/gestpay/common.rb +0 -42
  1972. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/gestpay/helper.rb +0 -70
  1973. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/gestpay/notification.rb +0 -83
  1974. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/gestpay/return.rb +0 -10
  1975. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/helper.rb +0 -93
  1976. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/hi_trust.rb +0 -26
  1977. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/hi_trust/helper.rb +0 -58
  1978. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/hi_trust/notification.rb +0 -57
  1979. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/hi_trust/return.rb +0 -67
  1980. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/nochex.rb +0 -87
  1981. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/nochex/helper.rb +0 -68
  1982. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/nochex/notification.rb +0 -94
  1983. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/nochex/return.rb +0 -10
  1984. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/notification.rb +0 -53
  1985. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/paypal.rb +0 -40
  1986. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/paypal/helper.rb +0 -118
  1987. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/paypal/notification.rb +0 -154
  1988. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/paypal/return.rb +0 -10
  1989. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/return.rb +0 -35
  1990. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/two_checkout.rb +0 -23
  1991. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/two_checkout/helper.rb +0 -59
  1992. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/two_checkout/notification.rb +0 -114
  1993. data/vendor/plugins/active_merchant/lib/active_merchant/billing/integrations/two_checkout/return.rb +0 -17
  1994. data/vendor/plugins/active_merchant/lib/active_merchant/billing/response.rb +0 -32
  1995. data/vendor/plugins/active_merchant/lib/active_merchant/lib/country.rb +0 -298
  1996. data/vendor/plugins/active_merchant/lib/active_merchant/lib/error.rb +0 -4
  1997. data/vendor/plugins/active_merchant/lib/active_merchant/lib/post_data.rb +0 -22
  1998. data/vendor/plugins/active_merchant/lib/active_merchant/lib/posts_data.rb +0 -80
  1999. data/vendor/plugins/active_merchant/lib/active_merchant/lib/requires_parameters.rb +0 -16
  2000. data/vendor/plugins/active_merchant/lib/active_merchant/lib/utils.rb +0 -18
  2001. data/vendor/plugins/active_merchant/lib/active_merchant/lib/validateable.rb +0 -76
  2002. data/vendor/plugins/active_merchant/lib/certs/cacert.pem +0 -7815
  2003. data/vendor/plugins/active_merchant/lib/support/gateway_support.rb +0 -58
  2004. data/vendor/plugins/active_merchant/lib/tasks/cia.rb +0 -90
  2005. data/vendor/plugins/active_merchant/script/destroy +0 -14
  2006. data/vendor/plugins/active_merchant/script/generate +0 -14
  2007. data/vendor/plugins/active_merchant/test/extra/binding_of_caller.rb +0 -80
  2008. data/vendor/plugins/active_merchant/test/extra/breakpoint.rb +0 -547
  2009. data/vendor/plugins/active_merchant/test/fixtures.yml +0 -277
  2010. data/vendor/plugins/active_merchant/test/remote/gateways/remote_authorize_net_cim_test.rb +0 -458
  2011. data/vendor/plugins/active_merchant/test/remote/gateways/remote_authorize_net_test.rb +0 -145
  2012. data/vendor/plugins/active_merchant/test/remote/gateways/remote_braintree_test.rb +0 -125
  2013. data/vendor/plugins/active_merchant/test/remote/gateways/remote_card_stream_test.rb +0 -148
  2014. data/vendor/plugins/active_merchant/test/remote/gateways/remote_cyber_source_test.rb +0 -144
  2015. data/vendor/plugins/active_merchant/test/remote/gateways/remote_data_cash_test.rb +0 -357
  2016. data/vendor/plugins/active_merchant/test/remote/gateways/remote_efsnet_test.rb +0 -81
  2017. data/vendor/plugins/active_merchant/test/remote/gateways/remote_eway_test.rb +0 -74
  2018. data/vendor/plugins/active_merchant/test/remote/gateways/remote_exact_test.rb +0 -60
  2019. data/vendor/plugins/active_merchant/test/remote/gateways/remote_linkpoint_test.rb +0 -112
  2020. data/vendor/plugins/active_merchant/test/remote/gateways/remote_moneris_test.rb +0 -82
  2021. data/vendor/plugins/active_merchant/test/remote/gateways/remote_net_registry_test.rb +0 -85
  2022. data/vendor/plugins/active_merchant/test/remote/gateways/remote_netbilling_test.rb +0 -70
  2023. data/vendor/plugins/active_merchant/test/remote/gateways/remote_pay_junction_test.rb +0 -143
  2024. data/vendor/plugins/active_merchant/test/remote/gateways/remote_pay_secure_test.rb +0 -39
  2025. data/vendor/plugins/active_merchant/test/remote/gateways/remote_payflow_express_nv_test.rb +0 -51
  2026. data/vendor/plugins/active_merchant/test/remote/gateways/remote_payflow_express_test.rb +0 -50
  2027. data/vendor/plugins/active_merchant/test/remote/gateways/remote_payflow_nv_test.rb +0 -237
  2028. data/vendor/plugins/active_merchant/test/remote/gateways/remote_payflow_test.rb +0 -237
  2029. data/vendor/plugins/active_merchant/test/remote/gateways/remote_payflow_uk_test.rb +0 -173
  2030. data/vendor/plugins/active_merchant/test/remote/gateways/remote_payment_express_test.rb +0 -126
  2031. data/vendor/plugins/active_merchant/test/remote/gateways/remote_paypal_express_test.rb +0 -49
  2032. data/vendor/plugins/active_merchant/test/remote/gateways/remote_paypal_test.rb +0 -167
  2033. data/vendor/plugins/active_merchant/test/remote/gateways/remote_plugnpay_test.rb +0 -72
  2034. data/vendor/plugins/active_merchant/test/remote/gateways/remote_protx_test.rb +0 -184
  2035. data/vendor/plugins/active_merchant/test/remote/gateways/remote_psigate_test.rb +0 -50
  2036. data/vendor/plugins/active_merchant/test/remote/gateways/remote_psl_card_test.rb +0 -106
  2037. data/vendor/plugins/active_merchant/test/remote/gateways/remote_quickpay_test.rb +0 -182
  2038. data/vendor/plugins/active_merchant/test/remote/gateways/remote_realex_test.rb +0 -224
  2039. data/vendor/plugins/active_merchant/test/remote/gateways/remote_secure_pay_au_test.rb +0 -40
  2040. data/vendor/plugins/active_merchant/test/remote/gateways/remote_secure_pay_tech_test.rb +0 -37
  2041. data/vendor/plugins/active_merchant/test/remote/gateways/remote_secure_pay_test.rb +0 -28
  2042. data/vendor/plugins/active_merchant/test/remote/gateways/remote_skipjack_test.rb +0 -105
  2043. data/vendor/plugins/active_merchant/test/remote/gateways/remote_trans_first_test.rb +0 -34
  2044. data/vendor/plugins/active_merchant/test/remote/gateways/remote_trust_commerce_test.rb +0 -152
  2045. data/vendor/plugins/active_merchant/test/remote/gateways/remote_usa_epay_test.rb +0 -46
  2046. data/vendor/plugins/active_merchant/test/remote/gateways/remote_verifi_test.rb +0 -107
  2047. data/vendor/plugins/active_merchant/test/remote/gateways/remote_viaklix_test.rb +0 -43
  2048. data/vendor/plugins/active_merchant/test/remote/integrations/remote_gestpay_integration_test.rb +0 -37
  2049. data/vendor/plugins/active_merchant/test/remote/integrations/remote_paypal_integration_test.rb +0 -14
  2050. data/vendor/plugins/active_merchant/test/test_helper.rb +0 -173
  2051. data/vendor/plugins/active_merchant/test/unit/avs_result_test.rb +0 -59
  2052. data/vendor/plugins/active_merchant/test/unit/base_test.rb +0 -55
  2053. data/vendor/plugins/active_merchant/test/unit/check_test.rb +0 -76
  2054. data/vendor/plugins/active_merchant/test/unit/country_code_test.rb +0 -33
  2055. data/vendor/plugins/active_merchant/test/unit/country_test.rb +0 -64
  2056. data/vendor/plugins/active_merchant/test/unit/credit_card_formatting_test.rb +0 -19
  2057. data/vendor/plugins/active_merchant/test/unit/credit_card_methods_test.rb +0 -170
  2058. data/vendor/plugins/active_merchant/test/unit/credit_card_test.rb +0 -311
  2059. data/vendor/plugins/active_merchant/test/unit/cvv_result_test.rb +0 -33
  2060. data/vendor/plugins/active_merchant/test/unit/expiry_date_test.rb +0 -21
  2061. data/vendor/plugins/active_merchant/test/unit/gateways/authorize_net_cim_test.rb +0 -640
  2062. data/vendor/plugins/active_merchant/test/unit/gateways/authorize_net_test.rb +0 -280
  2063. data/vendor/plugins/active_merchant/test/unit/gateways/bogus_test.rb +0 -42
  2064. data/vendor/plugins/active_merchant/test/unit/gateways/braintree_test.rb +0 -119
  2065. data/vendor/plugins/active_merchant/test/unit/gateways/card_stream_test.rb +0 -90
  2066. data/vendor/plugins/active_merchant/test/unit/gateways/cyber_source_test.rb +0 -188
  2067. data/vendor/plugins/active_merchant/test/unit/gateways/data_cash_test.rb +0 -132
  2068. data/vendor/plugins/active_merchant/test/unit/gateways/efsnet_test.rb +0 -123
  2069. data/vendor/plugins/active_merchant/test/unit/gateways/eway_test.rb +0 -118
  2070. data/vendor/plugins/active_merchant/test/unit/gateways/exact_test.rb +0 -156
  2071. data/vendor/plugins/active_merchant/test/unit/gateways/gateway_test.rb +0 -41
  2072. data/vendor/plugins/active_merchant/test/unit/gateways/linkpoint_test.rb +0 -167
  2073. data/vendor/plugins/active_merchant/test/unit/gateways/moneris_test.rb +0 -158
  2074. data/vendor/plugins/active_merchant/test/unit/gateways/net_registry_test.rb +0 -416
  2075. data/vendor/plugins/active_merchant/test/unit/gateways/netbilling_test.rb +0 -54
  2076. data/vendor/plugins/active_merchant/test/unit/gateways/pay_junction_test.rb +0 -123
  2077. data/vendor/plugins/active_merchant/test/unit/gateways/pay_secure_test.rb +0 -71
  2078. data/vendor/plugins/active_merchant/test/unit/gateways/payflow_express_nv_test.rb +0 -156
  2079. data/vendor/plugins/active_merchant/test/unit/gateways/payflow_express_test.rb +0 -173
  2080. data/vendor/plugins/active_merchant/test/unit/gateways/payflow_express_uk_test.rb +0 -14
  2081. data/vendor/plugins/active_merchant/test/unit/gateways/payflow_nv_test.rb +0 -237
  2082. data/vendor/plugins/active_merchant/test/unit/gateways/payflow_test.rb +0 -301
  2083. data/vendor/plugins/active_merchant/test/unit/gateways/payflow_uk_test.rb +0 -30
  2084. data/vendor/plugins/active_merchant/test/unit/gateways/payment_express_test.rb +0 -195
  2085. data/vendor/plugins/active_merchant/test/unit/gateways/paypal_express_test.rb +0 -333
  2086. data/vendor/plugins/active_merchant/test/unit/gateways/paypal_test.rb +0 -380
  2087. data/vendor/plugins/active_merchant/test/unit/gateways/plugnpay_test.rb +0 -86
  2088. data/vendor/plugins/active_merchant/test/unit/gateways/protx_test.rb +0 -122
  2089. data/vendor/plugins/active_merchant/test/unit/gateways/psigate_test.rb +0 -169
  2090. data/vendor/plugins/active_merchant/test/unit/gateways/psl_card_test.rb +0 -64
  2091. data/vendor/plugins/active_merchant/test/unit/gateways/quickpay_test.rb +0 -112
  2092. data/vendor/plugins/active_merchant/test/unit/gateways/realex_test.rb +0 -151
  2093. data/vendor/plugins/active_merchant/test/unit/gateways/secure_pay_au_test.rb +0 -150
  2094. data/vendor/plugins/active_merchant/test/unit/gateways/secure_pay_tech_test.rb +0 -44
  2095. data/vendor/plugins/active_merchant/test/unit/gateways/secure_pay_test.rb +0 -87
  2096. data/vendor/plugins/active_merchant/test/unit/gateways/skip_jack_test.rb +0 -125
  2097. data/vendor/plugins/active_merchant/test/unit/gateways/trans_first_test.rb +0 -112
  2098. data/vendor/plugins/active_merchant/test/unit/gateways/trust_commerce_test.rb +0 -78
  2099. data/vendor/plugins/active_merchant/test/unit/gateways/usa_epay_test.rb +0 -128
  2100. data/vendor/plugins/active_merchant/test/unit/gateways/verifi_test.rb +0 -96
  2101. data/vendor/plugins/active_merchant/test/unit/gateways/viaklix_test.rb +0 -78
  2102. data/vendor/plugins/active_merchant/test/unit/generators/test_gateway_generator.rb +0 -46
  2103. data/vendor/plugins/active_merchant/test/unit/generators/test_generator_helper.rb +0 -20
  2104. data/vendor/plugins/active_merchant/test/unit/generators/test_integration_generator.rb +0 -53
  2105. data/vendor/plugins/active_merchant/test/unit/integrations/action_view_helper_test.rb +0 -47
  2106. data/vendor/plugins/active_merchant/test/unit/integrations/bogus_module_test.rb +0 -20
  2107. data/vendor/plugins/active_merchant/test/unit/integrations/chronopay_module_test.rb +0 -13
  2108. data/vendor/plugins/active_merchant/test/unit/integrations/gestpay_module_test.rb +0 -14
  2109. data/vendor/plugins/active_merchant/test/unit/integrations/helpers/bogus_helper_test.rb +0 -28
  2110. data/vendor/plugins/active_merchant/test/unit/integrations/helpers/chronopay_helper_test.rb +0 -67
  2111. data/vendor/plugins/active_merchant/test/unit/integrations/helpers/gestpay_helper_test.rb +0 -100
  2112. data/vendor/plugins/active_merchant/test/unit/integrations/helpers/hi_trust_helper_test.rb +0 -16
  2113. data/vendor/plugins/active_merchant/test/unit/integrations/helpers/nochex_helper_test.rb +0 -53
  2114. data/vendor/plugins/active_merchant/test/unit/integrations/helpers/paypal_helper_test.rb +0 -162
  2115. data/vendor/plugins/active_merchant/test/unit/integrations/helpers/two_checkout_helper_test.rb +0 -92
  2116. data/vendor/plugins/active_merchant/test/unit/integrations/hi_trust_module_test.rb +0 -13
  2117. data/vendor/plugins/active_merchant/test/unit/integrations/nochex_module_test.rb +0 -13
  2118. data/vendor/plugins/active_merchant/test/unit/integrations/notifications/chronopay_notification_test.rb +0 -66
  2119. data/vendor/plugins/active_merchant/test/unit/integrations/notifications/gestpay_notification_test.rb +0 -60
  2120. data/vendor/plugins/active_merchant/test/unit/integrations/notifications/hi_trust_notification_test.rb +0 -38
  2121. data/vendor/plugins/active_merchant/test/unit/integrations/notifications/nochex_notification_test.rb +0 -51
  2122. data/vendor/plugins/active_merchant/test/unit/integrations/notifications/notification_test.rb +0 -41
  2123. data/vendor/plugins/active_merchant/test/unit/integrations/notifications/paypal_notification_test.rb +0 -85
  2124. data/vendor/plugins/active_merchant/test/unit/integrations/notifications/two_checkout_notification_test.rb +0 -55
  2125. data/vendor/plugins/active_merchant/test/unit/integrations/paypal_module_test.rb +0 -28
  2126. data/vendor/plugins/active_merchant/test/unit/integrations/returns/chronopay_return_test.rb +0 -11
  2127. data/vendor/plugins/active_merchant/test/unit/integrations/returns/gestpay_return_test.rb +0 -10
  2128. data/vendor/plugins/active_merchant/test/unit/integrations/returns/hi_trust_return_test.rb +0 -24
  2129. data/vendor/plugins/active_merchant/test/unit/integrations/returns/nochex_return_test.rb +0 -10
  2130. data/vendor/plugins/active_merchant/test/unit/integrations/returns/paypal_return_test.rb +0 -10
  2131. data/vendor/plugins/active_merchant/test/unit/integrations/returns/return_test.rb +0 -11
  2132. data/vendor/plugins/active_merchant/test/unit/integrations/returns/two_checkout_return_test.rb +0 -24
  2133. data/vendor/plugins/active_merchant/test/unit/integrations/two_checkout_module_test.rb +0 -13
  2134. data/vendor/plugins/active_merchant/test/unit/post_data_test.rb +0 -55
  2135. data/vendor/plugins/active_merchant/test/unit/posts_data_test.rb +0 -86
  2136. data/vendor/plugins/active_merchant/test/unit/response_test.rb +0 -28
  2137. data/vendor/plugins/active_merchant/test/unit/utils_test.rb +0 -7
  2138. data/vendor/plugins/active_merchant/test/unit/validateable_test.rb +0 -60
  2139. data/vendor/plugins/attachment_fu/test/amazon_s3.yml +0 -6
  2140. data/vendor/plugins/resource_controller/README +0 -276
  2141. data/vendor/plugins/resource_controller/release.rb +0 -24
  2142. data/vendor/plugins/rspec/UPGRADE +0 -31
  2143. data/vendor/plugins/rspec/autotest/discover.rb +0 -6
  2144. data/vendor/plugins/rspec/autotest/rspec.rb +0 -1
  2145. data/vendor/plugins/rspec/pre_commit/lib/pre_commit.rb +0 -4
  2146. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/core.rb +0 -50
  2147. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/pre_commit.rb +0 -54
  2148. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/rspec.rb +0 -111
  2149. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/rspec_on_rails.rb +0 -313
  2150. data/vendor/plugins/rspec/pre_commit/spec/pre_commit/pre_commit_spec.rb +0 -15
  2151. data/vendor/plugins/rspec/pre_commit/spec/pre_commit/rspec_on_rails_spec.rb +0 -36
  2152. data/vendor/plugins/rspec/pre_commit/spec/spec_helper.rb +0 -3
  2153. data/vendor/plugins/rspec/pre_commit/spec/spec_suite.rb +0 -11
  2154. data/vendor/plugins/rspec/report.html +0 -4358
  2155. data/vendor/plugins/rspec_on_rails/Rakefile +0 -9
  2156. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec +0 -4
  2157. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +0 -102
  2158. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +0 -39
  2159. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +0 -25
  2160. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +0 -11
  2161. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +0 -12
  2162. data/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +0 -11
  2163. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +0 -167
  2164. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +0 -313
  2165. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +0 -25
  2166. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +0 -11
  2167. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +0 -22
  2168. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +0 -26
  2169. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/routing_spec.rb +0 -61
  2170. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +0 -22
  2171. data/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +0 -81
  2172. data/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +0 -51
  2173. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example.rb +0 -47
  2174. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb +0 -42
  2175. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb +0 -255
  2176. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/functional_example_group.rb +0 -66
  2177. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/helper_example_group.rb +0 -82
  2178. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/ivar_proxy.rb +0 -62
  2179. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb +0 -68
  2180. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb +0 -90
  2181. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb +0 -171
  2182. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/example/configuration.rb +0 -66
  2183. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +0 -29
  2184. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +0 -55
  2185. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +0 -113
  2186. data/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +0 -23
  2187. data/vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb +0 -55
  2188. data/vendor/plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb +0 -43
  2189. data/vendor/plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb +0 -187
  2190. data/vendor/plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb +0 -118
  2191. data/vendor/plugins/rspec_on_rails/spec/rails/example/ivar_proxy_spec.rb +0 -64
  2192. data/vendor/plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb +0 -263
  2193. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +0 -783
  2194. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +0 -203
  2195. data/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +0 -65
  2196. data/vendor/plugins/rspec_on_rails/spec/rails/sample_spec.rb +0 -7
  2197. data/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb +0 -89
  2198. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +0 -56
  2199. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +0 -10
  2200. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +0 -3
  2201. data/vendor/plugins/rspec_on_rails/tasks/rspec.rake +0 -137
  2202. data/vendor/rails/TAG_rel_2-0-2 +0 -0
  2203. data/vendor/rails/actionmailer/CHANGELOG +0 -325
  2204. data/vendor/rails/actionmailer/MIT-LICENSE +0 -21
  2205. data/vendor/rails/actionmailer/README +0 -145
  2206. data/vendor/rails/actionmailer/Rakefile +0 -96
  2207. data/vendor/rails/actionmailer/install.rb +0 -30
  2208. data/vendor/rails/actionmailer/lib/action_mailer.rb +0 -52
  2209. data/vendor/rails/actionmailer/lib/action_mailer/adv_attr_accessor.rb +0 -30
  2210. data/vendor/rails/actionmailer/lib/action_mailer/base.rb +0 -603
  2211. data/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +0 -111
  2212. data/vendor/rails/actionmailer/lib/action_mailer/mail_helper.rb +0 -19
  2213. data/vendor/rails/actionmailer/lib/action_mailer/part.rb +0 -110
  2214. data/vendor/rails/actionmailer/lib/action_mailer/part_container.rb +0 -51
  2215. data/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +0 -59
  2216. data/vendor/rails/actionmailer/lib/action_mailer/test_case.rb +0 -59
  2217. data/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb +0 -67
  2218. data/vendor/rails/actionmailer/lib/action_mailer/utils.rb +0 -8
  2219. data/vendor/rails/actionmailer/lib/action_mailer/vendor.rb +0 -14
  2220. data/vendor/rails/actionmailer/lib/action_mailer/vendor/text-format-0.6.3/text/format.rb +0 -1466
  2221. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail.rb +0 -4
  2222. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/Makefile +0 -19
  2223. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/address.rb +0 -245
  2224. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/attachments.rb +0 -47
  2225. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/base64.rb +0 -52
  2226. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/compat.rb +0 -39
  2227. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/config.rb +0 -71
  2228. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb +0 -67
  2229. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/encode.rb +0 -481
  2230. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/facade.rb +0 -552
  2231. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/header.rb +0 -931
  2232. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/info.rb +0 -35
  2233. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/interface.rb +0 -540
  2234. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/loader.rb +0 -1
  2235. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mail.rb +0 -462
  2236. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mailbox.rb +0 -435
  2237. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mbox.rb +0 -1
  2238. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/net.rb +0 -282
  2239. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/obsolete.rb +0 -137
  2240. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.rb +0 -1475
  2241. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.y +0 -381
  2242. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/port.rb +0 -379
  2243. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/quoting.rb +0 -142
  2244. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner.rb +0 -43
  2245. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner_r.rb +0 -263
  2246. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/stringio.rb +0 -279
  2247. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/tmail.rb +0 -1
  2248. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/utils.rb +0 -281
  2249. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/version.rb +0 -38
  2250. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +0 -9
  2251. data/vendor/rails/actionmailer/lib/actionmailer.rb +0 -1
  2252. data/vendor/rails/actionmailer/test/abstract_unit.rb +0 -49
  2253. data/vendor/rails/actionmailer/test/delivery_method_test.rb +0 -51
  2254. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb +0 -1
  2255. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml +0 -0
  2256. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb +0 -1
  2257. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml +0 -0
  2258. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb +0 -1
  2259. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml +0 -0
  2260. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb +0 -1
  2261. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml +0 -0
  2262. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb +0 -5
  2263. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml +0 -0
  2264. data/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb +0 -5
  2265. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb +0 -1
  2266. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml +0 -0
  2267. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml +0 -0
  2268. data/vendor/rails/actionmailer/test/fixtures/raw_base64_decoded_string +0 -0
  2269. data/vendor/rails/actionmailer/test/fixtures/raw_base64_encoded_string +0 -1
  2270. data/vendor/rails/actionmailer/test/fixtures/raw_email +0 -14
  2271. data/vendor/rails/actionmailer/test/fixtures/raw_email10 +0 -20
  2272. data/vendor/rails/actionmailer/test/fixtures/raw_email12 +0 -32
  2273. data/vendor/rails/actionmailer/test/fixtures/raw_email13 +0 -29
  2274. data/vendor/rails/actionmailer/test/fixtures/raw_email2 +0 -114
  2275. data/vendor/rails/actionmailer/test/fixtures/raw_email3 +0 -70
  2276. data/vendor/rails/actionmailer/test/fixtures/raw_email4 +0 -59
  2277. data/vendor/rails/actionmailer/test/fixtures/raw_email5 +0 -19
  2278. data/vendor/rails/actionmailer/test/fixtures/raw_email6 +0 -20
  2279. data/vendor/rails/actionmailer/test/fixtures/raw_email7 +0 -66
  2280. data/vendor/rails/actionmailer/test/fixtures/raw_email8 +0 -47
  2281. data/vendor/rails/actionmailer/test/fixtures/raw_email9 +0 -28
  2282. data/vendor/rails/actionmailer/test/fixtures/raw_email_quoted_with_0d0a +0 -14
  2283. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type +0 -104
  2284. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment +0 -100
  2285. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject +0 -14
  2286. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb +0 -1
  2287. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml +0 -0
  2288. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb +0 -3
  2289. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml +0 -0
  2290. data/vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb +0 -1
  2291. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml +0 -6
  2292. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml +0 -6
  2293. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb +0 -1
  2294. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml +0 -0
  2295. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb +0 -10
  2296. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml +0 -0
  2297. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb +0 -2
  2298. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml +0 -0
  2299. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb +0 -1
  2300. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml +0 -0
  2301. data/vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb +0 -1
  2302. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder +0 -2
  2303. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml +0 -2
  2304. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.erb +0 -3
  2305. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml +0 -0
  2306. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb +0 -5
  2307. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml +0 -0
  2308. data/vendor/rails/actionmailer/test/mail_helper_test.rb +0 -95
  2309. data/vendor/rails/actionmailer/test/mail_render_test.rb +0 -122
  2310. data/vendor/rails/actionmailer/test/mail_service_test.rb +0 -939
  2311. data/vendor/rails/actionmailer/test/quoting_test.rb +0 -111
  2312. data/vendor/rails/actionmailer/test/test_helper_test.rb +0 -117
  2313. data/vendor/rails/actionmailer/test/tmail_test.rb +0 -22
  2314. data/vendor/rails/actionmailer/test/url_test.rb +0 -76
  2315. data/vendor/rails/actionpack/CHANGELOG +0 -4606
  2316. data/vendor/rails/actionpack/MIT-LICENSE +0 -21
  2317. data/vendor/rails/actionpack/README +0 -469
  2318. data/vendor/rails/actionpack/RUNNING_UNIT_TESTS +0 -24
  2319. data/vendor/rails/actionpack/Rakefile +0 -153
  2320. data/vendor/rails/actionpack/install.rb +0 -30
  2321. data/vendor/rails/actionpack/lib/action_controller.rb +0 -79
  2322. data/vendor/rails/actionpack/lib/action_controller/assertions.rb +0 -69
  2323. data/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +0 -39
  2324. data/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +0 -19
  2325. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +0 -166
  2326. data/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +0 -143
  2327. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +0 -640
  2328. data/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb +0 -130
  2329. data/vendor/rails/actionpack/lib/action_controller/base.rb +0 -1295
  2330. data/vendor/rails/actionpack/lib/action_controller/benchmarking.rb +0 -94
  2331. data/vendor/rails/actionpack/lib/action_controller/caching.rb +0 -683
  2332. data/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb +0 -16
  2333. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb +0 -106
  2334. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb +0 -22
  2335. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb +0 -73
  2336. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb +0 -23
  2337. data/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +0 -221
  2338. data/vendor/rails/actionpack/lib/action_controller/components.rb +0 -165
  2339. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +0 -84
  2340. data/vendor/rails/actionpack/lib/action_controller/dispatcher.rb +0 -195
  2341. data/vendor/rails/actionpack/lib/action_controller/filters.rb +0 -767
  2342. data/vendor/rails/actionpack/lib/action_controller/flash.rb +0 -177
  2343. data/vendor/rails/actionpack/lib/action_controller/helpers.rb +0 -204
  2344. data/vendor/rails/actionpack/lib/action_controller/http_authentication.rb +0 -126
  2345. data/vendor/rails/actionpack/lib/action_controller/integration.rb +0 -581
  2346. data/vendor/rails/actionpack/lib/action_controller/layout.rb +0 -326
  2347. data/vendor/rails/actionpack/lib/action_controller/mime_responds.rb +0 -170
  2348. data/vendor/rails/actionpack/lib/action_controller/mime_type.rb +0 -163
  2349. data/vendor/rails/actionpack/lib/action_controller/mime_types.rb +0 -20
  2350. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +0 -88
  2351. data/vendor/rails/actionpack/lib/action_controller/record_identifier.rb +0 -91
  2352. data/vendor/rails/actionpack/lib/action_controller/request.rb +0 -730
  2353. data/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb +0 -132
  2354. data/vendor/rails/actionpack/lib/action_controller/request_profiler.rb +0 -138
  2355. data/vendor/rails/actionpack/lib/action_controller/rescue.rb +0 -258
  2356. data/vendor/rails/actionpack/lib/action_controller/resources.rb +0 -529
  2357. data/vendor/rails/actionpack/lib/action_controller/response.rb +0 -76
  2358. data/vendor/rails/actionpack/lib/action_controller/routing.rb +0 -1499
  2359. data/vendor/rails/actionpack/lib/action_controller/routing_optimisation.rb +0 -119
  2360. data/vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb +0 -336
  2361. data/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb +0 -164
  2362. data/vendor/rails/actionpack/lib/action_controller/session/drb_server.rb +0 -32
  2363. data/vendor/rails/actionpack/lib/action_controller/session/drb_store.rb +0 -35
  2364. data/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb +0 -98
  2365. data/vendor/rails/actionpack/lib/action_controller/session_management.rb +0 -151
  2366. data/vendor/rails/actionpack/lib/action_controller/status_codes.rb +0 -88
  2367. data/vendor/rails/actionpack/lib/action_controller/streaming.rb +0 -141
  2368. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb +0 -24
  2369. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb +0 -26
  2370. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb +0 -11
  2371. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb +0 -29
  2372. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb +0 -2
  2373. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb +0 -10
  2374. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb +0 -21
  2375. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb +0 -2
  2376. data/vendor/rails/actionpack/lib/action_controller/test_case.rb +0 -53
  2377. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +0 -520
  2378. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +0 -135
  2379. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +0 -68
  2380. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +0 -530
  2381. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb +0 -173
  2382. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb +0 -828
  2383. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +0 -105
  2384. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb +0 -11
  2385. data/vendor/rails/actionpack/lib/action_controller/verification.rb +0 -114
  2386. data/vendor/rails/actionpack/lib/action_pack.rb +0 -24
  2387. data/vendor/rails/actionpack/lib/action_pack/version.rb +0 -9
  2388. data/vendor/rails/actionpack/lib/action_view.rb +0 -37
  2389. data/vendor/rails/actionpack/lib/action_view/base.rb +0 -642
  2390. data/vendor/rails/actionpack/lib/action_view/compiled_templates.rb +0 -69
  2391. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +0 -255
  2392. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +0 -548
  2393. data/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb +0 -111
  2394. data/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb +0 -31
  2395. data/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb +0 -39
  2396. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +0 -162
  2397. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +0 -689
  2398. data/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +0 -31
  2399. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +0 -689
  2400. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +0 -425
  2401. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +0 -432
  2402. data/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +0 -217
  2403. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/controls.js +0 -963
  2404. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/dragdrop.js +0 -972
  2405. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/effects.js +0 -1120
  2406. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/prototype.js +0 -4225
  2407. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +0 -179
  2408. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +0 -1268
  2409. data/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb +0 -20
  2410. data/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb +0 -59
  2411. data/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb +0 -223
  2412. data/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb +0 -199
  2413. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +0 -133
  2414. data/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +0 -479
  2415. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +0 -524
  2416. data/vendor/rails/actionpack/lib/action_view/partials.rb +0 -200
  2417. data/vendor/rails/actionpack/lib/action_view/template_error.rb +0 -102
  2418. data/vendor/rails/actionpack/lib/action_view/template_handler.rb +0 -17
  2419. data/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb +0 -19
  2420. data/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb +0 -21
  2421. data/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb +0 -14
  2422. data/vendor/rails/actionpack/lib/actionpack.rb +0 -1
  2423. data/vendor/rails/actionpack/test/abstract_unit.rb +0 -36
  2424. data/vendor/rails/actionpack/test/action_view_test.rb +0 -44
  2425. data/vendor/rails/actionpack/test/active_record_unit.rb +0 -108
  2426. data/vendor/rails/actionpack/test/activerecord/active_record_store_test.rb +0 -142
  2427. data/vendor/rails/actionpack/test/activerecord/render_partial_with_record_identification_test.rb +0 -74
  2428. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +0 -492
  2429. data/vendor/rails/actionpack/test/controller/addresses_render_test.rb +0 -43
  2430. data/vendor/rails/actionpack/test/controller/assert_select_test.rb +0 -682
  2431. data/vendor/rails/actionpack/test/controller/base_test.rb +0 -134
  2432. data/vendor/rails/actionpack/test/controller/benchmark_test.rb +0 -33
  2433. data/vendor/rails/actionpack/test/controller/caching_test.rb +0 -349
  2434. data/vendor/rails/actionpack/test/controller/capture_test.rb +0 -89
  2435. data/vendor/rails/actionpack/test/controller/cgi_test.rb +0 -115
  2436. data/vendor/rails/actionpack/test/controller/components_test.rb +0 -140
  2437. data/vendor/rails/actionpack/test/controller/content_type_test.rb +0 -139
  2438. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
  2439. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
  2440. data/vendor/rails/actionpack/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
  2441. data/vendor/rails/actionpack/test/controller/cookie_test.rb +0 -135
  2442. data/vendor/rails/actionpack/test/controller/custom_handler_test.rb +0 -41
  2443. data/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +0 -37
  2444. data/vendor/rails/actionpack/test/controller/dispatcher_test.rb +0 -123
  2445. data/vendor/rails/actionpack/test/controller/fake_controllers.rb +0 -16
  2446. data/vendor/rails/actionpack/test/controller/fake_models.rb +0 -5
  2447. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +0 -43
  2448. data/vendor/rails/actionpack/test/controller/filters_test.rb +0 -856
  2449. data/vendor/rails/actionpack/test/controller/flash_test.rb +0 -146
  2450. data/vendor/rails/actionpack/test/controller/fragment_store_setting_test.rb +0 -47
  2451. data/vendor/rails/actionpack/test/controller/helper_test.rb +0 -206
  2452. data/vendor/rails/actionpack/test/controller/html-scanner/document_test.rb +0 -124
  2453. data/vendor/rails/actionpack/test/controller/html-scanner/node_test.rb +0 -69
  2454. data/vendor/rails/actionpack/test/controller/html-scanner/sanitizer_test.rb +0 -250
  2455. data/vendor/rails/actionpack/test/controller/html-scanner/tag_node_test.rb +0 -239
  2456. data/vendor/rails/actionpack/test/controller/html-scanner/text_node_test.rb +0 -51
  2457. data/vendor/rails/actionpack/test/controller/html-scanner/tokenizer_test.rb +0 -125
  2458. data/vendor/rails/actionpack/test/controller/http_authentication_test.rb +0 -54
  2459. data/vendor/rails/actionpack/test/controller/integration_test.rb +0 -255
  2460. data/vendor/rails/actionpack/test/controller/layout_test.rb +0 -239
  2461. data/vendor/rails/actionpack/test/controller/mime_responds_test.rb +0 -506
  2462. data/vendor/rails/actionpack/test/controller/mime_type_test.rb +0 -55
  2463. data/vendor/rails/actionpack/test/controller/new_render_test.rb +0 -832
  2464. data/vendor/rails/actionpack/test/controller/polymorphic_routes_test.rb +0 -98
  2465. data/vendor/rails/actionpack/test/controller/record_identifier_test.rb +0 -103
  2466. data/vendor/rails/actionpack/test/controller/redirect_test.rb +0 -258
  2467. data/vendor/rails/actionpack/test/controller/render_test.rb +0 -464
  2468. data/vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb +0 -217
  2469. data/vendor/rails/actionpack/test/controller/request_test.rb +0 -836
  2470. data/vendor/rails/actionpack/test/controller/rescue_test.rb +0 -501
  2471. data/vendor/rails/actionpack/test/controller/resources_test.rb +0 -787
  2472. data/vendor/rails/actionpack/test/controller/routing_test.rb +0 -2203
  2473. data/vendor/rails/actionpack/test/controller/selector_test.rb +0 -628
  2474. data/vendor/rails/actionpack/test/controller/send_file_test.rb +0 -127
  2475. data/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +0 -246
  2476. data/vendor/rails/actionpack/test/controller/session/mem_cache_store_test.rb +0 -182
  2477. data/vendor/rails/actionpack/test/controller/session_fixation_test.rb +0 -89
  2478. data/vendor/rails/actionpack/test/controller/session_management_test.rb +0 -156
  2479. data/vendor/rails/actionpack/test/controller/test_test.rb +0 -623
  2480. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +0 -246
  2481. data/vendor/rails/actionpack/test/controller/verification_test.rb +0 -253
  2482. data/vendor/rails/actionpack/test/controller/view_paths_test.rb +0 -137
  2483. data/vendor/rails/actionpack/test/controller/webservice_test.rb +0 -184
  2484. data/vendor/rails/actionpack/test/fixtures/addresses/list.erb +0 -1
  2485. data/vendor/rails/actionpack/test/fixtures/companies.yml +0 -24
  2486. data/vendor/rails/actionpack/test/fixtures/company.rb +0 -9
  2487. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_content_types_for_respond_to.rhtml +0 -1
  2488. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rhtml.rhtml +0 -1
  2489. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rjs.rjs +0 -1
  2490. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rxml.rxml +0 -1
  2491. data/vendor/rails/actionpack/test/fixtures/db_definitions/sqlite.sql +0 -43
  2492. data/vendor/rails/actionpack/test/fixtures/developer.rb +0 -9
  2493. data/vendor/rails/actionpack/test/fixtures/developers.yml +0 -21
  2494. data/vendor/rails/actionpack/test/fixtures/developers_projects.yml +0 -13
  2495. data/vendor/rails/actionpack/test/fixtures/fun/games/hello_world.erb +0 -1
  2496. data/vendor/rails/actionpack/test/fixtures/helpers/abc_helper.rb +0 -5
  2497. data/vendor/rails/actionpack/test/fixtures/helpers/fun/games_helper.rb +0 -3
  2498. data/vendor/rails/actionpack/test/fixtures/helpers/fun/pdf_helper.rb +0 -3
  2499. data/vendor/rails/actionpack/test/fixtures/layout_tests/alt/hello.rhtml +0 -1
  2500. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +0 -1
  2501. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/item.rhtml +0 -1
  2502. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/layout_test.rhtml +0 -1
  2503. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/multiple_extensions.html.erb +0 -1
  2504. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/third_party_template_library.mab +0 -1
  2505. data/vendor/rails/actionpack/test/fixtures/layout_tests/views/hello.rhtml +0 -1
  2506. data/vendor/rails/actionpack/test/fixtures/layouts/builder.builder +0 -3
  2507. data/vendor/rails/actionpack/test/fixtures/layouts/standard.erb +0 -1
  2508. data/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.erb +0 -2
  2509. data/vendor/rails/actionpack/test/fixtures/layouts/yield.erb +0 -2
  2510. data/vendor/rails/actionpack/test/fixtures/multipart/binary_file +0 -0
  2511. data/vendor/rails/actionpack/test/fixtures/multipart/bracketed_param +0 -5
  2512. data/vendor/rails/actionpack/test/fixtures/multipart/large_text_file +0 -10
  2513. data/vendor/rails/actionpack/test/fixtures/multipart/mixed_files +0 -0
  2514. data/vendor/rails/actionpack/test/fixtures/multipart/mona_lisa.jpg +0 -0
  2515. data/vendor/rails/actionpack/test/fixtures/multipart/single_parameter +0 -5
  2516. data/vendor/rails/actionpack/test/fixtures/multipart/text_file +0 -10
  2517. data/vendor/rails/actionpack/test/fixtures/override/test/hello_world.erb +0 -1
  2518. data/vendor/rails/actionpack/test/fixtures/override2/layouts/test/sub.erb +0 -1
  2519. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/post.html.erb +0 -1
  2520. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/super_post.iphone.erb +0 -1
  2521. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.html.erb +0 -1
  2522. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.iphone.erb +0 -1
  2523. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.html.erb +0 -1
  2524. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.iphone.erb +0 -1
  2525. data/vendor/rails/actionpack/test/fixtures/project.rb +0 -3
  2526. data/vendor/rails/actionpack/test/fixtures/projects.yml +0 -7
  2527. data/vendor/rails/actionpack/test/fixtures/public/404.html +0 -1
  2528. data/vendor/rails/actionpack/test/fixtures/public/500.html +0 -1
  2529. data/vendor/rails/actionpack/test/fixtures/public/images/rails.png +0 -0
  2530. data/vendor/rails/actionpack/test/fixtures/public/javascripts/application.js +0 -0
  2531. data/vendor/rails/actionpack/test/fixtures/public/javascripts/bank.js +0 -1
  2532. data/vendor/rails/actionpack/test/fixtures/public/javascripts/robber.js +0 -1
  2533. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/bank.css +0 -1
  2534. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/robber.css +0 -1
  2535. data/vendor/rails/actionpack/test/fixtures/replies.yml +0 -15
  2536. data/vendor/rails/actionpack/test/fixtures/reply.rb +0 -6
  2537. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.html.erb +0 -1
  2538. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.js.rjs +0 -1
  2539. data/vendor/rails/actionpack/test/fixtures/respond_to/custom_constant_handling_without_block.mobile.erb +0 -1
  2540. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.html.erb +0 -1
  2541. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.iphone.erb +0 -1
  2542. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/missing.html.erb +0 -1
  2543. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.html.erb +0 -1
  2544. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.iphone.erb +0 -1
  2545. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.html.erb +0 -1
  2546. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.js.rjs +0 -1
  2547. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.xml.builder +0 -1
  2548. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.html.erb +0 -1
  2549. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.js.rjs +0 -1
  2550. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.xml.builder +0 -1
  2551. data/vendor/rails/actionpack/test/fixtures/scope/test/modgreet.erb +0 -1
  2552. data/vendor/rails/actionpack/test/fixtures/test/_customer.erb +0 -1
  2553. data/vendor/rails/actionpack/test/fixtures/test/_customer_greeting.erb +0 -1
  2554. data/vendor/rails/actionpack/test/fixtures/test/_hash_greeting.erb +0 -1
  2555. data/vendor/rails/actionpack/test/fixtures/test/_hash_object.erb +0 -2
  2556. data/vendor/rails/actionpack/test/fixtures/test/_hello.builder +0 -1
  2557. data/vendor/rails/actionpack/test/fixtures/test/_layout_for_partial.html.erb +0 -3
  2558. data/vendor/rails/actionpack/test/fixtures/test/_partial.erb +0 -1
  2559. data/vendor/rails/actionpack/test/fixtures/test/_partial.html.erb +0 -1
  2560. data/vendor/rails/actionpack/test/fixtures/test/_partial.js.erb +0 -1
  2561. data/vendor/rails/actionpack/test/fixtures/test/_partial_for_use_in_layout.html.erb +0 -1
  2562. data/vendor/rails/actionpack/test/fixtures/test/_partial_only.erb +0 -1
  2563. data/vendor/rails/actionpack/test/fixtures/test/_person.erb +0 -2
  2564. data/vendor/rails/actionpack/test/fixtures/test/action_talk_to_layout.erb +0 -2
  2565. data/vendor/rails/actionpack/test/fixtures/test/block_content_for.erb +0 -2
  2566. data/vendor/rails/actionpack/test/fixtures/test/calling_partial_with_layout.html.erb +0 -1
  2567. data/vendor/rails/actionpack/test/fixtures/test/capturing.erb +0 -4
  2568. data/vendor/rails/actionpack/test/fixtures/test/content_for.erb +0 -2
  2569. data/vendor/rails/actionpack/test/fixtures/test/content_for_concatenated.erb +0 -3
  2570. data/vendor/rails/actionpack/test/fixtures/test/content_for_with_parameter.erb +0 -2
  2571. data/vendor/rails/actionpack/test/fixtures/test/delete_with_js.rjs +0 -2
  2572. data/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.erb +0 -1
  2573. data/vendor/rails/actionpack/test/fixtures/test/enum_rjs_test.rjs +0 -6
  2574. data/vendor/rails/actionpack/test/fixtures/test/erb_content_for.erb +0 -2
  2575. data/vendor/rails/actionpack/test/fixtures/test/formatted_html_erb.html.erb +0 -1
  2576. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.builder +0 -1
  2577. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.html.erb +0 -1
  2578. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.xml.erb +0 -1
  2579. data/vendor/rails/actionpack/test/fixtures/test/greeting.erb +0 -1
  2580. data/vendor/rails/actionpack/test/fixtures/test/hello.builder +0 -4
  2581. data/vendor/rails/actionpack/test/fixtures/test/hello_world.erb +0 -1
  2582. data/vendor/rails/actionpack/test/fixtures/test/hello_world_container.builder +0 -3
  2583. data/vendor/rails/actionpack/test/fixtures/test/hello_world_from_rxml.builder +0 -4
  2584. data/vendor/rails/actionpack/test/fixtures/test/hello_world_with_layout_false.erb +0 -1
  2585. data/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.builder +0 -11
  2586. data/vendor/rails/actionpack/test/fixtures/test/list.erb +0 -1
  2587. data/vendor/rails/actionpack/test/fixtures/test/non_erb_block_content_for.builder +0 -4
  2588. data/vendor/rails/actionpack/test/fixtures/test/potential_conflicts.erb +0 -4
  2589. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.erb +0 -1
  2590. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.erb +0 -1
  2591. data/vendor/rails/actionpack/test/fixtures/test/render_to_string_test.erb +0 -1
  2592. data/vendor/rails/actionpack/test/fixtures/test/update_element_with_capture.erb +0 -9
  2593. data/vendor/rails/actionpack/test/fixtures/test/using_layout_around_block.html.erb +0 -1
  2594. data/vendor/rails/actionpack/test/fixtures/topic.rb +0 -3
  2595. data/vendor/rails/actionpack/test/fixtures/topics.yml +0 -22
  2596. data/vendor/rails/actionpack/test/template/active_record_helper_test.rb +0 -251
  2597. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +0 -438
  2598. data/vendor/rails/actionpack/test/template/atom_feed_helper_test.rb +0 -101
  2599. data/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +0 -72
  2600. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +0 -193
  2601. data/vendor/rails/actionpack/test/template/date_helper_test.rb +0 -1438
  2602. data/vendor/rails/actionpack/test/template/erb_util_test.rb +0 -56
  2603. data/vendor/rails/actionpack/test/template/form_helper_test.rb +0 -792
  2604. data/vendor/rails/actionpack/test/template/form_options_helper_test.rb +0 -1296
  2605. data/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +0 -238
  2606. data/vendor/rails/actionpack/test/template/javascript_helper_test.rb +0 -115
  2607. data/vendor/rails/actionpack/test/template/number_helper_test.rb +0 -93
  2608. data/vendor/rails/actionpack/test/template/prototype_helper_test.rb +0 -627
  2609. data/vendor/rails/actionpack/test/template/sanitize_helper_test.rb +0 -49
  2610. data/vendor/rails/actionpack/test/template/scriptaculous_helper_test.rb +0 -96
  2611. data/vendor/rails/actionpack/test/template/tag_helper_test.rb +0 -80
  2612. data/vendor/rails/actionpack/test/template/text_helper_test.rb +0 -335
  2613. data/vendor/rails/actionpack/test/template/url_helper_test.rb +0 -536
  2614. data/vendor/rails/actionpack/test/testing_sandbox.rb +0 -11
  2615. data/vendor/rails/activerecord/CHANGELOG +0 -5527
  2616. data/vendor/rails/activerecord/MIT-LICENSE +0 -20
  2617. data/vendor/rails/activerecord/README +0 -346
  2618. data/vendor/rails/activerecord/RUNNING_UNIT_TESTS +0 -33
  2619. data/vendor/rails/activerecord/Rakefile +0 -248
  2620. data/vendor/rails/activerecord/examples/associations.png +0 -0
  2621. data/vendor/rails/activerecord/install.rb +0 -30
  2622. data/vendor/rails/activerecord/lib/active_record.rb +0 -76
  2623. data/vendor/rails/activerecord/lib/active_record/aggregations.rb +0 -180
  2624. data/vendor/rails/activerecord/lib/active_record/associations.rb +0 -1769
  2625. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +0 -240
  2626. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +0 -160
  2627. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +0 -56
  2628. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +0 -50
  2629. data/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +0 -164
  2630. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +0 -174
  2631. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +0 -284
  2632. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +0 -96
  2633. data/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +0 -328
  2634. data/vendor/rails/activerecord/lib/active_record/base.rb +0 -2471
  2635. data/vendor/rails/activerecord/lib/active_record/calculations.rb +0 -267
  2636. data/vendor/rails/activerecord/lib/active_record/callbacks.rb +0 -341
  2637. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +0 -308
  2638. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +0 -171
  2639. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb +0 -87
  2640. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +0 -69
  2641. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +0 -472
  2642. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +0 -306
  2643. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +0 -172
  2644. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +0 -496
  2645. data/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +0 -847
  2646. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +0 -34
  2647. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +0 -391
  2648. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +0 -1034
  2649. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +0 -144
  2650. data/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +0 -77
  2651. data/vendor/rails/activerecord/lib/active_record/migration.rb +0 -417
  2652. data/vendor/rails/activerecord/lib/active_record/observer.rb +0 -181
  2653. data/vendor/rails/activerecord/lib/active_record/query_cache.rb +0 -21
  2654. data/vendor/rails/activerecord/lib/active_record/reflection.rb +0 -219
  2655. data/vendor/rails/activerecord/lib/active_record/schema.rb +0 -58
  2656. data/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +0 -171
  2657. data/vendor/rails/activerecord/lib/active_record/serialization.rb +0 -98
  2658. data/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb +0 -71
  2659. data/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb +0 -315
  2660. data/vendor/rails/activerecord/lib/active_record/timestamp.rb +0 -41
  2661. data/vendor/rails/activerecord/lib/active_record/transactions.rb +0 -132
  2662. data/vendor/rails/activerecord/lib/active_record/validations.rb +0 -1025
  2663. data/vendor/rails/activerecord/lib/active_record/vendor/db2.rb +0 -362
  2664. data/vendor/rails/activerecord/lib/active_record/vendor/mysql.rb +0 -1214
  2665. data/vendor/rails/activerecord/lib/active_record/version.rb +0 -9
  2666. data/vendor/rails/activerecord/lib/activerecord.rb +0 -1
  2667. data/vendor/rails/activerecord/test/aaa_create_tables_test.rb +0 -72
  2668. data/vendor/rails/activerecord/test/abstract_unit.rb +0 -84
  2669. data/vendor/rails/activerecord/test/active_schema_test_mysql.rb +0 -43
  2670. data/vendor/rails/activerecord/test/adapter_test.rb +0 -105
  2671. data/vendor/rails/activerecord/test/adapter_test_sqlserver.rb +0 -95
  2672. data/vendor/rails/activerecord/test/aggregations_test.rb +0 -128
  2673. data/vendor/rails/activerecord/test/all.sh +0 -8
  2674. data/vendor/rails/activerecord/test/ar_schema_test.rb +0 -33
  2675. data/vendor/rails/activerecord/test/association_inheritance_reload.rb +0 -14
  2676. data/vendor/rails/activerecord/test/associations/callbacks_test.rb +0 -147
  2677. data/vendor/rails/activerecord/test/associations/cascaded_eager_loading_test.rb +0 -110
  2678. data/vendor/rails/activerecord/test/associations/eager_singularization_test.rb +0 -145
  2679. data/vendor/rails/activerecord/test/associations/eager_test.rb +0 -442
  2680. data/vendor/rails/activerecord/test/associations/extension_test.rb +0 -47
  2681. data/vendor/rails/activerecord/test/associations/inner_join_association_test.rb +0 -88
  2682. data/vendor/rails/activerecord/test/associations/join_model_test.rb +0 -559
  2683. data/vendor/rails/activerecord/test/associations_test.rb +0 -2147
  2684. data/vendor/rails/activerecord/test/attribute_methods_test.rb +0 -146
  2685. data/vendor/rails/activerecord/test/base_test.rb +0 -1745
  2686. data/vendor/rails/activerecord/test/binary_test.rb +0 -32
  2687. data/vendor/rails/activerecord/test/calculations_test.rb +0 -251
  2688. data/vendor/rails/activerecord/test/callbacks_test.rb +0 -400
  2689. data/vendor/rails/activerecord/test/class_inheritable_attributes_test.rb +0 -32
  2690. data/vendor/rails/activerecord/test/column_alias_test.rb +0 -17
  2691. data/vendor/rails/activerecord/test/connection_test_firebird.rb +0 -8
  2692. data/vendor/rails/activerecord/test/connection_test_mysql.rb +0 -30
  2693. data/vendor/rails/activerecord/test/connections/native_db2/connection.rb +0 -25
  2694. data/vendor/rails/activerecord/test/connections/native_firebird/connection.rb +0 -26
  2695. data/vendor/rails/activerecord/test/connections/native_frontbase/connection.rb +0 -27
  2696. data/vendor/rails/activerecord/test/connections/native_mysql/connection.rb +0 -27
  2697. data/vendor/rails/activerecord/test/connections/native_openbase/connection.rb +0 -21
  2698. data/vendor/rails/activerecord/test/connections/native_oracle/connection.rb +0 -27
  2699. data/vendor/rails/activerecord/test/connections/native_postgresql/connection.rb +0 -23
  2700. data/vendor/rails/activerecord/test/connections/native_sqlite/connection.rb +0 -25
  2701. data/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb +0 -25
  2702. data/vendor/rails/activerecord/test/connections/native_sqlite3/in_memory_connection.rb +0 -18
  2703. data/vendor/rails/activerecord/test/connections/native_sybase/connection.rb +0 -23
  2704. data/vendor/rails/activerecord/test/copy_table_test_sqlite.rb +0 -69
  2705. data/vendor/rails/activerecord/test/datatype_test_postgresql.rb +0 -203
  2706. data/vendor/rails/activerecord/test/date_time_test.rb +0 -37
  2707. data/vendor/rails/activerecord/test/default_test_firebird.rb +0 -16
  2708. data/vendor/rails/activerecord/test/defaults_test.rb +0 -67
  2709. data/vendor/rails/activerecord/test/deprecated_finder_test.rb +0 -30
  2710. data/vendor/rails/activerecord/test/finder_test.rb +0 -650
  2711. data/vendor/rails/activerecord/test/fixtures/accounts.yml +0 -28
  2712. data/vendor/rails/activerecord/test/fixtures/all/developers.yml +0 -0
  2713. data/vendor/rails/activerecord/test/fixtures/all/people.csv +0 -0
  2714. data/vendor/rails/activerecord/test/fixtures/all/tasks.yml +0 -0
  2715. data/vendor/rails/activerecord/test/fixtures/author.rb +0 -109
  2716. data/vendor/rails/activerecord/test/fixtures/author_favorites.yml +0 -4
  2717. data/vendor/rails/activerecord/test/fixtures/authors.yml +0 -7
  2718. data/vendor/rails/activerecord/test/fixtures/auto_id.rb +0 -4
  2719. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_numeric_first_char +0 -1
  2720. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_spaces +0 -1
  2721. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/blank_line +0 -3
  2722. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/duplicate_attributes +0 -3
  2723. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/missing_value +0 -1
  2724. data/vendor/rails/activerecord/test/fixtures/binaries.yml +0 -132
  2725. data/vendor/rails/activerecord/test/fixtures/binary.rb +0 -2
  2726. data/vendor/rails/activerecord/test/fixtures/book.rb +0 -4
  2727. data/vendor/rails/activerecord/test/fixtures/books.yml +0 -7
  2728. data/vendor/rails/activerecord/test/fixtures/categories.yml +0 -14
  2729. data/vendor/rails/activerecord/test/fixtures/categories/special_categories.yml +0 -9
  2730. data/vendor/rails/activerecord/test/fixtures/categories/subsubdir/arbitrary_filename.yml +0 -4
  2731. data/vendor/rails/activerecord/test/fixtures/categories_ordered.yml +0 -7
  2732. data/vendor/rails/activerecord/test/fixtures/categories_posts.yml +0 -23
  2733. data/vendor/rails/activerecord/test/fixtures/categorization.rb +0 -5
  2734. data/vendor/rails/activerecord/test/fixtures/categorizations.yml +0 -17
  2735. data/vendor/rails/activerecord/test/fixtures/category.rb +0 -26
  2736. data/vendor/rails/activerecord/test/fixtures/citation.rb +0 -6
  2737. data/vendor/rails/activerecord/test/fixtures/column_name.rb +0 -3
  2738. data/vendor/rails/activerecord/test/fixtures/comment.rb +0 -23
  2739. data/vendor/rails/activerecord/test/fixtures/comments.yml +0 -59
  2740. data/vendor/rails/activerecord/test/fixtures/companies.yml +0 -55
  2741. data/vendor/rails/activerecord/test/fixtures/company.rb +0 -114
  2742. data/vendor/rails/activerecord/test/fixtures/company_in_module.rb +0 -59
  2743. data/vendor/rails/activerecord/test/fixtures/computer.rb +0 -4
  2744. data/vendor/rails/activerecord/test/fixtures/computers.yml +0 -4
  2745. data/vendor/rails/activerecord/test/fixtures/contact.rb +0 -16
  2746. data/vendor/rails/activerecord/test/fixtures/course.rb +0 -3
  2747. data/vendor/rails/activerecord/test/fixtures/courses.yml +0 -7
  2748. data/vendor/rails/activerecord/test/fixtures/customer.rb +0 -55
  2749. data/vendor/rails/activerecord/test/fixtures/customers.yml +0 -17
  2750. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.drop.sql +0 -33
  2751. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.sql +0 -235
  2752. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.drop.sql +0 -2
  2753. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.sql +0 -5
  2754. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.drop.sql +0 -65
  2755. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.sql +0 -310
  2756. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.drop.sql +0 -2
  2757. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.sql +0 -6
  2758. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.drop.sql +0 -33
  2759. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.sql +0 -273
  2760. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.drop.sql +0 -1
  2761. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.sql +0 -4
  2762. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.drop.sql +0 -2
  2763. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.sql +0 -318
  2764. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.drop.sql +0 -2
  2765. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.sql +0 -7
  2766. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.drop.sql +0 -67
  2767. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.sql +0 -330
  2768. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.drop.sql +0 -2
  2769. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.sql +0 -6
  2770. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.drop.sql +0 -44
  2771. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.sql +0 -292
  2772. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.drop.sql +0 -2
  2773. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.sql +0 -4
  2774. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema.rb +0 -354
  2775. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema2.rb +0 -11
  2776. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.drop.sql +0 -33
  2777. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.sql +0 -219
  2778. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.drop.sql +0 -2
  2779. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.sql +0 -5
  2780. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.drop.sql +0 -35
  2781. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.sql +0 -222
  2782. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.drop.sql +0 -4
  2783. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.sql +0 -5
  2784. data/vendor/rails/activerecord/test/fixtures/default.rb +0 -2
  2785. data/vendor/rails/activerecord/test/fixtures/developer.rb +0 -72
  2786. data/vendor/rails/activerecord/test/fixtures/developers.yml +0 -21
  2787. data/vendor/rails/activerecord/test/fixtures/developers_projects.yml +0 -17
  2788. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_action_controller +0 -3
  2789. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_active_record +0 -3
  2790. data/vendor/rails/activerecord/test/fixtures/developers_projects/jamis_active_record +0 -2
  2791. data/vendor/rails/activerecord/test/fixtures/edge.rb +0 -5
  2792. data/vendor/rails/activerecord/test/fixtures/edges.yml +0 -6
  2793. data/vendor/rails/activerecord/test/fixtures/entrant.rb +0 -3
  2794. data/vendor/rails/activerecord/test/fixtures/entrants.yml +0 -14
  2795. data/vendor/rails/activerecord/test/fixtures/example.log +0 -1
  2796. data/vendor/rails/activerecord/test/fixtures/fk_test_has_fk.yml +0 -3
  2797. data/vendor/rails/activerecord/test/fixtures/fk_test_has_pk.yml +0 -2
  2798. data/vendor/rails/activerecord/test/fixtures/flowers.jpg +0 -0
  2799. data/vendor/rails/activerecord/test/fixtures/funny_jokes.yml +0 -10
  2800. data/vendor/rails/activerecord/test/fixtures/item.rb +0 -7
  2801. data/vendor/rails/activerecord/test/fixtures/items.yml +0 -4
  2802. data/vendor/rails/activerecord/test/fixtures/joke.rb +0 -3
  2803. data/vendor/rails/activerecord/test/fixtures/keyboard.rb +0 -3
  2804. data/vendor/rails/activerecord/test/fixtures/legacy_thing.rb +0 -3
  2805. data/vendor/rails/activerecord/test/fixtures/legacy_things.yml +0 -3
  2806. data/vendor/rails/activerecord/test/fixtures/matey.rb +0 -4
  2807. data/vendor/rails/activerecord/test/fixtures/mateys.yml +0 -4
  2808. data/vendor/rails/activerecord/test/fixtures/migrations/1_people_have_last_names.rb +0 -9
  2809. data/vendor/rails/activerecord/test/fixtures/migrations/2_we_need_reminders.rb +0 -12
  2810. data/vendor/rails/activerecord/test/fixtures/migrations/3_innocent_jointable.rb +0 -12
  2811. data/vendor/rails/activerecord/test/fixtures/migrations_with_decimal/1_give_me_big_numbers.rb +0 -15
  2812. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/1_people_have_last_names.rb +0 -9
  2813. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/2_we_need_reminders.rb +0 -12
  2814. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_foo.rb +0 -7
  2815. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_innocent_jointable.rb +0 -12
  2816. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1000_people_have_middle_names.rb +0 -9
  2817. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1_people_have_last_names.rb +0 -9
  2818. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/3_we_need_reminders.rb +0 -12
  2819. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/4_innocent_jointable.rb +0 -12
  2820. data/vendor/rails/activerecord/test/fixtures/minimalistic.rb +0 -2
  2821. data/vendor/rails/activerecord/test/fixtures/minimalistics.yml +0 -2
  2822. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkey.rb +0 -3
  2823. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkeys.yml +0 -6
  2824. data/vendor/rails/activerecord/test/fixtures/mixins.yml +0 -29
  2825. data/vendor/rails/activerecord/test/fixtures/movie.rb +0 -5
  2826. data/vendor/rails/activerecord/test/fixtures/movies.yml +0 -7
  2827. data/vendor/rails/activerecord/test/fixtures/naked/csv/accounts.csv +0 -1
  2828. data/vendor/rails/activerecord/test/fixtures/naked/yml/accounts.yml +0 -1
  2829. data/vendor/rails/activerecord/test/fixtures/naked/yml/companies.yml +0 -1
  2830. data/vendor/rails/activerecord/test/fixtures/naked/yml/courses.yml +0 -1
  2831. data/vendor/rails/activerecord/test/fixtures/order.rb +0 -4
  2832. data/vendor/rails/activerecord/test/fixtures/parrot.rb +0 -13
  2833. data/vendor/rails/activerecord/test/fixtures/parrots.yml +0 -27
  2834. data/vendor/rails/activerecord/test/fixtures/parrots_pirates.yml +0 -7
  2835. data/vendor/rails/activerecord/test/fixtures/people.yml +0 -3
  2836. data/vendor/rails/activerecord/test/fixtures/person.rb +0 -4
  2837. data/vendor/rails/activerecord/test/fixtures/pirate.rb +0 -5
  2838. data/vendor/rails/activerecord/test/fixtures/pirates.yml +0 -9
  2839. data/vendor/rails/activerecord/test/fixtures/post.rb +0 -59
  2840. data/vendor/rails/activerecord/test/fixtures/posts.yml +0 -48
  2841. data/vendor/rails/activerecord/test/fixtures/project.rb +0 -28
  2842. data/vendor/rails/activerecord/test/fixtures/projects.yml +0 -7
  2843. data/vendor/rails/activerecord/test/fixtures/reader.rb +0 -4
  2844. data/vendor/rails/activerecord/test/fixtures/readers.yml +0 -4
  2845. data/vendor/rails/activerecord/test/fixtures/reply.rb +0 -37
  2846. data/vendor/rails/activerecord/test/fixtures/reserved_words/distinct.yml +0 -5
  2847. data/vendor/rails/activerecord/test/fixtures/reserved_words/distincts_selects.yml +0 -11
  2848. data/vendor/rails/activerecord/test/fixtures/reserved_words/group.yml +0 -14
  2849. data/vendor/rails/activerecord/test/fixtures/reserved_words/select.yml +0 -8
  2850. data/vendor/rails/activerecord/test/fixtures/reserved_words/values.yml +0 -7
  2851. data/vendor/rails/activerecord/test/fixtures/ship.rb +0 -3
  2852. data/vendor/rails/activerecord/test/fixtures/ships.yml +0 -5
  2853. data/vendor/rails/activerecord/test/fixtures/subject.rb +0 -4
  2854. data/vendor/rails/activerecord/test/fixtures/subscriber.rb +0 -6
  2855. data/vendor/rails/activerecord/test/fixtures/subscribers/first +0 -2
  2856. data/vendor/rails/activerecord/test/fixtures/subscribers/second +0 -2
  2857. data/vendor/rails/activerecord/test/fixtures/tag.rb +0 -7
  2858. data/vendor/rails/activerecord/test/fixtures/tagging.rb +0 -10
  2859. data/vendor/rails/activerecord/test/fixtures/taggings.yml +0 -25
  2860. data/vendor/rails/activerecord/test/fixtures/tags.yml +0 -7
  2861. data/vendor/rails/activerecord/test/fixtures/task.rb +0 -3
  2862. data/vendor/rails/activerecord/test/fixtures/tasks.yml +0 -7
  2863. data/vendor/rails/activerecord/test/fixtures/topic.rb +0 -37
  2864. data/vendor/rails/activerecord/test/fixtures/topics.yml +0 -22
  2865. data/vendor/rails/activerecord/test/fixtures/treasure.rb +0 -4
  2866. data/vendor/rails/activerecord/test/fixtures/treasures.yml +0 -10
  2867. data/vendor/rails/activerecord/test/fixtures/vertex.rb +0 -9
  2868. data/vendor/rails/activerecord/test/fixtures/vertices.yml +0 -4
  2869. data/vendor/rails/activerecord/test/fixtures_test.rb +0 -602
  2870. data/vendor/rails/activerecord/test/inheritance_test.rb +0 -211
  2871. data/vendor/rails/activerecord/test/json_serialization_test.rb +0 -180
  2872. data/vendor/rails/activerecord/test/lifecycle_test.rb +0 -137
  2873. data/vendor/rails/activerecord/test/locking_test.rb +0 -282
  2874. data/vendor/rails/activerecord/test/method_scoping_test.rb +0 -416
  2875. data/vendor/rails/activerecord/test/migration_test.rb +0 -933
  2876. data/vendor/rails/activerecord/test/migration_test_firebird.rb +0 -124
  2877. data/vendor/rails/activerecord/test/mixin_test.rb +0 -95
  2878. data/vendor/rails/activerecord/test/modules_test.rb +0 -34
  2879. data/vendor/rails/activerecord/test/multiple_db_test.rb +0 -60
  2880. data/vendor/rails/activerecord/test/pk_test.rb +0 -101
  2881. data/vendor/rails/activerecord/test/query_cache_test.rb +0 -104
  2882. data/vendor/rails/activerecord/test/readonly_test.rb +0 -107
  2883. data/vendor/rails/activerecord/test/reflection_test.rb +0 -175
  2884. data/vendor/rails/activerecord/test/reserved_word_test_mysql.rb +0 -177
  2885. data/vendor/rails/activerecord/test/schema_authorization_test_postgresql.rb +0 -75
  2886. data/vendor/rails/activerecord/test/schema_dumper_test.rb +0 -131
  2887. data/vendor/rails/activerecord/test/schema_test_postgresql.rb +0 -64
  2888. data/vendor/rails/activerecord/test/serialization_test.rb +0 -47
  2889. data/vendor/rails/activerecord/test/synonym_test_oracle.rb +0 -17
  2890. data/vendor/rails/activerecord/test/table_name_test_sqlserver.rb +0 -23
  2891. data/vendor/rails/activerecord/test/threaded_connections_test.rb +0 -48
  2892. data/vendor/rails/activerecord/test/transactions_test.rb +0 -281
  2893. data/vendor/rails/activerecord/test/unconnected_test.rb +0 -32
  2894. data/vendor/rails/activerecord/test/validations_test.rb +0 -1395
  2895. data/vendor/rails/activerecord/test/xml_serialization_test.rb +0 -202
  2896. data/vendor/rails/activeresource/CHANGELOG +0 -223
  2897. data/vendor/rails/activeresource/MIT-LICENSE +0 -20
  2898. data/vendor/rails/activeresource/README +0 -165
  2899. data/vendor/rails/activeresource/Rakefile +0 -134
  2900. data/vendor/rails/activeresource/lib/active_resource.rb +0 -47
  2901. data/vendor/rails/activeresource/lib/active_resource/base.rb +0 -872
  2902. data/vendor/rails/activeresource/lib/active_resource/connection.rb +0 -172
  2903. data/vendor/rails/activeresource/lib/active_resource/custom_methods.rb +0 -105
  2904. data/vendor/rails/activeresource/lib/active_resource/formats.rb +0 -14
  2905. data/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb +0 -23
  2906. data/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb +0 -34
  2907. data/vendor/rails/activeresource/lib/active_resource/http_mock.rb +0 -147
  2908. data/vendor/rails/activeresource/lib/active_resource/validations.rb +0 -288
  2909. data/vendor/rails/activeresource/lib/active_resource/version.rb +0 -9
  2910. data/vendor/rails/activeresource/lib/activeresource.rb +0 -1
  2911. data/vendor/rails/activeresource/test/abstract_unit.rb +0 -10
  2912. data/vendor/rails/activeresource/test/authorization_test.rb +0 -82
  2913. data/vendor/rails/activeresource/test/base/custom_methods_test.rb +0 -96
  2914. data/vendor/rails/activeresource/test/base/equality_test.rb +0 -43
  2915. data/vendor/rails/activeresource/test/base/load_test.rb +0 -111
  2916. data/vendor/rails/activeresource/test/base_errors_test.rb +0 -48
  2917. data/vendor/rails/activeresource/test/base_test.rb +0 -454
  2918. data/vendor/rails/activeresource/test/connection_test.rb +0 -170
  2919. data/vendor/rails/activeresource/test/fixtures/beast.rb +0 -14
  2920. data/vendor/rails/activeresource/test/fixtures/person.rb +0 -3
  2921. data/vendor/rails/activeresource/test/fixtures/street_address.rb +0 -4
  2922. data/vendor/rails/activeresource/test/format_test.rb +0 -42
  2923. data/vendor/rails/activeresource/test/setter_trap.rb +0 -27
  2924. data/vendor/rails/activesupport/CHANGELOG +0 -986
  2925. data/vendor/rails/activesupport/MIT-LICENSE +0 -20
  2926. data/vendor/rails/activesupport/README +0 -43
  2927. data/vendor/rails/activesupport/Rakefile +0 -84
  2928. data/vendor/rails/activesupport/install.rb +0 -30
  2929. data/vendor/rails/activesupport/lib/active_support.rb +0 -49
  2930. data/vendor/rails/activesupport/lib/active_support/basic_object.rb +0 -5
  2931. data/vendor/rails/activesupport/lib/active_support/buffered_logger.rb +0 -107
  2932. data/vendor/rails/activesupport/lib/active_support/clean_logger.rb +0 -127
  2933. data/vendor/rails/activesupport/lib/active_support/core_ext.rb +0 -4
  2934. data/vendor/rails/activesupport/lib/active_support/core_ext/array.rb +0 -13
  2935. data/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb +0 -28
  2936. data/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +0 -94
  2937. data/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb +0 -19
  2938. data/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb +0 -68
  2939. data/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb +0 -12
  2940. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb +0 -2
  2941. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb +0 -6
  2942. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +0 -50
  2943. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb +0 -5
  2944. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +0 -14
  2945. data/vendor/rails/activesupport/lib/active_support/core_ext/class.rb +0 -4
  2946. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +0 -48
  2947. data/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb +0 -40
  2948. data/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +0 -140
  2949. data/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb +0 -24
  2950. data/vendor/rails/activesupport/lib/active_support/core_ext/date.rb +0 -10
  2951. data/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb +0 -13
  2952. data/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb +0 -188
  2953. data/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb +0 -98
  2954. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb +0 -10
  2955. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb +0 -77
  2956. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb +0 -74
  2957. data/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb +0 -37
  2958. data/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +0 -63
  2959. data/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb +0 -33
  2960. data/vendor/rails/activesupport/lib/active_support/core_ext/file.rb +0 -21
  2961. data/vendor/rails/activesupport/lib/active_support/core_ext/float.rb +0 -5
  2962. data/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb +0 -24
  2963. data/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb +0 -13
  2964. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +0 -242
  2965. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb +0 -19
  2966. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb +0 -24
  2967. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +0 -102
  2968. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb +0 -54
  2969. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +0 -25
  2970. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb +0 -28
  2971. data/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb +0 -7
  2972. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb +0 -24
  2973. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb +0 -21
  2974. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb +0 -5
  2975. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb +0 -11
  2976. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb +0 -15
  2977. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb +0 -13
  2978. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +0 -51
  2979. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb +0 -24
  2980. data/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb +0 -38
  2981. data/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb +0 -16
  2982. data/vendor/rails/activesupport/lib/active_support/core_ext/module.rb +0 -8
  2983. data/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb +0 -70
  2984. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb +0 -31
  2985. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb +0 -31
  2986. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +0 -48
  2987. data/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb +0 -62
  2988. data/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb +0 -11
  2989. data/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +0 -35
  2990. data/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb +0 -13
  2991. data/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb +0 -17
  2992. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb +0 -7
  2993. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb +0 -44
  2994. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb +0 -91
  2995. data/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +0 -4
  2996. data/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb +0 -14
  2997. data/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb +0 -58
  2998. data/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb +0 -22
  2999. data/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb +0 -59
  3000. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb +0 -7
  3001. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb +0 -14
  3002. data/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb +0 -12
  3003. data/vendor/rails/activesupport/lib/active_support/core_ext/range.rb +0 -11
  3004. data/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb +0 -22
  3005. data/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb +0 -23
  3006. data/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb +0 -22
  3007. data/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb +0 -12
  3008. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +0 -23
  3009. data/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb +0 -58
  3010. data/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb +0 -28
  3011. data/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb +0 -153
  3012. data/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb +0 -17
  3013. data/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +0 -27
  3014. data/vendor/rails/activesupport/lib/active_support/core_ext/string/unicode.rb +0 -42
  3015. data/vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb +0 -11
  3016. data/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb +0 -14
  3017. data/vendor/rails/activesupport/lib/active_support/core_ext/test.rb +0 -1
  3018. data/vendor/rails/activesupport/lib/active_support/core_ext/test/unit/assertions.rb +0 -62
  3019. data/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +0 -19
  3020. data/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb +0 -13
  3021. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +0 -224
  3022. data/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb +0 -94
  3023. data/vendor/rails/activesupport/lib/active_support/dependencies.rb +0 -540
  3024. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +0 -204
  3025. data/vendor/rails/activesupport/lib/active_support/duration.rb +0 -96
  3026. data/vendor/rails/activesupport/lib/active_support/inflections.rb +0 -53
  3027. data/vendor/rails/activesupport/lib/active_support/inflector.rb +0 -282
  3028. data/vendor/rails/activesupport/lib/active_support/json.rb +0 -31
  3029. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +0 -60
  3030. data/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb +0 -5
  3031. data/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb +0 -5
  3032. data/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb +0 -12
  3033. data/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb +0 -5
  3034. data/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb +0 -50
  3035. data/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb +0 -5
  3036. data/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb +0 -5
  3037. data/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb +0 -6
  3038. data/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb +0 -5
  3039. data/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb +0 -30
  3040. data/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb +0 -5
  3041. data/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb +0 -5
  3042. data/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb +0 -5
  3043. data/vendor/rails/activesupport/lib/active_support/json/encoding.rb +0 -38
  3044. data/vendor/rails/activesupport/lib/active_support/json/variable.rb +0 -10
  3045. data/vendor/rails/activesupport/lib/active_support/multibyte.rb +0 -9
  3046. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +0 -141
  3047. data/vendor/rails/activesupport/lib/active_support/multibyte/generators/generate_tables.rb +0 -149
  3048. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb +0 -9
  3049. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb +0 -564
  3050. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb +0 -43
  3051. data/vendor/rails/activesupport/lib/active_support/option_merger.rb +0 -25
  3052. data/vendor/rails/activesupport/lib/active_support/ordered_options.rb +0 -49
  3053. data/vendor/rails/activesupport/lib/active_support/test_case.rb +0 -5
  3054. data/vendor/rails/activesupport/lib/active_support/testing.rb +0 -1
  3055. data/vendor/rails/activesupport/lib/active_support/testing/default.rb +0 -12
  3056. data/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +0 -181
  3057. data/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat +0 -0
  3058. data/vendor/rails/activesupport/lib/active_support/vendor.rb +0 -14
  3059. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb +0 -113
  3060. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb +0 -13
  3061. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb +0 -20
  3062. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb +0 -250
  3063. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb +0 -115
  3064. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb +0 -139
  3065. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb +0 -63
  3066. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb +0 -328
  3067. data/vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb +0 -1021
  3068. data/vendor/rails/activesupport/lib/active_support/version.rb +0 -9
  3069. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -38
  3070. data/vendor/rails/activesupport/lib/activesupport.rb +0 -1
  3071. data/vendor/rails/activesupport/test/abstract_unit.rb +0 -20
  3072. data/vendor/rails/activesupport/test/autoloading_fixtures/a/b.rb +0 -2
  3073. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/d.rb +0 -2
  3074. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/e/f.rb +0 -2
  3075. data/vendor/rails/activesupport/test/autoloading_fixtures/application.rb +0 -1
  3076. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder.rb +0 -3
  3077. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/class_folder_subclass.rb +0 -3
  3078. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/inline_class.rb +0 -2
  3079. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/nested_class.rb +0 -7
  3080. data/vendor/rails/activesupport/test/autoloading_fixtures/conflict.rb +0 -1
  3081. data/vendor/rails/activesupport/test/autoloading_fixtures/counting_loader.rb +0 -5
  3082. data/vendor/rails/activesupport/test/autoloading_fixtures/cross_site_dependency.rb +0 -2
  3083. data/vendor/rails/activesupport/test/autoloading_fixtures/e.rb +0 -2
  3084. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/inline_class.rb +0 -2
  3085. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_class.rb +0 -4
  3086. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_sibling.rb +0 -2
  3087. data/vendor/rails/activesupport/test/autoloading_fixtures/module_with_custom_const_missing/a/b.rb +0 -1
  3088. data/vendor/rails/activesupport/test/autoloading_fixtures/multiple_constant_file.rb +0 -2
  3089. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_name_error.rb +0 -3
  3090. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_no_method_error.rb +0 -3
  3091. data/vendor/rails/activesupport/test/buffered_logger_test.rb +0 -107
  3092. data/vendor/rails/activesupport/test/clean_logger_test.rb +0 -57
  3093. data/vendor/rails/activesupport/test/core_ext/array_ext_test.rb +0 -250
  3094. data/vendor/rails/activesupport/test/core_ext/blank_test.rb +0 -19
  3095. data/vendor/rails/activesupport/test/core_ext/cgi_ext_test.rb +0 -14
  3096. data/vendor/rails/activesupport/test/core_ext/class/attribute_accessor_test.rb +0 -31
  3097. data/vendor/rails/activesupport/test/core_ext/class/class_inheritable_attributes_test.rb +0 -224
  3098. data/vendor/rails/activesupport/test/core_ext/class/delegating_attributes_test.rb +0 -105
  3099. data/vendor/rails/activesupport/test/core_ext/class_test.rb +0 -46
  3100. data/vendor/rails/activesupport/test/core_ext/date_ext_test.rb +0 -196
  3101. data/vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb +0 -230
  3102. data/vendor/rails/activesupport/test/core_ext/duplicable_test.rb +0 -22
  3103. data/vendor/rails/activesupport/test/core_ext/duration_test.rb +0 -21
  3104. data/vendor/rails/activesupport/test/core_ext/enumerable_test.rb +0 -61
  3105. data/vendor/rails/activesupport/test/core_ext/exception_test.rb +0 -64
  3106. data/vendor/rails/activesupport/test/core_ext/file_test.rb +0 -29
  3107. data/vendor/rails/activesupport/test/core_ext/float_ext_test.rb +0 -25
  3108. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +0 -743
  3109. data/vendor/rails/activesupport/test/core_ext/integer_ext_test.rb +0 -37
  3110. data/vendor/rails/activesupport/test/core_ext/kernel_test.rb +0 -43
  3111. data/vendor/rails/activesupport/test/core_ext/load_error_tests.rb +0 -16
  3112. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb +0 -30
  3113. data/vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb +0 -52
  3114. data/vendor/rails/activesupport/test/core_ext/module/attribute_accessor_test.rb +0 -33
  3115. data/vendor/rails/activesupport/test/core_ext/module/attribute_aliasing_test.rb +0 -58
  3116. data/vendor/rails/activesupport/test/core_ext/module_test.rb +0 -293
  3117. data/vendor/rails/activesupport/test/core_ext/name_error_test.rb +0 -24
  3118. data/vendor/rails/activesupport/test/core_ext/numeric_ext_test.rb +0 -147
  3119. data/vendor/rails/activesupport/test/core_ext/object_and_class_ext_test.rb +0 -242
  3120. data/vendor/rails/activesupport/test/core_ext/pathname_test.rb +0 -9
  3121. data/vendor/rails/activesupport/test/core_ext/proc_test.rb +0 -11
  3122. data/vendor/rails/activesupport/test/core_ext/range_ext_test.rb +0 -63
  3123. data/vendor/rails/activesupport/test/core_ext/string_ext_test.rb +0 -180
  3124. data/vendor/rails/activesupport/test/core_ext/symbol_test.rb +0 -9
  3125. data/vendor/rails/activesupport/test/core_ext/time_ext_test.rb +0 -420
  3126. data/vendor/rails/activesupport/test/dependencies/check_warnings.rb +0 -2
  3127. data/vendor/rails/activesupport/test/dependencies/conflict.rb +0 -1
  3128. data/vendor/rails/activesupport/test/dependencies/cross_site_depender.rb +0 -3
  3129. data/vendor/rails/activesupport/test/dependencies/mutual_one.rb +0 -4
  3130. data/vendor/rails/activesupport/test/dependencies/mutual_two.rb +0 -4
  3131. data/vendor/rails/activesupport/test/dependencies/raises_exception.rb +0 -3
  3132. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent0.rb +0 -1
  3133. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent1.rb +0 -1
  3134. data/vendor/rails/activesupport/test/dependencies/service_one.rb +0 -5
  3135. data/vendor/rails/activesupport/test/dependencies/service_two.rb +0 -2
  3136. data/vendor/rails/activesupport/test/dependencies_test.rb +0 -751
  3137. data/vendor/rails/activesupport/test/deprecation_test.rb +0 -151
  3138. data/vendor/rails/activesupport/test/inflector_test.rb +0 -248
  3139. data/vendor/rails/activesupport/test/inflector_test_cases.rb +0 -208
  3140. data/vendor/rails/activesupport/test/json/decoding_test.rb +0 -41
  3141. data/vendor/rails/activesupport/test/json/encoding_test.rb +0 -111
  3142. data/vendor/rails/activesupport/test/multibyte_chars_test.rb +0 -173
  3143. data/vendor/rails/activesupport/test/multibyte_conformance.rb +0 -141
  3144. data/vendor/rails/activesupport/test/multibyte_handler_test.rb +0 -367
  3145. data/vendor/rails/activesupport/test/option_merger_test.rb +0 -50
  3146. data/vendor/rails/activesupport/test/ordered_options_test.rb +0 -84
  3147. data/vendor/rails/activesupport/test/test_test.rb +0 -73
  3148. data/vendor/rails/activesupport/test/time_zone_test.rb +0 -98
  3149. data/vendor/rails/activesupport/test/whiny_nil_test.rb +0 -38
  3150. data/vendor/rails/railties/CHANGELOG +0 -1899
  3151. data/vendor/rails/railties/MIT-LICENSE +0 -20
  3152. data/vendor/rails/railties/README +0 -203
  3153. data/vendor/rails/railties/Rakefile +0 -358
  3154. data/vendor/rails/railties/bin/about +0 -3
  3155. data/vendor/rails/railties/bin/performance/benchmarker +0 -3
  3156. data/vendor/rails/railties/bin/performance/profiler +0 -3
  3157. data/vendor/rails/railties/bin/plugin +0 -3
  3158. data/vendor/rails/railties/bin/process/inspector +0 -3
  3159. data/vendor/rails/railties/bin/process/reaper +0 -3
  3160. data/vendor/rails/railties/bin/process/spawner +0 -3
  3161. data/vendor/rails/railties/bin/rails +0 -19
  3162. data/vendor/rails/railties/bin/runner +0 -3
  3163. data/vendor/rails/railties/builtin/rails_info/rails/info.rb +0 -123
  3164. data/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb +0 -9
  3165. data/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb +0 -2
  3166. data/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb +0 -2
  3167. data/vendor/rails/railties/configs/apache.conf +0 -40
  3168. data/vendor/rails/railties/configs/databases/frontbase.yml +0 -28
  3169. data/vendor/rails/railties/configs/databases/mysql.yml +0 -54
  3170. data/vendor/rails/railties/configs/databases/oracle.yml +0 -39
  3171. data/vendor/rails/railties/configs/databases/postgresql.yml +0 -48
  3172. data/vendor/rails/railties/configs/databases/sqlite2.yml +0 -16
  3173. data/vendor/rails/railties/configs/databases/sqlite3.yml +0 -19
  3174. data/vendor/rails/railties/configs/empty.log +0 -0
  3175. data/vendor/rails/railties/configs/initializers/inflections.rb +0 -10
  3176. data/vendor/rails/railties/configs/initializers/mime_types.rb +0 -5
  3177. data/vendor/rails/railties/configs/lighttpd.conf +0 -54
  3178. data/vendor/rails/railties/dispatches/dispatch.fcgi +0 -24
  3179. data/vendor/rails/railties/dispatches/dispatch.rb +0 -10
  3180. data/vendor/rails/railties/dispatches/gateway.cgi +0 -97
  3181. data/vendor/rails/railties/doc/README_FOR_APP +0 -2
  3182. data/vendor/rails/railties/environments/boot.rb +0 -109
  3183. data/vendor/rails/railties/environments/development.rb +0 -18
  3184. data/vendor/rails/railties/environments/environment.rb +0 -59
  3185. data/vendor/rails/railties/environments/production.rb +0 -19
  3186. data/vendor/rails/railties/helpers/application.rb +0 -10
  3187. data/vendor/rails/railties/html/404.html +0 -30
  3188. data/vendor/rails/railties/html/422.html +0 -30
  3189. data/vendor/rails/railties/html/500.html +0 -30
  3190. data/vendor/rails/railties/html/favicon.ico +0 -0
  3191. data/vendor/rails/railties/html/images/rails.png +0 -0
  3192. data/vendor/rails/railties/html/index.html +0 -277
  3193. data/vendor/rails/railties/html/javascripts/application.js +0 -2
  3194. data/vendor/rails/railties/html/javascripts/controls.js +0 -963
  3195. data/vendor/rails/railties/html/javascripts/dragdrop.js +0 -972
  3196. data/vendor/rails/railties/html/javascripts/effects.js +0 -1120
  3197. data/vendor/rails/railties/html/javascripts/prototype.js +0 -4225
  3198. data/vendor/rails/railties/html/robots.txt +0 -5
  3199. data/vendor/rails/railties/lib/code_statistics.rb +0 -107
  3200. data/vendor/rails/railties/lib/commands.rb +0 -17
  3201. data/vendor/rails/railties/lib/commands/about.rb +0 -2
  3202. data/vendor/rails/railties/lib/commands/console.rb +0 -32
  3203. data/vendor/rails/railties/lib/commands/destroy.rb +0 -6
  3204. data/vendor/rails/railties/lib/commands/generate.rb +0 -6
  3205. data/vendor/rails/railties/lib/commands/ncgi/listener +0 -86
  3206. data/vendor/rails/railties/lib/commands/ncgi/tracker +0 -69
  3207. data/vendor/rails/railties/lib/commands/performance/benchmarker.rb +0 -24
  3208. data/vendor/rails/railties/lib/commands/performance/profiler.rb +0 -50
  3209. data/vendor/rails/railties/lib/commands/performance/request.rb +0 -6
  3210. data/vendor/rails/railties/lib/commands/plugin.rb +0 -923
  3211. data/vendor/rails/railties/lib/commands/process/inspector.rb +0 -68
  3212. data/vendor/rails/railties/lib/commands/process/reaper.rb +0 -149
  3213. data/vendor/rails/railties/lib/commands/process/spawner.rb +0 -219
  3214. data/vendor/rails/railties/lib/commands/process/spinner.rb +0 -57
  3215. data/vendor/rails/railties/lib/commands/runner.rb +0 -48
  3216. data/vendor/rails/railties/lib/commands/server.rb +0 -39
  3217. data/vendor/rails/railties/lib/commands/servers/base.rb +0 -31
  3218. data/vendor/rails/railties/lib/commands/servers/lighttpd.rb +0 -94
  3219. data/vendor/rails/railties/lib/commands/servers/mongrel.rb +0 -69
  3220. data/vendor/rails/railties/lib/commands/servers/webrick.rb +0 -66
  3221. data/vendor/rails/railties/lib/commands/update.rb +0 -4
  3222. data/vendor/rails/railties/lib/console_app.rb +0 -30
  3223. data/vendor/rails/railties/lib/console_sandbox.rb +0 -6
  3224. data/vendor/rails/railties/lib/console_with_helpers.rb +0 -26
  3225. data/vendor/rails/railties/lib/dispatcher.rb +0 -24
  3226. data/vendor/rails/railties/lib/fcgi_handler.rb +0 -223
  3227. data/vendor/rails/railties/lib/initializer.rb +0 -682
  3228. data/vendor/rails/railties/lib/rails/plugin.rb +0 -84
  3229. data/vendor/rails/railties/lib/rails/plugin/loader.rb +0 -150
  3230. data/vendor/rails/railties/lib/rails/plugin/locator.rb +0 -78
  3231. data/vendor/rails/railties/lib/rails/version.rb +0 -9
  3232. data/vendor/rails/railties/lib/rails_generator.rb +0 -43
  3233. data/vendor/rails/railties/lib/rails_generator/base.rb +0 -263
  3234. data/vendor/rails/railties/lib/rails_generator/commands.rb +0 -591
  3235. data/vendor/rails/railties/lib/rails_generator/generated_attribute.rb +0 -42
  3236. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE +0 -9
  3237. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +0 -179
  3238. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE +0 -29
  3239. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -37
  3240. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -10
  3241. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -8
  3242. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
  3243. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
  3244. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE +0 -8
  3245. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
  3246. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
  3247. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE +0 -16
  3248. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -34
  3249. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
  3250. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  3251. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -13
  3252. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -21
  3253. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
  3254. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  3255. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE +0 -29
  3256. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -20
  3257. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -11
  3258. data/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE +0 -27
  3259. data/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb +0 -45
  3260. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -19
  3261. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb +0 -16
  3262. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb +0 -2
  3263. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -8
  3264. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE +0 -13
  3265. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
  3266. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
  3267. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -8
  3268. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE +0 -25
  3269. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
  3270. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
  3271. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README +0 -13
  3272. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -22
  3273. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
  3274. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
  3275. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
  3276. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
  3277. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
  3278. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
  3279. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE +0 -23
  3280. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -74
  3281. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
  3282. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -8
  3283. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
  3284. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE +0 -25
  3285. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -92
  3286. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -85
  3287. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -45
  3288. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
  3289. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
  3290. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -74
  3291. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -19
  3292. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
  3293. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -18
  3294. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
  3295. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE +0 -10
  3296. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
  3297. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
  3298. data/vendor/rails/railties/lib/rails_generator/lookup.rb +0 -244
  3299. data/vendor/rails/railties/lib/rails_generator/manifest.rb +0 -53
  3300. data/vendor/rails/railties/lib/rails_generator/options.rb +0 -143
  3301. data/vendor/rails/railties/lib/rails_generator/scripts.rb +0 -86
  3302. data/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb +0 -30
  3303. data/vendor/rails/railties/lib/rails_generator/scripts/generate.rb +0 -7
  3304. data/vendor/rails/railties/lib/rails_generator/scripts/update.rb +0 -12
  3305. data/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb +0 -160
  3306. data/vendor/rails/railties/lib/rails_generator/simple_logger.rb +0 -46
  3307. data/vendor/rails/railties/lib/rails_generator/spec.rb +0 -44
  3308. data/vendor/rails/railties/lib/railties_path.rb +0 -1
  3309. data/vendor/rails/railties/lib/ruby_version_check.rb +0 -17
  3310. data/vendor/rails/railties/lib/rubyprof_ext.rb +0 -35
  3311. data/vendor/rails/railties/lib/source_annotation_extractor.rb +0 -62
  3312. data/vendor/rails/railties/lib/tasks/annotations.rake +0 -23
  3313. data/vendor/rails/railties/lib/tasks/databases.rake +0 -363
  3314. data/vendor/rails/railties/lib/tasks/documentation.rake +0 -80
  3315. data/vendor/rails/railties/lib/tasks/framework.rake +0 -118
  3316. data/vendor/rails/railties/lib/tasks/log.rake +0 -9
  3317. data/vendor/rails/railties/lib/tasks/misc.rake +0 -10
  3318. data/vendor/rails/railties/lib/tasks/rails.rb +0 -8
  3319. data/vendor/rails/railties/lib/tasks/routes.rake +0 -17
  3320. data/vendor/rails/railties/lib/tasks/statistics.rake +0 -18
  3321. data/vendor/rails/railties/lib/tasks/testing.rake +0 -118
  3322. data/vendor/rails/railties/lib/tasks/tmp.rake +0 -37
  3323. data/vendor/rails/railties/lib/test_help.rb +0 -20
  3324. data/vendor/rails/railties/lib/webrick_server.rb +0 -165
  3325. data/vendor/rails/railties/test/abstract_unit.rb +0 -24
  3326. data/vendor/rails/railties/test/boot_test.rb +0 -179
  3327. data/vendor/rails/railties/test/console_app_test.rb +0 -29
  3328. data/vendor/rails/railties/test/fcgi_dispatcher_test.rb +0 -265
  3329. data/vendor/rails/railties/test/fixtures/environment_with_constant.rb +0 -1
  3330. data/vendor/rails/railties/test/fixtures/lib/generators/missing_class/missing_class_generator.rb +0 -0
  3331. data/vendor/rails/railties/test/fixtures/lib/generators/working/working_generator.rb +0 -2
  3332. data/vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb +0 -0
  3333. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/init.rb +0 -7
  3334. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/lib/stubby_mixin.rb +0 -2
  3335. data/vendor/rails/railties/test/generators/generator_test_helper.rb +0 -195
  3336. data/vendor/rails/railties/test/generators/rails_model_generator_test.rb +0 -109
  3337. data/vendor/rails/railties/test/generators/rails_resource_generator_test.rb +0 -106
  3338. data/vendor/rails/railties/test/generators/rails_scaffold_generator_test.rb +0 -185
  3339. data/vendor/rails/railties/test/initializer_test.rb +0 -218
  3340. data/vendor/rails/railties/test/mocks/routes.rb +0 -6
  3341. data/vendor/rails/railties/test/plugin_loader_test.rb +0 -140
  3342. data/vendor/rails/railties/test/plugin_locator_test.rb +0 -69
  3343. data/vendor/rails/railties/test/plugin_test.rb +0 -141
  3344. data/vendor/rails/railties/test/plugin_test_helper.rb +0 -29
  3345. data/vendor/rails/railties/test/rails_generator_test.rb +0 -137
  3346. data/vendor/rails/railties/test/rails_info_controller_test.rb +0 -48
  3347. data/vendor/rails/railties/test/rails_info_test.rb +0 -105
  3348. data/vendor/rails/railties/test/secret_key_generation_test.rb +0 -35
@@ -1,30 +0,0 @@
1
- require 'rbconfig'
2
- require 'find'
3
- require 'ftools'
4
-
5
- include Config
6
-
7
- # this was adapted from rdoc's install.rb by ways of Log4r
8
-
9
- $sitedir = CONFIG["sitelibdir"]
10
- unless $sitedir
11
- version = CONFIG["MAJOR"] + "." + CONFIG["MINOR"]
12
- $libdir = File.join(CONFIG["libdir"], "ruby", version)
13
- $sitedir = $:.find {|x| x =~ /site_ruby/ }
14
- if !$sitedir
15
- $sitedir = File.join($libdir, "site_ruby")
16
- elsif $sitedir !~ Regexp.quote(version)
17
- $sitedir = File.join($sitedir, version)
18
- end
19
- end
20
-
21
- # the actual gruntwork
22
- Dir.chdir("lib")
23
-
24
- Find.find("active_record", "active_record.rb") { |f|
25
- if f[-3..-1] == ".rb"
26
- File::install(f, File.join($sitedir, *f.split(/\//)), 0644, true)
27
- else
28
- File::makedirs(File.join($sitedir, *f.split(/\//)))
29
- end
30
- }
@@ -1,76 +0,0 @@
1
- #--
2
- # Copyright (c) 2004-2007 David Heinemeier Hansson
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
23
-
24
- $:.unshift(File.dirname(__FILE__)) unless
25
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
26
-
27
- unless defined? ActiveSupport
28
- active_support_path = File.dirname(__FILE__) + "/../../activesupport/lib"
29
- if File.exist?(active_support_path)
30
- $:.unshift active_support_path
31
- require 'active_support'
32
- else
33
- require 'rubygems'
34
- gem 'activesupport'
35
- require 'active_support'
36
- end
37
- end
38
-
39
- require 'active_record/base'
40
- require 'active_record/observer'
41
- require 'active_record/query_cache'
42
- require 'active_record/validations'
43
- require 'active_record/callbacks'
44
- require 'active_record/reflection'
45
- require 'active_record/associations'
46
- require 'active_record/aggregations'
47
- require 'active_record/transactions'
48
- require 'active_record/timestamp'
49
- require 'active_record/locking/optimistic'
50
- require 'active_record/locking/pessimistic'
51
- require 'active_record/migration'
52
- require 'active_record/schema'
53
- require 'active_record/calculations'
54
- require 'active_record/serialization'
55
- require 'active_record/attribute_methods'
56
-
57
- ActiveRecord::Base.class_eval do
58
- extend ActiveRecord::QueryCache
59
- include ActiveRecord::Validations
60
- include ActiveRecord::Locking::Optimistic
61
- include ActiveRecord::Locking::Pessimistic
62
- include ActiveRecord::Callbacks
63
- include ActiveRecord::Observing
64
- include ActiveRecord::Timestamp
65
- include ActiveRecord::Associations
66
- include ActiveRecord::Aggregations
67
- include ActiveRecord::Transactions
68
- include ActiveRecord::Reflection
69
- include ActiveRecord::Calculations
70
- include ActiveRecord::Serialization
71
- include ActiveRecord::AttributeMethods
72
- end
73
-
74
- require 'active_record/connection_adapters/abstract_adapter'
75
-
76
- require 'active_record/schema_dumper'
@@ -1,180 +0,0 @@
1
- module ActiveRecord
2
- module Aggregations # :nodoc:
3
- def self.included(base)
4
- base.extend(ClassMethods)
5
- end
6
-
7
- def clear_aggregation_cache #:nodoc:
8
- self.class.reflect_on_all_aggregations.to_a.each do |assoc|
9
- instance_variable_set "@#{assoc.name}", nil
10
- end unless self.new_record?
11
- end
12
-
13
- # Active Record implements aggregation through a macro-like class method called +composed_of+ for representing attributes
14
- # as value objects. It expresses relationships like "Account [is] composed of Money [among other things]" or "Person [is]
15
- # composed of [an] address". Each call to the macro adds a description of how the value objects are created from the
16
- # attributes of the entity object (when the entity is initialized either as a new object or from finding an existing object)
17
- # and how it can be turned back into attributes (when the entity is saved to the database). Example:
18
- #
19
- # class Customer < ActiveRecord::Base
20
- # composed_of :balance, :class_name => "Money", :mapping => %w(balance amount)
21
- # composed_of :address, :mapping => [ %w(address_street street), %w(address_city city) ]
22
- # end
23
- #
24
- # The customer class now has the following methods to manipulate the value objects:
25
- # * <tt>Customer#balance, Customer#balance=(money)</tt>
26
- # * <tt>Customer#address, Customer#address=(address)</tt>
27
- #
28
- # These methods will operate with value objects like the ones described below:
29
- #
30
- # class Money
31
- # include Comparable
32
- # attr_reader :amount, :currency
33
- # EXCHANGE_RATES = { "USD_TO_DKK" => 6 }
34
- #
35
- # def initialize(amount, currency = "USD")
36
- # @amount, @currency = amount, currency
37
- # end
38
- #
39
- # def exchange_to(other_currency)
40
- # exchanged_amount = (amount * EXCHANGE_RATES["#{currency}_TO_#{other_currency}"]).floor
41
- # Money.new(exchanged_amount, other_currency)
42
- # end
43
- #
44
- # def ==(other_money)
45
- # amount == other_money.amount && currency == other_money.currency
46
- # end
47
- #
48
- # def <=>(other_money)
49
- # if currency == other_money.currency
50
- # amount <=> amount
51
- # else
52
- # amount <=> other_money.exchange_to(currency).amount
53
- # end
54
- # end
55
- # end
56
- #
57
- # class Address
58
- # attr_reader :street, :city
59
- # def initialize(street, city)
60
- # @street, @city = street, city
61
- # end
62
- #
63
- # def close_to?(other_address)
64
- # city == other_address.city
65
- # end
66
- #
67
- # def ==(other_address)
68
- # city == other_address.city && street == other_address.street
69
- # end
70
- # end
71
- #
72
- # Now it's possible to access attributes from the database through the value objects instead. If you choose to name the
73
- # composition the same as the attribute's name, it will be the only way to access that attribute. That's the case with our
74
- # +balance+ attribute. You interact with the value objects just like you would any other attribute, though:
75
- #
76
- # customer.balance = Money.new(20) # sets the Money value object and the attribute
77
- # customer.balance # => Money value object
78
- # customer.balance.exchanged_to("DKK") # => Money.new(120, "DKK")
79
- # customer.balance > Money.new(10) # => true
80
- # customer.balance == Money.new(20) # => true
81
- # customer.balance < Money.new(5) # => false
82
- #
83
- # Value objects can also be composed of multiple attributes, such as the case of Address. The order of the mappings will
84
- # determine the order of the parameters. Example:
85
- #
86
- # customer.address_street = "Hyancintvej"
87
- # customer.address_city = "Copenhagen"
88
- # customer.address # => Address.new("Hyancintvej", "Copenhagen")
89
- # customer.address = Address.new("May Street", "Chicago")
90
- # customer.address_street # => "May Street"
91
- # customer.address_city # => "Chicago"
92
- #
93
- # == Writing value objects
94
- #
95
- # Value objects are immutable and interchangeable objects that represent a given value, such as a +Money+ object representing
96
- # $5. Two +Money+ objects both representing $5 should be equal (through methods such as == and <=> from +Comparable+ if ranking
97
- # makes sense). This is unlike entity objects where equality is determined by identity. An entity class such as +Customer+ can
98
- # easily have two different objects that both have an address on Hyancintvej. Entity identity is determined by object or
99
- # relational unique identifiers (such as primary keys). Normal <tt>ActiveRecord::Base</tt> classes are entity objects.
100
- #
101
- # It's also important to treat the value objects as immutable. Don't allow the +Money+ object to have its amount changed after
102
- # creation. Create a new +Money+ object with the new value instead. This is exemplified by the <tt>Money#exchanged_to</tt> method that
103
- # returns a new value object instead of changing its own values. Active Record won't persist value objects that have been
104
- # changed through means other than the writer method.
105
- #
106
- # The immutable requirement is enforced by Active Record by freezing any object assigned as a value object. Attempting to
107
- # change it afterwards will result in a <tt>TypeError</tt>.
108
- #
109
- # Read more about value objects on http://c2.com/cgi/wiki?ValueObject and on the dangers of not keeping value objects
110
- # immutable on http://c2.com/cgi/wiki?ValueObjectsShouldBeImmutable
111
- module ClassMethods
112
- # Adds reader and writer methods for manipulating a value object:
113
- # <tt>composed_of :address</tt> adds <tt>address</tt> and <tt>address=(new_address)</tt> methods.
114
- #
115
- # Options are:
116
- # * <tt>:class_name</tt> - specify the class name of the association. Use it only if that name can't be inferred
117
- # from the part id. So <tt>composed_of :address</tt> will by default be linked to the +Address+ class, but
118
- # if the real class name is +CompanyAddress+, you'll have to specify it with this option.
119
- # * <tt>:mapping</tt> - specifies a number of mapping arrays (attribute, parameter) that bind an attribute name
120
- # to a constructor parameter on the value class.
121
- # * <tt>:allow_nil</tt> - specifies that the aggregate object will not be instantiated when all mapped
122
- # attributes are +nil+. Setting the aggregate class to +nil+ has the effect of writing +nil+ to all mapped attributes.
123
- # This defaults to +false+.
124
- #
125
- # An optional block can be passed to convert the argument that is passed to the writer method into an instance of
126
- # <tt>:class_name</tt>. The block will only be called if the argument is not already an instance of <tt>:class_name</tt>.
127
- #
128
- # Option examples:
129
- # composed_of :temperature, :mapping => %w(reading celsius)
130
- # composed_of(:balance, :class_name => "Money", :mapping => %w(balance amount)) {|balance| balance.to_money }
131
- # composed_of :address, :mapping => [ %w(address_street street), %w(address_city city) ]
132
- # composed_of :gps_location
133
- # composed_of :gps_location, :allow_nil => true
134
- #
135
- def composed_of(part_id, options = {}, &block)
136
- options.assert_valid_keys(:class_name, :mapping, :allow_nil)
137
-
138
- name = part_id.id2name
139
- class_name = options[:class_name] || name.camelize
140
- mapping = options[:mapping] || [ name, name ]
141
- mapping = [ mapping ] unless mapping.first.is_a?(Array)
142
- allow_nil = options[:allow_nil] || false
143
-
144
- reader_method(name, class_name, mapping, allow_nil)
145
- writer_method(name, class_name, mapping, allow_nil, block)
146
-
147
- create_reflection(:composed_of, part_id, options, self)
148
- end
149
-
150
- private
151
- def reader_method(name, class_name, mapping, allow_nil)
152
- module_eval do
153
- define_method(name) do |*args|
154
- force_reload = args.first || false
155
- if (instance_variable_get("@#{name}").nil? || force_reload) && (!allow_nil || mapping.any? {|pair| !read_attribute(pair.first).nil? })
156
- instance_variable_set("@#{name}", class_name.constantize.new(*mapping.collect {|pair| read_attribute(pair.first)}))
157
- end
158
- return instance_variable_get("@#{name}")
159
- end
160
- end
161
-
162
- end
163
-
164
- def writer_method(name, class_name, mapping, allow_nil, conversion)
165
- module_eval do
166
- define_method("#{name}=") do |part|
167
- if part.nil? && allow_nil
168
- mapping.each { |pair| @attributes[pair.first] = nil }
169
- instance_variable_set("@#{name}", nil)
170
- else
171
- part = conversion.call(part) unless part.is_a?(class_name.constantize) || conversion.nil?
172
- mapping.each { |pair| @attributes[pair.first] = part.send(pair.last) }
173
- instance_variable_set("@#{name}", part.freeze)
174
- end
175
- end
176
- end
177
- end
178
- end
179
- end
180
- end
@@ -1,1769 +0,0 @@
1
- require 'active_record/associations/association_proxy'
2
- require 'active_record/associations/association_collection'
3
- require 'active_record/associations/belongs_to_association'
4
- require 'active_record/associations/belongs_to_polymorphic_association'
5
- require 'active_record/associations/has_one_association'
6
- require 'active_record/associations/has_many_association'
7
- require 'active_record/associations/has_many_through_association'
8
- require 'active_record/associations/has_and_belongs_to_many_association'
9
-
10
- module ActiveRecord
11
- class HasManyThroughAssociationNotFoundError < ActiveRecordError #:nodoc:
12
- def initialize(owner_class_name, reflection)
13
- super("Could not find the association #{reflection.options[:through].inspect} in model #{owner_class_name}")
14
- end
15
- end
16
-
17
- class HasManyThroughAssociationPolymorphicError < ActiveRecordError #:nodoc:
18
- def initialize(owner_class_name, reflection, source_reflection)
19
- super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' on the polymorphic object '#{source_reflection.class_name}##{source_reflection.name}'.")
20
- end
21
- end
22
-
23
- class HasManyThroughAssociationPointlessSourceTypeError < ActiveRecordError #:nodoc:
24
- def initialize(owner_class_name, reflection, source_reflection)
25
- super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' with a :source_type option if the '#{reflection.through_reflection.class_name}##{source_reflection.name}' is not polymorphic. Try removing :source_type on your association.")
26
- end
27
- end
28
-
29
- class HasManyThroughSourceAssociationNotFoundError < ActiveRecordError #:nodoc:
30
- def initialize(reflection)
31
- through_reflection = reflection.through_reflection
32
- source_reflection_names = reflection.source_reflection_names
33
- source_associations = reflection.through_reflection.klass.reflect_on_all_associations.collect { |a| a.name.inspect }
34
- super("Could not find the source association(s) #{source_reflection_names.collect(&:inspect).to_sentence :connector => 'or'} in model #{through_reflection.klass}. Try 'has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}, :source => <name>'. Is it one of #{source_associations.to_sentence :connector => 'or'}?")
35
- end
36
- end
37
-
38
- class HasManyThroughSourceAssociationMacroError < ActiveRecordError #:nodoc:
39
- def initialize(reflection)
40
- through_reflection = reflection.through_reflection
41
- source_reflection = reflection.source_reflection
42
- super("Invalid source reflection macro :#{source_reflection.macro}#{" :through" if source_reflection.options[:through]} for has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}. Use :source to specify the source reflection.")
43
- end
44
- end
45
-
46
- class HasManyThroughCantAssociateNewRecords < ActiveRecordError #:nodoc:
47
- def initialize(owner, reflection)
48
- super("Cannot associate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to create the has_many :through record associating them.")
49
- end
50
- end
51
-
52
- class HasManyThroughCantDissociateNewRecords < ActiveRecordError #:nodoc:
53
- def initialize(owner, reflection)
54
- super("Cannot dissociate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to delete the has_many :through record associating them.")
55
- end
56
- end
57
-
58
- class EagerLoadPolymorphicError < ActiveRecordError #:nodoc:
59
- def initialize(reflection)
60
- super("Can not eagerly load the polymorphic association #{reflection.name.inspect}")
61
- end
62
- end
63
-
64
- class ReadOnlyAssociation < ActiveRecordError #:nodoc:
65
- def initialize(reflection)
66
- super("Can not add to a has_many :through association. Try adding to #{reflection.through_reflection.name.inspect}.")
67
- end
68
- end
69
-
70
- module Associations # :nodoc:
71
- def self.included(base)
72
- base.extend(ClassMethods)
73
- end
74
-
75
- # Clears out the association cache
76
- def clear_association_cache #:nodoc:
77
- self.class.reflect_on_all_associations.to_a.each do |assoc|
78
- instance_variable_set "@#{assoc.name}", nil
79
- end unless self.new_record?
80
- end
81
-
82
- # Associations are a set of macro-like class methods for tying objects together through foreign keys. They express relationships like
83
- # "Project has one Project Manager" or "Project belongs to a Portfolio". Each macro adds a number of methods to the class which are
84
- # specialized according to the collection or association symbol and the options hash. It works much the same way as Ruby's own <tt>attr*</tt>
85
- # methods. Example:
86
- #
87
- # class Project < ActiveRecord::Base
88
- # belongs_to :portfolio
89
- # has_one :project_manager
90
- # has_many :milestones
91
- # has_and_belongs_to_many :categories
92
- # end
93
- #
94
- # The project class now has the following methods (and more) to ease the traversal and manipulation of its relationships:
95
- # * <tt>Project#portfolio, Project#portfolio=(portfolio), Project#portfolio.nil?</tt>
96
- # * <tt>Project#project_manager, Project#project_manager=(project_manager), Project#project_manager.nil?,</tt>
97
- # * <tt>Project#milestones.empty?, Project#milestones.size, Project#milestones, Project#milestones<<(milestone),</tt>
98
- # <tt>Project#milestones.delete(milestone), Project#milestones.find(milestone_id), Project#milestones.find(:all, options),</tt>
99
- # <tt>Project#milestones.build, Project#milestones.create</tt>
100
- # * <tt>Project#categories.empty?, Project#categories.size, Project#categories, Project#categories<<(category1),</tt>
101
- # <tt>Project#categories.delete(category1)</tt>
102
- #
103
- # === A word of warning
104
- #
105
- # Don't create associations that have the same name as instance methods of ActiveRecord::Base. Since the association
106
- # adds a method with that name to its model, it will override the inherited method and break things.
107
- # For instance, #attributes and #connection would be bad choices for association names.
108
- #
109
- # == Auto-generated methods
110
- #
111
- # ===Singular associations (one-to-one)
112
- # | | belongs_to |
113
- # generated methods | belongs_to | :polymorphic | has_one
114
- # ----------------------------------+------------+--------------+---------
115
- # #other | X | X | X
116
- # #other=(other) | X | X | X
117
- # #build_other(attributes={}) | X | | X
118
- # #create_other(attributes={}) | X | | X
119
- # #other.create!(attributes={}) | | | X
120
- # #other.nil? | X | X |
121
- #
122
- # ===Collection associations (one-to-many / many-to-many)
123
- # | | | has_many
124
- # generated methods | habtm | has_many | :through
125
- # ----------------------------------+-------+----------+----------
126
- # #others | X | X | X
127
- # #others=(other,other,...) | X | X |
128
- # #other_ids | X | X | X
129
- # #other_ids=(id,id,...) | X | X |
130
- # #others<< | X | X | X
131
- # #others.push | X | X | X
132
- # #others.concat | X | X | X
133
- # #others.build(attributes={}) | X | X | X
134
- # #others.create(attributes={}) | X | X |
135
- # #others.create!(attributes={}) | X | X | X
136
- # #others.size | X | X | X
137
- # #others.length | X | X | X
138
- # #others.count | | X | X
139
- # #others.sum(args*,&block) | X | X | X
140
- # #others.empty? | X | X | X
141
- # #others.clear | X | X |
142
- # #others.delete(other,other,...) | X | X | X
143
- # #others.delete_all | X | X |
144
- # #others.destroy_all | X | X | X
145
- # #others.find(*args) | X | X | X
146
- # #others.find_first | X | |
147
- # #others.uniq | X | X |
148
- # #others.reset | X | X | X
149
- #
150
- # == Cardinality and associations
151
- #
152
- # ActiveRecord associations can be used to describe relations with one-to-one, one-to-many
153
- # and many-to-many cardinality. Each model uses an association to describe its role in
154
- # the relation. In each case, the +belongs_to+ association is used in the model that has
155
- # the foreign key.
156
- #
157
- # === One-to-one
158
- #
159
- # Use +has_one+ in the base, and +belongs_to+ in the associated model.
160
- #
161
- # class Employee < ActiveRecord::Base
162
- # has_one :office
163
- # end
164
- # class Office < ActiveRecord::Base
165
- # belongs_to :employee # foreign key - employee_id
166
- # end
167
- #
168
- # === One-to-many
169
- #
170
- # Use +has_many+ in the base, and +belongs_to+ in the associated model.
171
- #
172
- # class Manager < ActiveRecord::Base
173
- # has_many :employees
174
- # end
175
- # class Employee < ActiveRecord::Base
176
- # belongs_to :manager # foreign key - manager_id
177
- # end
178
- #
179
- # === Many-to-many
180
- #
181
- # There are two ways to build a many-to-many relationship.
182
- #
183
- # The first way uses a +has_many+ association with the <tt>:through</tt> option and a join model, so
184
- # there are two stages of associations.
185
- #
186
- # class Assignment < ActiveRecord::Base
187
- # belongs_to :programmer # foreign key - programmer_id
188
- # belongs_to :project # foreign key - project_id
189
- # end
190
- # class Programmer < ActiveRecord::Base
191
- # has_many :assignments
192
- # has_many :projects, :through => :assignments
193
- # end
194
- # class Project < ActiveRecord::Base
195
- # has_many :assignments
196
- # has_many :programmers, :through => :assignments
197
- # end
198
- #
199
- # For the second way, use +has_and_belongs_to_many+ in both models. This requires a join table
200
- # that has no corresponding model or primary key.
201
- #
202
- # class Programmer < ActiveRecord::Base
203
- # has_and_belongs_to_many :projects # foreign keys in the join table
204
- # end
205
- # class Project < ActiveRecord::Base
206
- # has_and_belongs_to_many :programmers # foreign keys in the join table
207
- # end
208
- #
209
- # Choosing which way to build a many-to-many relationship is not always simple.
210
- # If you need to work with the relationship model as its own entity,
211
- # use <tt>has_many :through</tt>. Use +has_and_belongs_to_many+ when working with legacy schemas or when
212
- # you never work directly with the relationship itself.
213
- #
214
- # == Is it a +belongs_to+ or +has_one+ association?
215
- #
216
- # Both express a 1-1 relationship. The difference is mostly where to place the foreign key, which goes on the table for the class
217
- # declaring the +belongs_to+ relationship. Example:
218
- #
219
- # class User < ActiveRecord::Base
220
- # # I reference an account.
221
- # belongs_to :account
222
- # end
223
- #
224
- # class Account < ActiveRecord::Base
225
- # # One user references me.
226
- # has_one :user
227
- # end
228
- #
229
- # The tables for these classes could look something like:
230
- #
231
- # CREATE TABLE users (
232
- # id int(11) NOT NULL auto_increment,
233
- # account_id int(11) default NULL,
234
- # name varchar default NULL,
235
- # PRIMARY KEY (id)
236
- # )
237
- #
238
- # CREATE TABLE accounts (
239
- # id int(11) NOT NULL auto_increment,
240
- # name varchar default NULL,
241
- # PRIMARY KEY (id)
242
- # )
243
- #
244
- # == Unsaved objects and associations
245
- #
246
- # You can manipulate objects and associations before they are saved to the database, but there is some special behavior you should be
247
- # aware of, mostly involving the saving of associated objects.
248
- #
249
- # === One-to-one associations
250
- #
251
- # * Assigning an object to a +has_one+ association automatically saves that object and the object being replaced (if there is one), in
252
- # order to update their primary keys - except if the parent object is unsaved (<tt>new_record? == true</tt>).
253
- # * If either of these saves fail (due to one of the objects being invalid) the assignment statement returns +false+ and the assignment
254
- # is cancelled.
255
- # * If you wish to assign an object to a +has_one+ association without saving it, use the <tt>#association.build</tt> method (documented below).
256
- # * Assigning an object to a +belongs_to+ association does not save the object, since the foreign key field belongs on the parent. It
257
- # does not save the parent either.
258
- #
259
- # === Collections
260
- #
261
- # * Adding an object to a collection (+has_many+ or +has_and_belongs_to_many+) automatically saves that object, except if the parent object
262
- # (the owner of the collection) is not yet stored in the database.
263
- # * If saving any of the objects being added to a collection (via <tt>#push</tt> or similar) fails, then <tt>#push</tt> returns +false+.
264
- # * You can add an object to a collection without automatically saving it by using the <tt>#collection.build</tt> method (documented below).
265
- # * All unsaved (<tt>new_record? == true</tt>) members of the collection are automatically saved when the parent is saved.
266
- #
267
- # === Association callbacks
268
- #
269
- # Similar to the normal callbacks that hook into the lifecycle of an Active Record object, you can also define callbacks that get
270
- # triggered when you add an object to or remove an object from an association collection. Example:
271
- #
272
- # class Project
273
- # has_and_belongs_to_many :developers, :after_add => :evaluate_velocity
274
- #
275
- # def evaluate_velocity(developer)
276
- # ...
277
- # end
278
- # end
279
- #
280
- # It's possible to stack callbacks by passing them as an array. Example:
281
- #
282
- # class Project
283
- # has_and_belongs_to_many :developers, :after_add => [:evaluate_velocity, Proc.new { |p, d| p.shipping_date = Time.now}]
284
- # end
285
- #
286
- # Possible callbacks are: +before_add+, +after_add+, +before_remove+ and +after_remove+.
287
- #
288
- # Should any of the +before_add+ callbacks throw an exception, the object does not get added to the collection. Same with
289
- # the +before_remove+ callbacks; if an exception is thrown the object doesn't get removed.
290
- #
291
- # === Association extensions
292
- #
293
- # The proxy objects that control the access to associations can be extended through anonymous modules. This is especially
294
- # beneficial for adding new finders, creators, and other factory-type methods that are only used as part of this association.
295
- # Example:
296
- #
297
- # class Account < ActiveRecord::Base
298
- # has_many :people do
299
- # def find_or_create_by_name(name)
300
- # first_name, last_name = name.split(" ", 2)
301
- # find_or_create_by_first_name_and_last_name(first_name, last_name)
302
- # end
303
- # end
304
- # end
305
- #
306
- # person = Account.find(:first).people.find_or_create_by_name("David Heinemeier Hansson")
307
- # person.first_name # => "David"
308
- # person.last_name # => "Heinemeier Hansson"
309
- #
310
- # If you need to share the same extensions between many associations, you can use a named extension module. Example:
311
- #
312
- # module FindOrCreateByNameExtension
313
- # def find_or_create_by_name(name)
314
- # first_name, last_name = name.split(" ", 2)
315
- # find_or_create_by_first_name_and_last_name(first_name, last_name)
316
- # end
317
- # end
318
- #
319
- # class Account < ActiveRecord::Base
320
- # has_many :people, :extend => FindOrCreateByNameExtension
321
- # end
322
- #
323
- # class Company < ActiveRecord::Base
324
- # has_many :people, :extend => FindOrCreateByNameExtension
325
- # end
326
- #
327
- # If you need to use multiple named extension modules, you can specify an array of modules with the <tt>:extend</tt> option.
328
- # In the case of name conflicts between methods in the modules, methods in modules later in the array supercede
329
- # those earlier in the array. Example:
330
- #
331
- # class Account < ActiveRecord::Base
332
- # has_many :people, :extend => [FindOrCreateByNameExtension, FindRecentExtension]
333
- # end
334
- #
335
- # Some extensions can only be made to work with knowledge of the association proxy's internals.
336
- # Extensions can access relevant state using accessors on the association proxy:
337
- #
338
- # * +proxy_owner+ - Returns the object the association is part of.
339
- # * +proxy_reflection+ - Returns the reflection object that describes the association.
340
- # * +proxy_target+ - Returns the associated object for +belongs_to+ and +has_one+, or the collection of associated objects for +has_many+ and +has_and_belongs_to_many+.
341
- #
342
- # === Association Join Models
343
- #
344
- # Has Many associations can be configured with the <tt>:through</tt> option to use an explicit join model to retrieve the data. This
345
- # operates similarly to a +has_and_belongs_to_many+ association. The advantage is that you're able to add validations,
346
- # callbacks, and extra attributes on the join model. Consider the following schema:
347
- #
348
- # class Author < ActiveRecord::Base
349
- # has_many :authorships
350
- # has_many :books, :through => :authorships
351
- # end
352
- #
353
- # class Authorship < ActiveRecord::Base
354
- # belongs_to :author
355
- # belongs_to :book
356
- # end
357
- #
358
- # @author = Author.find :first
359
- # @author.authorships.collect { |a| a.book } # selects all books that the author's authorships belong to.
360
- # @author.books # selects all books by using the Authorship join model
361
- #
362
- # You can also go through a +has_many+ association on the join model:
363
- #
364
- # class Firm < ActiveRecord::Base
365
- # has_many :clients
366
- # has_many :invoices, :through => :clients
367
- # end
368
- #
369
- # class Client < ActiveRecord::Base
370
- # belongs_to :firm
371
- # has_many :invoices
372
- # end
373
- #
374
- # class Invoice < ActiveRecord::Base
375
- # belongs_to :client
376
- # end
377
- #
378
- # @firm = Firm.find :first
379
- # @firm.clients.collect { |c| c.invoices }.flatten # select all invoices for all clients of the firm
380
- # @firm.invoices # selects all invoices by going through the Client join model.
381
- #
382
- # === Polymorphic Associations
383
- #
384
- # Polymorphic associations on models are not restricted on what types of models they can be associated with. Rather, they
385
- # specify an interface that a +has_many+ association must adhere to.
386
- #
387
- # class Asset < ActiveRecord::Base
388
- # belongs_to :attachable, :polymorphic => true
389
- # end
390
- #
391
- # class Post < ActiveRecord::Base
392
- # has_many :assets, :as => :attachable # The :as option specifies the polymorphic interface to use.
393
- # end
394
- #
395
- # @asset.attachable = @post
396
- #
397
- # This works by using a type column in addition to a foreign key to specify the associated record. In the Asset example, you'd need
398
- # an +attachable_id+ integer column and an +attachable_type+ string column.
399
- #
400
- # Using polymorphic associations in combination with single table inheritance (STI) is a little tricky. In order
401
- # for the associations to work as expected, ensure that you store the base model for the STI models in the
402
- # type column of the polymorphic association. To continue with the asset example above, suppose there are guest posts
403
- # and member posts that use the posts table for STI. In this case, there must be a +type+ column in the posts table.
404
- #
405
- # class Asset < ActiveRecord::Base
406
- # belongs_to :attachable, :polymorphic => true
407
- #
408
- # def attachable_type=(sType)
409
- # super(sType.to_s.classify.constantize.base_class.to_s)
410
- # end
411
- # end
412
- #
413
- # class Post < ActiveRecord::Base
414
- # # because we store "Post" in attachable_type now :dependent => :destroy will work
415
- # has_many :assets, :as => :attachable, :dependent => :destroy
416
- # end
417
- #
418
- # class GuestPost < Post
419
- # end
420
- #
421
- # class MemberPost < Post
422
- # end
423
- #
424
- # == Caching
425
- #
426
- # All of the methods are built on a simple caching principle that will keep the result of the last query around unless specifically
427
- # instructed not to. The cache is even shared across methods to make it even cheaper to use the macro-added methods without
428
- # worrying too much about performance at the first go. Example:
429
- #
430
- # project.milestones # fetches milestones from the database
431
- # project.milestones.size # uses the milestone cache
432
- # project.milestones.empty? # uses the milestone cache
433
- # project.milestones(true).size # fetches milestones from the database
434
- # project.milestones # uses the milestone cache
435
- #
436
- # == Eager loading of associations
437
- #
438
- # Eager loading is a way to find objects of a certain class and a number of named associations along with it in a single SQL call. This is
439
- # one of the easiest ways of to prevent the dreaded 1+N problem in which fetching 100 posts that each need to display their author
440
- # triggers 101 database queries. Through the use of eager loading, the 101 queries can be reduced to 1. Example:
441
- #
442
- # class Post < ActiveRecord::Base
443
- # belongs_to :author
444
- # has_many :comments
445
- # end
446
- #
447
- # Consider the following loop using the class above:
448
- #
449
- # for post in Post.find(:all)
450
- # puts "Post: " + post.title
451
- # puts "Written by: " + post.author.name
452
- # puts "Last comment on: " + post.comments.first.created_on
453
- # end
454
- #
455
- # To iterate over these one hundred posts, we'll generate 201 database queries. Let's first just optimize it for retrieving the author:
456
- #
457
- # for post in Post.find(:all, :include => :author)
458
- #
459
- # This references the name of the +belongs_to+ association that also used the <tt>:author</tt> symbol, so the find will now weave in a join something
460
- # like this: <tt>LEFT OUTER JOIN authors ON authors.id = posts.author_id</tt>. Doing so will cut down the number of queries from 201 to 101.
461
- #
462
- # We can improve upon the situation further by referencing both associations in the finder with:
463
- #
464
- # for post in Post.find(:all, :include => [ :author, :comments ])
465
- #
466
- # That'll add another join along the lines of: <tt>LEFT OUTER JOIN comments ON comments.post_id = posts.id</tt>. And we'll be down to 1 query.
467
- #
468
- # To include a deep hierarchy of associations, use a hash:
469
- #
470
- # for post in Post.find(:all, :include => [ :author, { :comments => { :author => :gravatar } } ])
471
- #
472
- # That'll grab not only all the comments but all their authors and gravatar pictures. You can mix and match
473
- # symbols, arrays and hashes in any combination to describe the associations you want to load.
474
- #
475
- # All of this power shouldn't fool you into thinking that you can pull out huge amounts of data with no performance penalty just because you've reduced
476
- # the number of queries. The database still needs to send all the data to Active Record and it still needs to be processed. So it's no
477
- # catch-all for performance problems, but it's a great way to cut down on the number of queries in a situation as the one described above.
478
- #
479
- # Since the eager loading pulls from multiple tables, you'll have to disambiguate any column references in both conditions and orders. So
480
- # <tt>:order => "posts.id DESC"</tt> will work while <tt>:order => "id DESC"</tt> will not. Because eager loading generates the +SELECT+ statement too, the
481
- # <tt>:select</tt> option is ignored.
482
- #
483
- # You can use eager loading on multiple associations from the same table, but you cannot use those associations in orders and conditions
484
- # as there is currently not any way to disambiguate them. Eager loading will not pull additional attributes on join tables, so "rich
485
- # associations" with +has_and_belongs_to_many+ are not a good fit for eager loading.
486
- #
487
- # When eager loaded, conditions are interpolated in the context of the model class, not the model instance. Conditions are lazily interpolated
488
- # before the actual model exists.
489
- #
490
- # == Table Aliasing
491
- #
492
- # ActiveRecord uses table aliasing in the case that a table is referenced multiple times in a join. If a table is referenced only once,
493
- # the standard table name is used. The second time, the table is aliased as <tt>#{reflection_name}_#{parent_table_name}</tt>. Indexes are appended
494
- # for any more successive uses of the table name.
495
- #
496
- # Post.find :all, :include => :comments
497
- # # => SELECT ... FROM posts LEFT OUTER JOIN comments ON ...
498
- # Post.find :all, :include => :special_comments # STI
499
- # # => SELECT ... FROM posts LEFT OUTER JOIN comments ON ... AND comments.type = 'SpecialComment'
500
- # Post.find :all, :include => [:comments, :special_comments] # special_comments is the reflection name, posts is the parent table name
501
- # # => SELECT ... FROM posts LEFT OUTER JOIN comments ON ... LEFT OUTER JOIN comments special_comments_posts
502
- #
503
- # Acts as tree example:
504
- #
505
- # TreeMixin.find :all, :include => :children
506
- # # => SELECT ... FROM mixins LEFT OUTER JOIN mixins childrens_mixins ...
507
- # TreeMixin.find :all, :include => {:children => :parent} # using cascading eager includes
508
- # # => SELECT ... FROM mixins LEFT OUTER JOIN mixins childrens_mixins ...
509
- # LEFT OUTER JOIN parents_mixins ...
510
- # TreeMixin.find :all, :include => {:children => {:parent => :children}}
511
- # # => SELECT ... FROM mixins LEFT OUTER JOIN mixins childrens_mixins ...
512
- # LEFT OUTER JOIN parents_mixins ...
513
- # LEFT OUTER JOIN mixins childrens_mixins_2
514
- #
515
- # Has and Belongs to Many join tables use the same idea, but add a <tt>_join</tt> suffix:
516
- #
517
- # Post.find :all, :include => :categories
518
- # # => SELECT ... FROM posts LEFT OUTER JOIN categories_posts ... LEFT OUTER JOIN categories ...
519
- # Post.find :all, :include => {:categories => :posts}
520
- # # => SELECT ... FROM posts LEFT OUTER JOIN categories_posts ... LEFT OUTER JOIN categories ...
521
- # LEFT OUTER JOIN categories_posts posts_categories_join LEFT OUTER JOIN posts posts_categories
522
- # Post.find :all, :include => {:categories => {:posts => :categories}}
523
- # # => SELECT ... FROM posts LEFT OUTER JOIN categories_posts ... LEFT OUTER JOIN categories ...
524
- # LEFT OUTER JOIN categories_posts posts_categories_join LEFT OUTER JOIN posts posts_categories
525
- # LEFT OUTER JOIN categories_posts categories_posts_join LEFT OUTER JOIN categories categories_posts
526
- #
527
- # If you wish to specify your own custom joins using a <tt>:joins</tt> option, those table names will take precedence over the eager associations:
528
- #
529
- # Post.find :all, :include => :comments, :joins => "inner join comments ..."
530
- # # => SELECT ... FROM posts LEFT OUTER JOIN comments_posts ON ... INNER JOIN comments ...
531
- # Post.find :all, :include => [:comments, :special_comments], :joins => "inner join comments ..."
532
- # # => SELECT ... FROM posts LEFT OUTER JOIN comments comments_posts ON ...
533
- # LEFT OUTER JOIN comments special_comments_posts ...
534
- # INNER JOIN comments ...
535
- #
536
- # Table aliases are automatically truncated according to the maximum length of table identifiers according to the specific database.
537
- #
538
- # == Modules
539
- #
540
- # By default, associations will look for objects within the current module scope. Consider:
541
- #
542
- # module MyApplication
543
- # module Business
544
- # class Firm < ActiveRecord::Base
545
- # has_many :clients
546
- # end
547
- #
548
- # class Company < ActiveRecord::Base; end
549
- # end
550
- # end
551
- #
552
- # When <tt>Firm#clients</tt> is called, it will in turn call <tt>MyApplication::Business::Company.find(firm.id)</tt>. If you want to associate
553
- # with a class in another module scope, this can be done by specifying the complete class name. Example:
554
- #
555
- # module MyApplication
556
- # module Business
557
- # class Firm < ActiveRecord::Base; end
558
- # end
559
- #
560
- # module Billing
561
- # class Account < ActiveRecord::Base
562
- # belongs_to :firm, :class_name => "MyApplication::Business::Firm"
563
- # end
564
- # end
565
- # end
566
- #
567
- # == Type safety with <tt>ActiveRecord::AssociationTypeMismatch</tt>
568
- #
569
- # If you attempt to assign an object to an association that doesn't match the inferred or specified <tt>:class_name</tt>, you'll
570
- # get an <tt>ActiveRecord::AssociationTypeMismatch</tt>.
571
- #
572
- # == Options
573
- #
574
- # All of the association macros can be specialized through options. This makes cases more complex than the simple and guessable ones
575
- # possible.
576
- module ClassMethods
577
- # Adds the following methods for retrieval and query of collections of associated objects:
578
- # +collection+ is replaced with the symbol passed as the first argument, so
579
- # <tt>has_many :clients</tt> would add among others <tt>clients.empty?</tt>.
580
- # * <tt>collection(force_reload = false)</tt> - returns an array of all the associated objects.
581
- # An empty array is returned if none are found.
582
- # * <tt>collection<<(object, ...)</tt> - adds one or more objects to the collection by setting their foreign keys to the collection's primary key.
583
- # * <tt>collection.delete(object, ...)</tt> - removes one or more objects from the collection by setting their foreign keys to NULL.
584
- # This will also destroy the objects if they're declared as +belongs_to+ and dependent on this model.
585
- # * <tt>collection=objects</tt> - replaces the collections content by deleting and adding objects as appropriate.
586
- # * <tt>collection_singular_ids</tt> - returns an array of the associated objects' ids
587
- # * <tt>collection_singular_ids=ids</tt> - replace the collection with the objects identified by the primary keys in +ids+
588
- # * <tt>collection.clear</tt> - removes every object from the collection. This destroys the associated objects if they
589
- # are associated with <tt>:dependent => :destroy</tt>, deletes them directly from the database if <tt>:dependent => :delete_all</tt>,
590
- # otherwise sets their foreign keys to NULL.
591
- # * <tt>collection.empty?</tt> - returns +true+ if there are no associated objects.
592
- # * <tt>collection.size</tt> - returns the number of associated objects.
593
- # * <tt>collection.find</tt> - finds an associated object according to the same rules as Base.find.
594
- # * <tt>collection.build(attributes = {}, ...)</tt> - returns one or more new objects of the collection type that have been instantiated
595
- # with +attributes+ and linked to this object through a foreign key, but have not yet been saved. *Note:* This only works if an
596
- # associated object already exists, not if it's +nil+!
597
- # * <tt>collection.create(attributes = {})</tt> - returns a new object of the collection type that has been instantiated
598
- # with +attributes+, linked to this object through a foreign key, and that has already been saved (if it passed the validation).
599
- # *Note:* This only works if an associated object already exists, not if it's +nil+!
600
- #
601
- # Example: A +Firm+ class declares <tt>has_many :clients</tt>, which will add:
602
- # * <tt>Firm#clients</tt> (similar to <tt>Clients.find :all, :conditions => "firm_id = #{id}"</tt>)
603
- # * <tt>Firm#clients<<</tt>
604
- # * <tt>Firm#clients.delete</tt>
605
- # * <tt>Firm#clients=</tt>
606
- # * <tt>Firm#client_ids</tt>
607
- # * <tt>Firm#client_ids=</tt>
608
- # * <tt>Firm#clients.clear</tt>
609
- # * <tt>Firm#clients.empty?</tt> (similar to <tt>firm.clients.size == 0</tt>)
610
- # * <tt>Firm#clients.size</tt> (similar to <tt>Client.count "firm_id = #{id}"</tt>)
611
- # * <tt>Firm#clients.find</tt> (similar to <tt>Client.find(id, :conditions => "firm_id = #{id}")</tt>)
612
- # * <tt>Firm#clients.build</tt> (similar to <tt>Client.new("firm_id" => id)</tt>)
613
- # * <tt>Firm#clients.create</tt> (similar to <tt>c = Client.new("firm_id" => id); c.save; c</tt>)
614
- # The declaration can also include an options hash to specialize the behavior of the association.
615
- #
616
- # Options are:
617
- # * <tt>:class_name</tt> - specify the class name of the association. Use it only if that name can't be inferred
618
- # from the association name. So <tt>has_many :products</tt> will by default be linked to the +Product+ class, but
619
- # if the real class name is +SpecialProduct+, you'll have to specify it with this option.
620
- # * <tt>:conditions</tt> - specify the conditions that the associated objects must meet in order to be included as a +WHERE+
621
- # SQL fragment, such as <tt>price > 5 AND name LIKE 'B%'</tt>.
622
- # * <tt>:order</tt> - specify the order in which the associated objects are returned as an <tt>ORDER BY</tt> SQL fragment,
623
- # such as <tt>last_name, first_name DESC</tt>
624
- # * <tt>:foreign_key</tt> - specify the foreign key used for the association. By default this is guessed to be the name
625
- # of this class in lower-case and +_id+ suffixed. So a +Person+ class that makes a +has_many+ association will use +person_id+
626
- # as the default +foreign_key+.
627
- # * <tt>:dependent</tt> - if set to <tt>:destroy</tt> all the associated objects are destroyed
628
- # alongside this object by calling their destroy method. If set to <tt>:delete_all</tt> all associated
629
- # objects are deleted *without* calling their destroy method. If set to <tt>:nullify</tt> all associated
630
- # objects' foreign keys are set to +NULL+ *without* calling their save callbacks.
631
- # * <tt>:finder_sql</tt> - specify a complete SQL statement to fetch the association. This is a good way to go for complex
632
- # associations that depend on multiple tables. Note: When this option is used, +find_in_collection+ is _not_ added.
633
- # * <tt>:counter_sql</tt> - specify a complete SQL statement to fetch the size of the association. If <tt>:finder_sql</tt> is
634
- # specified but not <tt>:counter_sql</tt>, <tt>:counter_sql</tt> will be generated by replacing <tt>SELECT ... FROM</tt> with <tt>SELECT COUNT(*) FROM</tt>.
635
- # * <tt>:extend</tt> - specify a named module for extending the proxy. See "Association extensions".
636
- # * <tt>:include</tt> - specify second-order associations that should be eager loaded when the collection is loaded.
637
- # * <tt>:group</tt>: An attribute name by which the result should be grouped. Uses the <tt>GROUP BY</tt> SQL-clause.
638
- # * <tt>:limit</tt>: An integer determining the limit on the number of rows that should be returned.
639
- # * <tt>:offset</tt>: An integer determining the offset from where the rows should be fetched. So at 5, it would skip the first 4 rows.
640
- # * <tt>:select</tt>: By default, this is <tt>*</tt> as in <tt>SELECT * FROM</tt>, but can be changed if you, for example, want to do a join
641
- # but not include the joined columns.
642
- # * <tt>:as</tt>: Specifies a polymorphic interface (See <tt>#belongs_to</tt>).
643
- # * <tt>:through</tt>: Specifies a Join Model through which to perform the query. Options for <tt>:class_name</tt> and <tt>:foreign_key</tt>
644
- # are ignored, as the association uses the source reflection. You can only use a <tt>:through</tt> query through a <tt>belongs_to</tt>
645
- # or <tt>has_many</tt> association on the join model.
646
- # * <tt>:source</tt>: Specifies the source association name used by <tt>has_many :through</tt> queries. Only use it if the name cannot be
647
- # inferred from the association. <tt>has_many :subscribers, :through => :subscriptions</tt> will look for either <tt>:subscribers</tt> or
648
- # <tt>:subscriber</tt> on +Subscription+, unless a <tt>:source</tt> is given.
649
- # * <tt>:source_type</tt>: Specifies type of the source association used by <tt>has_many :through</tt> queries where the source
650
- # association is a polymorphic +belongs_to+.
651
- # * <tt>:uniq</tt> - if set to +true+, duplicates will be omitted from the collection. Useful in conjunction with <tt>:through</tt>.
652
- #
653
- # Option examples:
654
- # has_many :comments, :order => "posted_on"
655
- # has_many :comments, :include => :author
656
- # has_many :people, :class_name => "Person", :conditions => "deleted = 0", :order => "name"
657
- # has_many :tracks, :order => "position", :dependent => :destroy
658
- # has_many :comments, :dependent => :nullify
659
- # has_many :tags, :as => :taggable
660
- # has_many :subscribers, :through => :subscriptions, :source => :user
661
- # has_many :subscribers, :class_name => "Person", :finder_sql =>
662
- # 'SELECT DISTINCT people.* ' +
663
- # 'FROM people p, post_subscriptions ps ' +
664
- # 'WHERE ps.post_id = #{id} AND ps.person_id = p.id ' +
665
- # 'ORDER BY p.first_name'
666
- def has_many(association_id, options = {}, &extension)
667
- reflection = create_has_many_reflection(association_id, options, &extension)
668
-
669
- configure_dependency_for_has_many(reflection)
670
-
671
- if options[:through]
672
- collection_reader_method(reflection, HasManyThroughAssociation)
673
- collection_accessor_methods(reflection, HasManyThroughAssociation, false)
674
- else
675
- add_multiple_associated_save_callbacks(reflection.name)
676
- add_association_callbacks(reflection.name, reflection.options)
677
- collection_accessor_methods(reflection, HasManyAssociation)
678
- end
679
- end
680
-
681
- # Adds the following methods for retrieval and query of a single associated object:
682
- # +association+ is replaced with the symbol passed as the first argument, so
683
- # <tt>has_one :manager</tt> would add among others <tt>manager.nil?</tt>.
684
- # * <tt>association(force_reload = false)</tt> - returns the associated object. +nil+ is returned if none is found.
685
- # * <tt>association=(associate)</tt> - assigns the associate object, extracts the primary key, sets it as the foreign key,
686
- # and saves the associate object.
687
- # * <tt>association.nil?</tt> - returns +true+ if there is no associated object.
688
- # * <tt>build_association(attributes = {})</tt> - returns a new object of the associated type that has been instantiated
689
- # with +attributes+ and linked to this object through a foreign key, but has not yet been saved. Note: This ONLY works if
690
- # an association already exists. It will NOT work if the association is +nil+.
691
- # * <tt>create_association(attributes = {})</tt> - returns a new object of the associated type that has been instantiated
692
- # with +attributes+, linked to this object through a foreign key, and that has already been saved (if it passed the validation).
693
- #
694
- # Example: An Account class declares <tt>has_one :beneficiary</tt>, which will add:
695
- # * <tt>Account#beneficiary</tt> (similar to <tt>Beneficiary.find(:first, :conditions => "account_id = #{id}")</tt>)
696
- # * <tt>Account#beneficiary=(beneficiary)</tt> (similar to <tt>beneficiary.account_id = account.id; beneficiary.save</tt>)
697
- # * <tt>Account#beneficiary.nil?</tt>
698
- # * <tt>Account#build_beneficiary</tt> (similar to <tt>Beneficiary.new("account_id" => id)</tt>)
699
- # * <tt>Account#create_beneficiary</tt> (similar to <tt>b = Beneficiary.new("account_id" => id); b.save; b</tt>)
700
- #
701
- # The declaration can also include an options hash to specialize the behavior of the association.
702
- #
703
- # Options are:
704
- # * <tt>:class_name</tt> - specify the class name of the association. Use it only if that name can't be inferred
705
- # from the association name. So <tt>has_one :manager</tt> will by default be linked to the +Manager+ class, but
706
- # if the real class name is +Person+, you'll have to specify it with this option.
707
- # * <tt>:conditions</tt> - specify the conditions that the associated object must meet in order to be included as a +WHERE+
708
- # SQL fragment, such as <tt>rank = 5</tt>.
709
- # * <tt>:order</tt> - specify the order in which the associated objects are returned as an <tt>ORDER BY</tt> SQL fragment,
710
- # such as <tt>last_name, first_name DESC</tt>
711
- # * <tt>:dependent</tt> - if set to <tt>:destroy</tt>, the associated object is destroyed when this object is. If set to
712
- # <tt>:delete</tt>, the associated object is deleted *without* calling its destroy method. If set to <tt>:nullify</tt>, the associated
713
- # object's foreign key is set to +NULL+. Also, association is assigned.
714
- # * <tt>:foreign_key</tt> - specify the foreign key used for the association. By default this is guessed to be the name
715
- # of this class in lower-case and +_id+ suffixed. So a +Person+ class that makes a +has_one+ association will use +person_id+
716
- # as the default +foreign_key+.
717
- # * <tt>:include</tt> - specify second-order associations that should be eager loaded when this object is loaded.
718
- # * <tt>:as</tt>: Specifies a polymorphic interface (See <tt>#belongs_to</tt>).
719
- #
720
- # Option examples:
721
- # has_one :credit_card, :dependent => :destroy # destroys the associated credit card
722
- # has_one :credit_card, :dependent => :nullify # updates the associated records foreign key value to NULL rather than destroying it
723
- # has_one :last_comment, :class_name => "Comment", :order => "posted_on"
724
- # has_one :project_manager, :class_name => "Person", :conditions => "role = 'project_manager'"
725
- # has_one :attachment, :as => :attachable
726
- def has_one(association_id, options = {})
727
- reflection = create_has_one_reflection(association_id, options)
728
-
729
- module_eval do
730
- after_save <<-EOF
731
- association = instance_variable_get("@#{reflection.name}")
732
- if !association.nil? && (new_record? || association.new_record? || association["#{reflection.primary_key_name}"] != id)
733
- association["#{reflection.primary_key_name}"] = id
734
- association.save(true)
735
- end
736
- EOF
737
- end
738
-
739
- association_accessor_methods(reflection, HasOneAssociation)
740
- association_constructor_method(:build, reflection, HasOneAssociation)
741
- association_constructor_method(:create, reflection, HasOneAssociation)
742
-
743
- configure_dependency_for_has_one(reflection)
744
- end
745
-
746
- # Adds the following methods for retrieval and query for a single associated object for which this object holds an id:
747
- # +association+ is replaced with the symbol passed as the first argument, so
748
- # <tt>belongs_to :author</tt> would add among others <tt>author.nil?</tt>.
749
- # * <tt>association(force_reload = false)</tt> - returns the associated object. +nil+ is returned if none is found.
750
- # * <tt>association=(associate)</tt> - assigns the associate object, extracts the primary key, and sets it as the foreign key.
751
- # * <tt>association.nil?</tt> - returns +true+ if there is no associated object.
752
- # * <tt>build_association(attributes = {})</tt> - returns a new object of the associated type that has been instantiated
753
- # with +attributes+ and linked to this object through a foreign key, but has not yet been saved.
754
- # * <tt>create_association(attributes = {})</tt> - returns a new object of the associated type that has been instantiated
755
- # with +attributes+, linked to this object through a foreign key, and that has already been saved (if it passed the validation).
756
- #
757
- # Example: A Post class declares <tt>belongs_to :author</tt>, which will add:
758
- # * <tt>Post#author</tt> (similar to <tt>Author.find(author_id)</tt>)
759
- # * <tt>Post#author=(author)</tt> (similar to <tt>post.author_id = author.id</tt>)
760
- # * <tt>Post#author?</tt> (similar to <tt>post.author == some_author</tt>)
761
- # * <tt>Post#author.nil?</tt>
762
- # * <tt>Post#build_author</tt> (similar to <tt>post.author = Author.new</tt>)
763
- # * <tt>Post#create_author</tt> (similar to <tt>post.author = Author.new; post.author.save; post.author</tt>)
764
- # The declaration can also include an options hash to specialize the behavior of the association.
765
- #
766
- # Options are:
767
- # * <tt>:class_name</tt> - specify the class name of the association. Use it only if that name can't be inferred
768
- # from the association name. So <tt>has_one :author</tt> will by default be linked to the +Author+ class, but
769
- # if the real class name is +Person+, you'll have to specify it with this option.
770
- # * <tt>:conditions</tt> - specify the conditions that the associated object must meet in order to be included as a +WHERE+
771
- # SQL fragment, such as <tt>authorized = 1</tt>.
772
- # * <tt>:order</tt> - specify the order in which the associated objects are returned as an <tt>ORDER BY</tt> SQL fragment,
773
- # such as <tt>last_name, first_name DESC</tt>
774
- # * <tt>:foreign_key</tt> - specify the foreign key used for the association. By default this is guessed to be the name
775
- # of the associated class in lower-case and +_id+ suffixed. So a +Person+ class that makes a +belongs_to+ association to a
776
- # +Boss+ class will use +boss_id+ as the default +foreign_key+.
777
- # * <tt>:counter_cache</tt> - caches the number of belonging objects on the associate class through the use of +increment_counter+
778
- # and +decrement_counter+. The counter cache is incremented when an object of this class is created and decremented when it's
779
- # destroyed. This requires that a column named <tt>#{table_name}_count</tt> (such as +comments_count+ for a belonging +Comment+ class)
780
- # is used on the associate class (such as a +Post+ class). You can also specify a custom counter cache column by providing
781
- # a column name instead of a +true+/+false+ value to this option (e.g., <tt>:counter_cache => :my_custom_counter</tt>.)
782
- # Note: Specifying a counter_cache will add it to that model's list of readonly attributes using #attr_readonly.
783
- # * <tt>:include</tt> - specify second-order associations that should be eager loaded when this object is loaded.
784
- # * <tt>:polymorphic</tt> - specify this association is a polymorphic association by passing +true+.
785
- # Note: If you've enabled the counter cache, then you may want to add the counter cache attribute
786
- # to the attr_readonly list in the associated classes (e.g. class Post; attr_readonly :comments_count; end).
787
- #
788
- # Option examples:
789
- # belongs_to :firm, :foreign_key => "client_of"
790
- # belongs_to :author, :class_name => "Person", :foreign_key => "author_id"
791
- # belongs_to :valid_coupon, :class_name => "Coupon", :foreign_key => "coupon_id",
792
- # :conditions => 'discounts > #{payments_count}'
793
- # belongs_to :attachable, :polymorphic => true
794
- def belongs_to(association_id, options = {})
795
- reflection = create_belongs_to_reflection(association_id, options)
796
-
797
- if reflection.options[:polymorphic]
798
- association_accessor_methods(reflection, BelongsToPolymorphicAssociation)
799
-
800
- module_eval do
801
- before_save <<-EOF
802
- association = instance_variable_get("@#{reflection.name}")
803
- if association && association.target
804
- if association.new_record?
805
- association.save(true)
806
- end
807
-
808
- if association.updated?
809
- self["#{reflection.primary_key_name}"] = association.id
810
- self["#{reflection.options[:foreign_type]}"] = association.class.base_class.name.to_s
811
- end
812
- end
813
- EOF
814
- end
815
- else
816
- association_accessor_methods(reflection, BelongsToAssociation)
817
- association_constructor_method(:build, reflection, BelongsToAssociation)
818
- association_constructor_method(:create, reflection, BelongsToAssociation)
819
-
820
- module_eval do
821
- before_save <<-EOF
822
- association = instance_variable_get("@#{reflection.name}")
823
- if !association.nil?
824
- if association.new_record?
825
- association.save(true)
826
- end
827
-
828
- if association.updated?
829
- self["#{reflection.primary_key_name}"] = association.id
830
- end
831
- end
832
- EOF
833
- end
834
- end
835
-
836
- # Create the callbacks to update counter cache
837
- if options[:counter_cache]
838
- cache_column = options[:counter_cache] == true ?
839
- "#{self.to_s.underscore.pluralize}_count" :
840
- options[:counter_cache]
841
-
842
- module_eval(
843
- "after_create '#{reflection.name}.class.increment_counter(\"#{cache_column}\", #{reflection.primary_key_name})" +
844
- " unless #{reflection.name}.nil?'"
845
- )
846
-
847
- module_eval(
848
- "before_destroy '#{reflection.name}.class.decrement_counter(\"#{cache_column}\", #{reflection.primary_key_name})" +
849
- " unless #{reflection.name}.nil?'"
850
- )
851
-
852
- module_eval(
853
- "#{reflection.class_name}.send(:attr_readonly,\"#{cache_column}\".intern) if defined?(#{reflection.class_name}) && #{reflection.class_name}.respond_to?(:attr_readonly)"
854
- )
855
- end
856
- end
857
-
858
- # Associates two classes via an intermediate join table. Unless the join table is explicitly specified as
859
- # an option, it is guessed using the lexical order of the class names. So a join between +Developer+ and +Project+
860
- # will give the default join table name of +developers_projects+ because "D" outranks "P". Note that this precedence
861
- # is calculated using the <tt><</tt> operator for <tt>String</tt>. This means that if the strings are of different lengths,
862
- # and the strings are equal when compared up to the shortest length, then the longer string is considered of higher
863
- # lexical precedence than the shorter one. For example, one would expect the tables <tt>paper_boxes</tt> and <tt>papers</tt>
864
- # to generate a join table name of <tt>papers_paper_boxes</tt> because of the length of the name <tt>paper_boxes</tt>,
865
- # but it in fact generates a join table name of <tt>paper_boxes_papers</tt>. Be aware of this caveat, and use the
866
- # custom <tt>join_table</tt> option if you need to.
867
- #
868
- # Deprecated: Any additional fields added to the join table will be placed as attributes when pulling records out through
869
- # +has_and_belongs_to_many+ associations. Records returned from join tables with additional attributes will be marked as
870
- # +ReadOnly+ (because we can't save changes to the additional attributes). It's strongly recommended that you upgrade any
871
- # associations with attributes to a real join model (see introduction).
872
- #
873
- # Adds the following methods for retrieval and query:
874
- # +collection+ is replaced with the symbol passed as the first argument, so
875
- # <tt>has_and_belongs_to_many :categories</tt> would add among others <tt>categories.empty?</tt>.
876
- # * <tt>collection(force_reload = false)</tt> - returns an array of all the associated objects.
877
- # An empty array is returned if none are found.
878
- # * <tt>collection<<(object, ...)</tt> - adds one or more objects to the collection by creating associations in the join table
879
- # (<tt>collection.push</tt> and <tt>collection.concat</tt> are aliases to this method).
880
- # * <tt>collection.delete(object, ...)</tt> - removes one or more objects from the collection by removing their associations from the join table.
881
- # This does not destroy the objects.
882
- # * <tt>collection=objects</tt> - replaces the collection's content by deleting and adding objects as appropriate.
883
- # * <tt>collection_singular_ids</tt> - returns an array of the associated objects' ids
884
- # * <tt>collection_singular_ids=ids</tt> - replace the collection by the objects identified by the primary keys in +ids+
885
- # * <tt>collection.clear</tt> - removes every object from the collection. This does not destroy the objects.
886
- # * <tt>collection.empty?</tt> - returns +true+ if there are no associated objects.
887
- # * <tt>collection.size</tt> - returns the number of associated objects.
888
- # * <tt>collection.find(id)</tt> - finds an associated object responding to the +id+ and that
889
- # meets the condition that it has to be associated with this object.
890
- # * <tt>collection.build(attributes = {})</tt> - returns a new object of the collection type that has been instantiated
891
- # with +attributes+ and linked to this object through the join table, but has not yet been saved.
892
- # * <tt>collection.create(attributes = {})</tt> - returns a new object of the collection type that has been instantiated
893
- # with +attributes+, linked to this object through the join table, and that has already been saved (if it passed the validation).
894
- #
895
- # Example: A Developer class declares <tt>has_and_belongs_to_many :projects</tt>, which will add:
896
- # * <tt>Developer#projects</tt>
897
- # * <tt>Developer#projects<<</tt>
898
- # * <tt>Developer#projects.delete</tt>
899
- # * <tt>Developer#projects=</tt>
900
- # * <tt>Developer#project_ids</tt>
901
- # * <tt>Developer#project_ids=</tt>
902
- # * <tt>Developer#projects.clear</tt>
903
- # * <tt>Developer#projects.empty?</tt>
904
- # * <tt>Developer#projects.size</tt>
905
- # * <tt>Developer#projects.find(id)</tt>
906
- # * <tt>Developer#projects.build</tt> (similar to <tt>Project.new("project_id" => id)</tt>)
907
- # * <tt>Developer#projects.create</tt> (similar to <tt>c = Project.new("project_id" => id); c.save; c</tt>)
908
- # The declaration may include an options hash to specialize the behavior of the association.
909
- #
910
- # Options are:
911
- # * <tt>:class_name</tt> - specify the class name of the association. Use it only if that name can't be inferred
912
- # from the association name. So <tt>has_and_belongs_to_many :projects</tt> will by default be linked to the
913
- # +Project+ class, but if the real class name is +SuperProject+, you'll have to specify it with this option.
914
- # * <tt>:join_table</tt> - specify the name of the join table if the default based on lexical order isn't what you want.
915
- # WARNING: If you're overwriting the table name of either class, the +table_name+ method MUST be declared underneath any
916
- # +has_and_belongs_to_many+ declaration in order to work.
917
- # * <tt>:foreign_key</tt> - specify the foreign key used for the association. By default this is guessed to be the name
918
- # of this class in lower-case and +_id+ suffixed. So a +Person+ class that makes a +has_and_belongs_to_many+ association
919
- # will use +person_id+ as the default +foreign_key+.
920
- # * <tt>:association_foreign_key</tt> - specify the association foreign key used for the association. By default this is
921
- # guessed to be the name of the associated class in lower-case and +_id+ suffixed. So if the associated class is +Project+,
922
- # the +has_and_belongs_to_many+ association will use +project_id+ as the default association +foreign_key+.
923
- # * <tt>:conditions</tt> - specify the conditions that the associated object must meet in order to be included as a +WHERE+
924
- # SQL fragment, such as <tt>authorized = 1</tt>.
925
- # * <tt>:order</tt> - specify the order in which the associated objects are returned as an <tt>ORDER BY</tt> SQL fragment,
926
- # such as <tt>last_name, first_name DESC</tt>
927
- # * <tt>:uniq</tt> - if set to +true+, duplicate associated objects will be ignored by accessors and query methods
928
- # * <tt>:finder_sql</tt> - overwrite the default generated SQL statement used to fetch the association with a manual statement
929
- # * <tt>:delete_sql</tt> - overwrite the default generated SQL statement used to remove links between the associated
930
- # classes with a manual statement
931
- # * <tt>:insert_sql</tt> - overwrite the default generated SQL statement used to add links between the associated classes
932
- # with a manual statement
933
- # * <tt>:extend</tt> - anonymous module for extending the proxy, see "Association extensions".
934
- # * <tt>:include</tt> - specify second-order associations that should be eager loaded when the collection is loaded.
935
- # * <tt>:group</tt>: An attribute name by which the result should be grouped. Uses the <tt>GROUP BY</tt> SQL-clause.
936
- # * <tt>:limit</tt>: An integer determining the limit on the number of rows that should be returned.
937
- # * <tt>:offset</tt>: An integer determining the offset from where the rows should be fetched. So at 5, it would skip the first 4 rows.
938
- # * <tt>:select</tt>: By default, this is <tt>*</tt> as in <tt>SELECT * FROM</tt>, but can be changed if, for example, you want to do a join
939
- # but not include the joined columns.
940
- #
941
- # Option examples:
942
- # has_and_belongs_to_many :projects
943
- # has_and_belongs_to_many :projects, :include => [ :milestones, :manager ]
944
- # has_and_belongs_to_many :nations, :class_name => "Country"
945
- # has_and_belongs_to_many :categories, :join_table => "prods_cats"
946
- # has_and_belongs_to_many :active_projects, :join_table => 'developers_projects', :delete_sql =>
947
- # 'DELETE FROM developers_projects WHERE active=1 AND developer_id = #{id} AND project_id = #{record.id}'
948
- def has_and_belongs_to_many(association_id, options = {}, &extension)
949
- reflection = create_has_and_belongs_to_many_reflection(association_id, options, &extension)
950
-
951
- add_multiple_associated_save_callbacks(reflection.name)
952
- collection_accessor_methods(reflection, HasAndBelongsToManyAssociation)
953
-
954
- # Don't use a before_destroy callback since users' before_destroy
955
- # callbacks will be executed after the association is wiped out.
956
- old_method = "destroy_without_habtm_shim_for_#{reflection.name}"
957
- class_eval <<-end_eval unless method_defined?(old_method)
958
- alias_method :#{old_method}, :destroy_without_callbacks
959
- def destroy_without_callbacks
960
- #{reflection.name}.clear
961
- #{old_method}
962
- end
963
- end_eval
964
-
965
- add_association_callbacks(reflection.name, options)
966
- end
967
-
968
- private
969
- # Generate a join table name from two provided tables names.
970
- # The order of names in join name is determined by lexical precedence.
971
- # join_table_name("members", "clubs")
972
- # => "clubs_members"
973
- # join_table_name("members", "special_clubs")
974
- # => "members_special_clubs"
975
- def join_table_name(first_table_name, second_table_name)
976
- if first_table_name < second_table_name
977
- join_table = "#{first_table_name}_#{second_table_name}"
978
- else
979
- join_table = "#{second_table_name}_#{first_table_name}"
980
- end
981
-
982
- table_name_prefix + join_table + table_name_suffix
983
- end
984
-
985
- def association_accessor_methods(reflection, association_proxy_class)
986
- define_method(reflection.name) do |*params|
987
- force_reload = params.first unless params.empty?
988
- association = instance_variable_get("@#{reflection.name}")
989
-
990
- if association.nil? || force_reload
991
- association = association_proxy_class.new(self, reflection)
992
- retval = association.reload
993
- if retval.nil? and association_proxy_class == BelongsToAssociation
994
- instance_variable_set("@#{reflection.name}", nil)
995
- return nil
996
- end
997
- instance_variable_set("@#{reflection.name}", association)
998
- end
999
-
1000
- association.target.nil? ? nil : association
1001
- end
1002
-
1003
- define_method("#{reflection.name}=") do |new_value|
1004
- association = instance_variable_get("@#{reflection.name}")
1005
- if association.nil? || association.target != new_value
1006
- association = association_proxy_class.new(self, reflection)
1007
- end
1008
-
1009
- association.replace(new_value)
1010
-
1011
- unless new_value.nil?
1012
- instance_variable_set("@#{reflection.name}", association)
1013
- else
1014
- instance_variable_set("@#{reflection.name}", nil)
1015
- end
1016
- end
1017
-
1018
- define_method("set_#{reflection.name}_target") do |target|
1019
- return if target.nil? and association_proxy_class == BelongsToAssociation
1020
- association = association_proxy_class.new(self, reflection)
1021
- association.target = target
1022
- instance_variable_set("@#{reflection.name}", association)
1023
- end
1024
- end
1025
-
1026
- def collection_reader_method(reflection, association_proxy_class)
1027
- define_method(reflection.name) do |*params|
1028
- force_reload = params.first unless params.empty?
1029
- association = instance_variable_get("@#{reflection.name}")
1030
-
1031
- unless association.respond_to?(:loaded?)
1032
- association = association_proxy_class.new(self, reflection)
1033
- instance_variable_set("@#{reflection.name}", association)
1034
- end
1035
-
1036
- association.reload if force_reload
1037
-
1038
- association
1039
- end
1040
- end
1041
-
1042
- def collection_accessor_methods(reflection, association_proxy_class, writer = true)
1043
- collection_reader_method(reflection, association_proxy_class)
1044
-
1045
- define_method("#{reflection.name}=") do |new_value|
1046
- # Loads proxy class instance (defined in collection_reader_method) if not already loaded
1047
- association = send(reflection.name)
1048
- association.replace(new_value)
1049
- association
1050
- end
1051
-
1052
- define_method("#{reflection.name.to_s.singularize}_ids") do
1053
- send(reflection.name).map(&:id)
1054
- end
1055
-
1056
- define_method("#{reflection.name.to_s.singularize}_ids=") do |new_value|
1057
- ids = (new_value || []).reject { |nid| nid.blank? }
1058
- send("#{reflection.name}=", reflection.class_name.constantize.find(ids))
1059
- end if writer
1060
- end
1061
-
1062
- def add_multiple_associated_save_callbacks(association_name)
1063
- method_name = "validate_associated_records_for_#{association_name}".to_sym
1064
- define_method(method_name) do
1065
- association = instance_variable_get("@#{association_name}")
1066
- if association.respond_to?(:loaded?)
1067
- if new_record?
1068
- association
1069
- else
1070
- association.select { |record| record.new_record? }
1071
- end.each do |record|
1072
- errors.add "#{association_name}" unless record.valid?
1073
- end
1074
- end
1075
- end
1076
-
1077
- validate method_name
1078
- before_save("@new_record_before_save = new_record?; true")
1079
-
1080
- after_callback = <<-end_eval
1081
- association = instance_variable_get("@#{association_name}")
1082
-
1083
- records_to_save = if @new_record_before_save
1084
- association
1085
- elsif association.respond_to?(:loaded?) && association.loaded?
1086
- association.select { |record| record.new_record? }
1087
- else
1088
- []
1089
- end
1090
-
1091
- records_to_save.each { |record| association.send(:insert_record, record) } unless records_to_save.blank?
1092
-
1093
- # reconstruct the SQL queries now that we know the owner's id
1094
- association.send(:construct_sql) if association.respond_to?(:construct_sql)
1095
- end_eval
1096
-
1097
- # Doesn't use after_save as that would save associations added in after_create/after_update twice
1098
- after_create(after_callback)
1099
- after_update(after_callback)
1100
- end
1101
-
1102
- def association_constructor_method(constructor, reflection, association_proxy_class)
1103
- define_method("#{constructor}_#{reflection.name}") do |*params|
1104
- attributees = params.first unless params.empty?
1105
- replace_existing = params[1].nil? ? true : params[1]
1106
- association = instance_variable_get("@#{reflection.name}")
1107
-
1108
- if association.nil?
1109
- association = association_proxy_class.new(self, reflection)
1110
- instance_variable_set("@#{reflection.name}", association)
1111
- end
1112
-
1113
- if association_proxy_class == HasOneAssociation
1114
- association.send(constructor, attributees, replace_existing)
1115
- else
1116
- association.send(constructor, attributees)
1117
- end
1118
- end
1119
- end
1120
-
1121
- def find_with_associations(options = {})
1122
- catch :invalid_query do
1123
- join_dependency = JoinDependency.new(self, merge_includes(scope(:find, :include), options[:include]), options[:joins])
1124
- rows = select_all_rows(options, join_dependency)
1125
- return join_dependency.instantiate(rows)
1126
- end
1127
- []
1128
- end
1129
-
1130
- # See HasManyAssociation#delete_records. Dependent associations
1131
- # delete children, otherwise foreign key is set to NULL.
1132
- def configure_dependency_for_has_many(reflection)
1133
- if reflection.options.include?(:dependent)
1134
- # Add polymorphic type if the :as option is present
1135
- dependent_conditions = []
1136
- dependent_conditions << "#{reflection.primary_key_name} = \#{record.quoted_id}"
1137
- dependent_conditions << "#{reflection.options[:as]}_type = '#{base_class.name}'" if reflection.options[:as]
1138
- dependent_conditions << sanitize_sql(reflection.options[:conditions]) if reflection.options[:conditions]
1139
- dependent_conditions = dependent_conditions.collect {|where| "(#{where})" }.join(" AND ")
1140
-
1141
- case reflection.options[:dependent]
1142
- when :destroy
1143
- module_eval "before_destroy '#{reflection.name}.each { |o| o.destroy }'"
1144
- when :delete_all
1145
- module_eval "before_destroy { |record| #{reflection.class_name}.delete_all(%(#{dependent_conditions})) }"
1146
- when :nullify
1147
- module_eval "before_destroy { |record| #{reflection.class_name}.update_all(%(#{reflection.primary_key_name} = NULL), %(#{dependent_conditions})) }"
1148
- else
1149
- raise ArgumentError, "The :dependent option expects either :destroy, :delete_all, or :nullify (#{reflection.options[:dependent].inspect})"
1150
- end
1151
- end
1152
- end
1153
-
1154
- def configure_dependency_for_has_one(reflection)
1155
- if reflection.options.include?(:dependent)
1156
- case reflection.options[:dependent]
1157
- when :destroy
1158
- module_eval "before_destroy '#{reflection.name}.destroy unless #{reflection.name}.nil?'"
1159
- when :delete
1160
- module_eval "before_destroy '#{reflection.class_name}.delete(#{reflection.name}.id) unless #{reflection.name}.nil?'"
1161
- when :nullify
1162
- module_eval "before_destroy '#{reflection.name}.update_attribute(\"#{reflection.primary_key_name}\", nil) unless #{reflection.name}.nil?'"
1163
- else
1164
- raise ArgumentError, "The :dependent option expects either :destroy, :delete or :nullify (#{reflection.options[:dependent].inspect})"
1165
- end
1166
- end
1167
- end
1168
-
1169
- def create_has_many_reflection(association_id, options, &extension)
1170
- options.assert_valid_keys(
1171
- :class_name, :table_name, :foreign_key,
1172
- :dependent,
1173
- :select, :conditions, :include, :order, :group, :limit, :offset,
1174
- :as, :through, :source, :source_type,
1175
- :uniq,
1176
- :finder_sql, :counter_sql,
1177
- :before_add, :after_add, :before_remove, :after_remove,
1178
- :extend
1179
- )
1180
-
1181
- options[:extend] = create_extension_modules(association_id, extension, options[:extend]) if block_given?
1182
-
1183
- create_reflection(:has_many, association_id, options, self)
1184
- end
1185
-
1186
- def create_has_one_reflection(association_id, options)
1187
- options.assert_valid_keys(
1188
- :class_name, :foreign_key, :remote, :conditions, :order, :include, :dependent, :counter_cache, :extend, :as
1189
- )
1190
-
1191
- create_reflection(:has_one, association_id, options, self)
1192
- end
1193
-
1194
- def create_belongs_to_reflection(association_id, options)
1195
- options.assert_valid_keys(
1196
- :class_name, :foreign_key, :foreign_type, :remote, :conditions, :order, :include, :dependent,
1197
- :counter_cache, :extend, :polymorphic
1198
- )
1199
-
1200
- reflection = create_reflection(:belongs_to, association_id, options, self)
1201
-
1202
- if options[:polymorphic]
1203
- reflection.options[:foreign_type] ||= reflection.class_name.underscore + "_type"
1204
- end
1205
-
1206
- reflection
1207
- end
1208
-
1209
- def create_has_and_belongs_to_many_reflection(association_id, options, &extension)
1210
- options.assert_valid_keys(
1211
- :class_name, :table_name, :join_table, :foreign_key, :association_foreign_key,
1212
- :select, :conditions, :include, :order, :group, :limit, :offset,
1213
- :uniq,
1214
- :finder_sql, :delete_sql, :insert_sql,
1215
- :before_add, :after_add, :before_remove, :after_remove,
1216
- :extend
1217
- )
1218
-
1219
- options[:extend] = create_extension_modules(association_id, extension, options[:extend]) if block_given?
1220
-
1221
- reflection = create_reflection(:has_and_belongs_to_many, association_id, options, self)
1222
-
1223
- reflection.options[:join_table] ||= join_table_name(undecorated_table_name(self.to_s), undecorated_table_name(reflection.class_name))
1224
-
1225
- reflection
1226
- end
1227
-
1228
- def reflect_on_included_associations(associations)
1229
- [ associations ].flatten.collect { |association| reflect_on_association(association.to_s.intern) }
1230
- end
1231
-
1232
- def guard_against_unlimitable_reflections(reflections, options)
1233
- if (options[:offset] || options[:limit]) && !using_limitable_reflections?(reflections)
1234
- raise(
1235
- ConfigurationError,
1236
- "You can not use offset and limit together with has_many or has_and_belongs_to_many associations"
1237
- )
1238
- end
1239
- end
1240
-
1241
- def select_all_rows(options, join_dependency)
1242
- connection.select_all(
1243
- construct_finder_sql_with_included_associations(options, join_dependency),
1244
- "#{name} Load Including Associations"
1245
- )
1246
- end
1247
-
1248
- def construct_finder_sql_with_included_associations(options, join_dependency)
1249
- scope = scope(:find)
1250
- sql = "SELECT #{column_aliases(join_dependency)} FROM #{(scope && scope[:from]) || options[:from] || quoted_table_name} "
1251
- sql << join_dependency.join_associations.collect{|join| join.association_join }.join
1252
-
1253
- add_joins!(sql, options, scope)
1254
- add_conditions!(sql, options[:conditions], scope)
1255
- add_limited_ids_condition!(sql, options, join_dependency) if !using_limitable_reflections?(join_dependency.reflections) && ((scope && scope[:limit]) || options[:limit])
1256
-
1257
- add_group!(sql, options[:group], scope)
1258
- add_order!(sql, options[:order], scope)
1259
- add_limit!(sql, options, scope) if using_limitable_reflections?(join_dependency.reflections)
1260
- add_lock!(sql, options, scope)
1261
-
1262
- return sanitize_sql(sql)
1263
- end
1264
-
1265
- def add_limited_ids_condition!(sql, options, join_dependency)
1266
- unless (id_list = select_limited_ids_list(options, join_dependency)).empty?
1267
- sql << "#{condition_word(sql)} #{connection.quote_table_name table_name}.#{primary_key} IN (#{id_list}) "
1268
- else
1269
- throw :invalid_query
1270
- end
1271
- end
1272
-
1273
- def select_limited_ids_list(options, join_dependency)
1274
- pk = columns_hash[primary_key]
1275
-
1276
- connection.select_all(
1277
- construct_finder_sql_for_association_limiting(options, join_dependency),
1278
- "#{name} Load IDs For Limited Eager Loading"
1279
- ).collect { |row| connection.quote(row[primary_key], pk) }.join(", ")
1280
- end
1281
-
1282
- def construct_finder_sql_for_association_limiting(options, join_dependency)
1283
- scope = scope(:find)
1284
- is_distinct = !options[:joins].blank? || include_eager_conditions?(options) || include_eager_order?(options)
1285
- sql = "SELECT "
1286
- if is_distinct
1287
- sql << connection.distinct("#{connection.quote_table_name table_name}.#{primary_key}", options[:order])
1288
- else
1289
- sql << primary_key
1290
- end
1291
- sql << " FROM #{connection.quote_table_name table_name} "
1292
-
1293
- if is_distinct
1294
- sql << join_dependency.join_associations.collect(&:association_join).join
1295
- add_joins!(sql, options, scope)
1296
- end
1297
-
1298
- add_conditions!(sql, options[:conditions], scope)
1299
- add_group!(sql, options[:group], scope)
1300
-
1301
- if options[:order] && is_distinct
1302
- connection.add_order_by_for_association_limiting!(sql, options)
1303
- else
1304
- add_order!(sql, options[:order], scope)
1305
- end
1306
-
1307
- add_limit!(sql, options, scope)
1308
-
1309
- return sanitize_sql(sql)
1310
- end
1311
-
1312
- # Checks if the conditions reference a table other than the current model table
1313
- def include_eager_conditions?(options)
1314
- # look in both sets of conditions
1315
- conditions = [scope(:find, :conditions), options[:conditions]].inject([]) do |all, cond|
1316
- case cond
1317
- when nil then all
1318
- when Array then all << cond.first
1319
- else all << cond
1320
- end
1321
- end
1322
- return false unless conditions.any?
1323
- conditions.join(' ').scan(/([\.\w]+)\.\w+/).flatten.any? do |condition_table_name|
1324
- condition_table_name != table_name
1325
- end
1326
- end
1327
-
1328
- # Checks if the query order references a table other than the current model's table.
1329
- def include_eager_order?(options)
1330
- order = options[:order]
1331
- return false unless order
1332
- order.scan(/([\.\w]+)\.\w+/).flatten.any? do |order_table_name|
1333
- order_table_name != table_name
1334
- end
1335
- end
1336
-
1337
- def using_limitable_reflections?(reflections)
1338
- reflections.reject { |r| [ :belongs_to, :has_one ].include?(r.macro) }.length.zero?
1339
- end
1340
-
1341
- def column_aliases(join_dependency)
1342
- join_dependency.joins.collect{|join| join.column_names_with_alias.collect{|column_name, aliased_name|
1343
- "#{connection.quote_table_name join.aliased_table_name}.#{connection.quote_column_name column_name} AS #{aliased_name}"}}.flatten.join(", ")
1344
- end
1345
-
1346
- def add_association_callbacks(association_name, options)
1347
- callbacks = %w(before_add after_add before_remove after_remove)
1348
- callbacks.each do |callback_name|
1349
- full_callback_name = "#{callback_name}_for_#{association_name}"
1350
- defined_callbacks = options[callback_name.to_sym]
1351
- if options.has_key?(callback_name.to_sym)
1352
- class_inheritable_reader full_callback_name.to_sym
1353
- write_inheritable_attribute(full_callback_name.to_sym, [defined_callbacks].flatten)
1354
- else
1355
- write_inheritable_attribute(full_callback_name.to_sym, [])
1356
- end
1357
- end
1358
- end
1359
-
1360
- def condition_word(sql)
1361
- sql =~ /where/i ? " AND " : "WHERE "
1362
- end
1363
-
1364
- def create_extension_modules(association_id, block_extension, extensions)
1365
- extension_module_name = "#{self.to_s}#{association_id.to_s.camelize}AssociationExtension"
1366
-
1367
- silence_warnings do
1368
- Object.const_set(extension_module_name, Module.new(&block_extension))
1369
- end
1370
-
1371
- Array(extensions).push(extension_module_name.constantize)
1372
- end
1373
-
1374
- class JoinDependency # :nodoc:
1375
- attr_reader :joins, :reflections, :table_aliases
1376
-
1377
- def initialize(base, associations, joins)
1378
- @joins = [JoinBase.new(base, joins)]
1379
- @associations = associations
1380
- @reflections = []
1381
- @base_records_hash = {}
1382
- @base_records_in_order = []
1383
- @table_aliases = Hash.new { |aliases, table| aliases[table] = 0 }
1384
- @table_aliases[base.table_name] = 1
1385
- build(associations)
1386
- end
1387
-
1388
- def join_associations
1389
- @joins[1..-1].to_a
1390
- end
1391
-
1392
- def join_base
1393
- @joins[0]
1394
- end
1395
-
1396
- def instantiate(rows)
1397
- rows.each_with_index do |row, i|
1398
- primary_id = join_base.record_id(row)
1399
- unless @base_records_hash[primary_id]
1400
- @base_records_in_order << (@base_records_hash[primary_id] = join_base.instantiate(row))
1401
- end
1402
- construct(@base_records_hash[primary_id], @associations, join_associations.dup, row)
1403
- end
1404
- remove_duplicate_results!(join_base.active_record, @base_records_in_order, @associations)
1405
- return @base_records_in_order
1406
- end
1407
-
1408
- def remove_duplicate_results!(base, records, associations)
1409
- case associations
1410
- when Symbol, String
1411
- reflection = base.reflections[associations]
1412
- if reflection && [:has_many, :has_and_belongs_to_many].include?(reflection.macro)
1413
- records.each { |record| record.send(reflection.name).target.uniq! }
1414
- end
1415
- when Array
1416
- associations.each do |association|
1417
- remove_duplicate_results!(base, records, association)
1418
- end
1419
- when Hash
1420
- associations.keys.each do |name|
1421
- reflection = base.reflections[name]
1422
- is_collection = [:has_many, :has_and_belongs_to_many].include?(reflection.macro)
1423
-
1424
- parent_records = records.map do |record|
1425
- next unless record.send(reflection.name)
1426
- is_collection ? record.send(reflection.name).target.uniq! : record.send(reflection.name)
1427
- end.flatten.compact
1428
-
1429
- remove_duplicate_results!(reflection.class_name.constantize, parent_records, associations[name]) unless parent_records.empty?
1430
- end
1431
- end
1432
- end
1433
-
1434
- protected
1435
- def build(associations, parent = nil)
1436
- parent ||= @joins.last
1437
- case associations
1438
- when Symbol, String
1439
- reflection = parent.reflections[associations.to_s.intern] or
1440
- raise ConfigurationError, "Association named '#{ associations }' was not found; perhaps you misspelled it?"
1441
- @reflections << reflection
1442
- @joins << build_join_association(reflection, parent)
1443
- when Array
1444
- associations.each do |association|
1445
- build(association, parent)
1446
- end
1447
- when Hash
1448
- associations.keys.sort{|a,b|a.to_s<=>b.to_s}.each do |name|
1449
- build(name, parent)
1450
- build(associations[name])
1451
- end
1452
- else
1453
- raise ConfigurationError, associations.inspect
1454
- end
1455
- end
1456
-
1457
- # overridden in InnerJoinDependency subclass
1458
- def build_join_association(reflection, parent)
1459
- JoinAssociation.new(reflection, self, parent)
1460
- end
1461
-
1462
- def construct(parent, associations, joins, row)
1463
- case associations
1464
- when Symbol, String
1465
- while (join = joins.shift).reflection.name.to_s != associations.to_s
1466
- raise ConfigurationError, "Not Enough Associations" if joins.empty?
1467
- end
1468
- construct_association(parent, join, row)
1469
- when Array
1470
- associations.each do |association|
1471
- construct(parent, association, joins, row)
1472
- end
1473
- when Hash
1474
- associations.keys.sort{|a,b|a.to_s<=>b.to_s}.each do |name|
1475
- association = construct_association(parent, joins.shift, row)
1476
- construct(association, associations[name], joins, row) if association
1477
- end
1478
- else
1479
- raise ConfigurationError, associations.inspect
1480
- end
1481
- end
1482
-
1483
- def construct_association(record, join, row)
1484
- case join.reflection.macro
1485
- when :has_many, :has_and_belongs_to_many
1486
- collection = record.send(join.reflection.name)
1487
- collection.loaded
1488
-
1489
- return nil if record.id.to_s != join.parent.record_id(row).to_s or row[join.aliased_primary_key].nil?
1490
- association = join.instantiate(row)
1491
- collection.target.push(association)
1492
- when :has_one
1493
- return if record.id.to_s != join.parent.record_id(row).to_s
1494
- association = join.instantiate(row) unless row[join.aliased_primary_key].nil?
1495
- record.send("set_#{join.reflection.name}_target", association)
1496
- when :belongs_to
1497
- return if record.id.to_s != join.parent.record_id(row).to_s or row[join.aliased_primary_key].nil?
1498
- association = join.instantiate(row)
1499
- record.send("set_#{join.reflection.name}_target", association)
1500
- else
1501
- raise ConfigurationError, "unknown macro: #{join.reflection.macro}"
1502
- end
1503
- return association
1504
- end
1505
-
1506
- class JoinBase # :nodoc:
1507
- attr_reader :active_record, :table_joins
1508
- delegate :table_name, :column_names, :primary_key, :reflections, :sanitize_sql, :to => :active_record
1509
-
1510
- def initialize(active_record, joins = nil)
1511
- @active_record = active_record
1512
- @cached_record = {}
1513
- @table_joins = joins
1514
- end
1515
-
1516
- def aliased_prefix
1517
- "t0"
1518
- end
1519
-
1520
- def aliased_primary_key
1521
- "#{ aliased_prefix }_r0"
1522
- end
1523
-
1524
- def aliased_table_name
1525
- active_record.table_name
1526
- end
1527
-
1528
- def column_names_with_alias
1529
- unless @column_names_with_alias
1530
- @column_names_with_alias = []
1531
- ([primary_key] + (column_names - [primary_key])).each_with_index do |column_name, i|
1532
- @column_names_with_alias << [column_name, "#{ aliased_prefix }_r#{ i }"]
1533
- end
1534
- end
1535
- return @column_names_with_alias
1536
- end
1537
-
1538
- def extract_record(row)
1539
- column_names_with_alias.inject({}){|record, (cn, an)| record[cn] = row[an]; record}
1540
- end
1541
-
1542
- def record_id(row)
1543
- row[aliased_primary_key]
1544
- end
1545
-
1546
- def instantiate(row)
1547
- @cached_record[record_id(row)] ||= active_record.send(:instantiate, extract_record(row))
1548
- end
1549
- end
1550
-
1551
- class JoinAssociation < JoinBase # :nodoc:
1552
- attr_reader :reflection, :parent, :aliased_table_name, :aliased_prefix, :aliased_join_table_name, :parent_table_name
1553
- delegate :options, :klass, :through_reflection, :source_reflection, :to => :reflection
1554
-
1555
- def initialize(reflection, join_dependency, parent = nil)
1556
- reflection.check_validity!
1557
- if reflection.options[:polymorphic]
1558
- raise EagerLoadPolymorphicError.new(reflection)
1559
- end
1560
-
1561
- super(reflection.klass)
1562
- @parent = parent
1563
- @reflection = reflection
1564
- @aliased_prefix = "t#{ join_dependency.joins.size }"
1565
- @aliased_table_name = table_name #.tr('.', '_') # start with the table name, sub out any .'s
1566
- @parent_table_name = parent.active_record.table_name
1567
-
1568
- if !parent.table_joins.blank? && parent.table_joins.to_s.downcase =~ %r{join(\s+\w+)?\s+#{aliased_table_name.downcase}\son}
1569
- join_dependency.table_aliases[aliased_table_name] += 1
1570
- end
1571
-
1572
- unless join_dependency.table_aliases[aliased_table_name].zero?
1573
- # if the table name has been used, then use an alias
1574
- @aliased_table_name = active_record.connection.table_alias_for "#{pluralize(reflection.name)}_#{parent_table_name}"
1575
- table_index = join_dependency.table_aliases[aliased_table_name]
1576
- join_dependency.table_aliases[aliased_table_name] += 1
1577
- @aliased_table_name = @aliased_table_name[0..active_record.connection.table_alias_length-3] + "_#{table_index+1}" if table_index > 0
1578
- else
1579
- join_dependency.table_aliases[aliased_table_name] += 1
1580
- end
1581
-
1582
- if reflection.macro == :has_and_belongs_to_many || (reflection.macro == :has_many && reflection.options[:through])
1583
- @aliased_join_table_name = reflection.macro == :has_and_belongs_to_many ? reflection.options[:join_table] : reflection.through_reflection.klass.table_name
1584
- unless join_dependency.table_aliases[aliased_join_table_name].zero?
1585
- @aliased_join_table_name = active_record.connection.table_alias_for "#{pluralize(reflection.name)}_#{parent_table_name}_join"
1586
- table_index = join_dependency.table_aliases[aliased_join_table_name]
1587
- join_dependency.table_aliases[aliased_join_table_name] += 1
1588
- @aliased_join_table_name = @aliased_join_table_name[0..active_record.connection.table_alias_length-3] + "_#{table_index+1}" if table_index > 0
1589
- else
1590
- join_dependency.table_aliases[aliased_join_table_name] += 1
1591
- end
1592
- end
1593
- end
1594
-
1595
- def association_join
1596
- connection = reflection.active_record.connection
1597
- join = case reflection.macro
1598
- when :has_and_belongs_to_many
1599
- " #{join_type} %s ON %s.%s = %s.%s " % [
1600
- table_alias_for(options[:join_table], aliased_join_table_name),
1601
- connection.quote_table_name(aliased_join_table_name),
1602
- options[:foreign_key] || reflection.active_record.to_s.foreign_key,
1603
- connection.quote_table_name(parent.aliased_table_name),
1604
- reflection.active_record.primary_key] +
1605
- " #{join_type} %s ON %s.%s = %s.%s " % [
1606
- table_name_and_alias,
1607
- connection.quote_table_name(aliased_table_name),
1608
- klass.primary_key,
1609
- connection.quote_table_name(aliased_join_table_name),
1610
- options[:association_foreign_key] || klass.to_s.foreign_key
1611
- ]
1612
- when :has_many, :has_one
1613
- case
1614
- when reflection.macro == :has_many && reflection.options[:through]
1615
- through_conditions = through_reflection.options[:conditions] ? "AND #{interpolate_sql(sanitize_sql(through_reflection.options[:conditions]))}" : ''
1616
-
1617
- jt_foreign_key = jt_as_extra = jt_source_extra = jt_sti_extra = nil
1618
- first_key = second_key = as_extra = nil
1619
-
1620
- if through_reflection.options[:as] # has_many :through against a polymorphic join
1621
- jt_foreign_key = through_reflection.options[:as].to_s + '_id'
1622
- jt_as_extra = " AND %s.%s = %s" % [
1623
- connection.quote_table_name(aliased_join_table_name),
1624
- connection.quote_column_name(through_reflection.options[:as].to_s + '_type'),
1625
- klass.quote_value(parent.active_record.base_class.name)
1626
- ]
1627
- else
1628
- jt_foreign_key = through_reflection.primary_key_name
1629
- end
1630
-
1631
- case source_reflection.macro
1632
- when :has_many
1633
- if source_reflection.options[:as]
1634
- first_key = "#{source_reflection.options[:as]}_id"
1635
- second_key = options[:foreign_key] || primary_key
1636
- as_extra = " AND %s.%s = %s" % [
1637
- connection.quote_table_name(aliased_table_name),
1638
- connection.quote_column_name("#{source_reflection.options[:as]}_type"),
1639
- klass.quote_value(source_reflection.active_record.base_class.name)
1640
- ]
1641
- else
1642
- first_key = through_reflection.klass.base_class.to_s.foreign_key
1643
- second_key = options[:foreign_key] || primary_key
1644
- end
1645
-
1646
- unless through_reflection.klass.descends_from_active_record?
1647
- jt_sti_extra = " AND %s.%s = %s" % [
1648
- connection.quote_table_name(aliased_join_table_name),
1649
- connection.quote_column_name(through_reflection.active_record.inheritance_column),
1650
- through_reflection.klass.quote_value(through_reflection.klass.name.demodulize)]
1651
- end
1652
- when :belongs_to
1653
- first_key = primary_key
1654
- if reflection.options[:source_type]
1655
- second_key = source_reflection.association_foreign_key
1656
- jt_source_extra = " AND %s.%s = %s" % [
1657
- connection.quote_table_name(aliased_join_table_name),
1658
- connection.quote_column_name(reflection.source_reflection.options[:foreign_type]),
1659
- klass.quote_value(reflection.options[:source_type])
1660
- ]
1661
- else
1662
- second_key = source_reflection.primary_key_name
1663
- end
1664
- end
1665
-
1666
- " #{join_type} %s ON (%s.%s = %s.%s%s%s%s) " % [
1667
- table_alias_for(through_reflection.klass.table_name, aliased_join_table_name),
1668
- connection.quote_table_name(parent.aliased_table_name),
1669
- connection.quote_column_name(parent.primary_key),
1670
- connection.quote_table_name(aliased_join_table_name),
1671
- connection.quote_column_name(jt_foreign_key),
1672
- jt_as_extra, jt_source_extra, jt_sti_extra
1673
- ] +
1674
- " #{join_type} %s ON (%s.%s = %s.%s%s) " % [
1675
- table_name_and_alias,
1676
- connection.quote_table_name(aliased_table_name),
1677
- connection.quote_column_name(first_key),
1678
- connection.quote_table_name(aliased_join_table_name),
1679
- connection.quote_column_name(second_key),
1680
- as_extra
1681
- ]
1682
-
1683
- when reflection.options[:as] && [:has_many, :has_one].include?(reflection.macro)
1684
- " #{join_type} %s ON %s.%s = %s.%s AND %s.%s = %s" % [
1685
- table_name_and_alias,
1686
- connection.quote_table_name(aliased_table_name),
1687
- "#{reflection.options[:as]}_id",
1688
- connection.quote_table_name(parent.aliased_table_name),
1689
- parent.primary_key,
1690
- connection.quote_table_name(aliased_table_name),
1691
- "#{reflection.options[:as]}_type",
1692
- klass.quote_value(parent.active_record.base_class.name)
1693
- ]
1694
- else
1695
- foreign_key = options[:foreign_key] || reflection.active_record.name.foreign_key
1696
- " #{join_type} %s ON %s.%s = %s.%s " % [
1697
- table_name_and_alias,
1698
- aliased_table_name,
1699
- foreign_key,
1700
- parent.aliased_table_name,
1701
- parent.primary_key
1702
- ]
1703
- end
1704
- when :belongs_to
1705
- " #{join_type} %s ON %s.%s = %s.%s " % [
1706
- table_name_and_alias,
1707
- connection.quote_table_name(aliased_table_name),
1708
- reflection.klass.primary_key,
1709
- connection.quote_table_name(parent.aliased_table_name),
1710
- options[:foreign_key] || klass.to_s.foreign_key
1711
- ]
1712
- else
1713
- ""
1714
- end || ''
1715
- join << %(AND %s.%s = %s ) % [
1716
- connection.quote_table_name(aliased_table_name),
1717
- connection.quote_column_name(klass.inheritance_column),
1718
- klass.quote_value(klass.name.demodulize)] unless klass.descends_from_active_record?
1719
-
1720
- [through_reflection, reflection].each do |ref|
1721
- join << "AND #{interpolate_sql(sanitize_sql(ref.options[:conditions]))} " if ref && ref.options[:conditions]
1722
- end
1723
-
1724
- join
1725
- end
1726
-
1727
- protected
1728
-
1729
- def pluralize(table_name)
1730
- ActiveRecord::Base.pluralize_table_names ? table_name.to_s.pluralize : table_name
1731
- end
1732
-
1733
- def table_alias_for(table_name, table_alias)
1734
- "#{reflection.active_record.connection.quote_table_name(table_name)} #{table_alias if table_name != table_alias}".strip
1735
- end
1736
-
1737
- def table_name_and_alias
1738
- table_alias_for table_name, @aliased_table_name
1739
- end
1740
-
1741
- def interpolate_sql(sql)
1742
- instance_eval("%@#{sql.gsub('@', '\@')}@")
1743
- end
1744
-
1745
- private
1746
-
1747
- def join_type
1748
- "LEFT OUTER JOIN"
1749
- end
1750
- end
1751
- end
1752
-
1753
- class InnerJoinDependency < JoinDependency # :nodoc:
1754
- protected
1755
- def build_join_association(reflection, parent)
1756
- InnerJoinAssociation.new(reflection, self, parent)
1757
- end
1758
-
1759
- class InnerJoinAssociation < JoinAssociation
1760
- private
1761
- def join_type
1762
- "INNER JOIN"
1763
- end
1764
- end
1765
- end
1766
-
1767
- end
1768
- end
1769
- end