spree 0.5.1 → 0.6.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.
- data/CHANGELOG +57 -6
- data/app/controllers/admin/base_controller.rb +13 -0
- data/app/controllers/admin/creditcard_payments_controller.rb +96 -0
- data/app/controllers/admin/general_settings_controller.rb +13 -0
- data/app/controllers/admin/orders_controller.rb +22 -28
- data/app/controllers/admin/payments_controller.rb +5 -0
- data/app/controllers/admin/products_controller.rb +43 -5
- data/app/controllers/admin/reports_controller.rb +19 -37
- data/app/controllers/admin/taxons_controller.rb +13 -9
- data/app/controllers/admin/users_controller.rb +33 -2
- data/app/controllers/admin/variants_controller.rb +24 -6
- data/app/controllers/application.rb +2 -1
- data/app/controllers/creditcards_controller.rb +73 -0
- data/app/controllers/orders_controller.rb +22 -23
- data/app/controllers/products_controller.rb +19 -13
- data/app/controllers/taxons_controller.rb +5 -1
- data/app/controllers/users_controller.rb +6 -8
- data/app/helpers/admin/base_helper.rb +18 -2
- data/app/helpers/admin/orders_helper.rb +10 -13
- data/app/helpers/admin/users_helper.rb +4 -1
- data/app/helpers/application_helper.rb +12 -1
- data/app/helpers/products_helper.rb +9 -2
- data/app/helpers/spree/base_helper.rb +6 -6
- data/app/helpers/taxons_helper.rb +4 -4
- data/app/models/app_configuration.rb +10 -1
- data/app/models/asset.rb +4 -0
- data/app/models/creditcard.rb +136 -5
- data/app/models/creditcard_payment.rb +9 -24
- data/app/models/image.rb +6 -11
- data/app/models/inventory_unit.rb +6 -1
- data/app/models/order.rb +64 -31
- data/app/models/order_filter.rb +2 -0
- data/app/models/order_mailer.rb +1 -1
- data/app/models/payment.rb +11 -0
- data/app/models/product.rb +103 -98
- data/app/models/taxon.rb +23 -0
- data/app/models/user_filter.rb +6 -0
- data/app/models/variant.rb +26 -1
- data/app/presenters/payment_presenter.rb +0 -1
- data/app/views/account/authorization_failure.html.erb +4 -0
- data/app/views/account/login.html.erb +1 -1
- data/app/views/admin/configurations/index.html.erb +21 -17
- data/app/views/admin/configurations/new.html.erb +3 -3
- data/app/views/admin/creditcard_payments/edit.html.erb +36 -0
- data/app/views/admin/creditcard_payments/new.html.erb +28 -0
- data/app/views/admin/extensions/index.html.erb +5 -5
- data/app/views/admin/general_settings/edit.html.erb +18 -0
- data/app/views/admin/general_settings/show.html.erb +17 -0
- data/app/views/admin/images/new.html.erb +2 -2
- data/app/views/admin/inventory_settings/edit.html.erb +4 -4
- data/app/views/admin/inventory_settings/show.html.erb +2 -2
- data/app/views/admin/inventory_units/adjust.html.erb +8 -8
- data/app/views/admin/mail_settings/edit.html.erb +14 -14
- data/app/views/admin/mail_settings/show.html.erb +13 -13
- data/app/views/admin/option_types/_form.html.erb +8 -8
- data/app/views/admin/option_types/_option_value.html.erb +1 -1
- data/app/views/admin/option_types/available.html.erb +4 -4
- data/app/views/admin/option_types/edit.html.erb +1 -1
- data/app/views/admin/option_types/index.html.erb +5 -5
- data/app/views/admin/option_types/new.html.erb +1 -1
- data/app/views/admin/option_types/selected.html.erb +6 -6
- data/app/views/admin/orders/index.html.erb +29 -19
- data/app/views/admin/orders/show.html.erb +73 -76
- data/app/views/admin/overview/index.html.erb +1 -1
- data/app/views/admin/payments/index.html.erb +22 -0
- data/app/views/admin/product_properties/_product_property.html.erb +1 -1
- data/app/views/admin/product_properties/index.html.erb +8 -8
- data/app/views/admin/products/_form.html.erb +14 -9
- data/app/views/admin/products/_images.html.erb +9 -9
- data/app/views/admin/products/_option_types.html.erb +6 -6
- data/app/views/admin/products/edit.html.erb +1 -1
- data/app/views/admin/products/index.html.erb +16 -12
- data/app/views/admin/products/new.html.erb +2 -2
- data/app/views/admin/properties/_form.html.erb +2 -2
- data/app/views/admin/properties/edit.html.erb +1 -1
- data/app/views/admin/properties/index.html.erb +5 -5
- data/app/views/admin/properties/new.html.erb +1 -1
- data/app/views/admin/prototypes/_form.html.erb +2 -2
- data/app/views/admin/prototypes/available.html.erb +4 -4
- data/app/views/admin/prototypes/edit.html.erb +1 -1
- data/app/views/admin/prototypes/index.html.erb +4 -4
- data/app/views/admin/prototypes/new.html.erb +1 -1
- data/app/views/admin/reports/index.html.erb +5 -5
- data/app/views/admin/reports/sales_total.html.erb +5 -5
- data/app/views/admin/states/_form.html.erb +2 -2
- data/app/views/admin/states/_state_list.html.erb +6 -6
- data/app/views/admin/states/edit.html.erb +2 -2
- data/app/views/admin/states/index.html.erb +1 -1
- data/app/views/admin/states/new.html.erb +2 -2
- data/app/views/admin/tax_categories/_form.html.erb +2 -2
- data/app/views/admin/tax_categories/edit.html.erb +2 -2
- data/app/views/admin/tax_categories/index.html.erb +8 -8
- data/app/views/admin/tax_categories/new.html.erb +2 -2
- data/app/views/admin/taxonomies/_form.html.erb +1 -1
- data/app/views/admin/taxonomies/_list.html.erb +2 -3
- data/app/views/admin/taxonomies/edit.html.erb +7 -4
- data/app/views/admin/taxonomies/index.html.erb +2 -2
- data/app/views/admin/taxonomies/new.html.erb +3 -3
- data/app/views/admin/taxons/_taxon_table.html.erb +5 -5
- data/app/views/admin/taxons/available.js.erb +6 -6
- data/app/views/admin/taxons/selected.html.erb +2 -2
- data/app/views/admin/users/_form.html.erb +36 -22
- data/app/views/admin/users/edit.html.erb +2 -2
- data/app/views/admin/users/index.html.erb +49 -18
- data/app/views/admin/users/new.html.erb +3 -3
- data/app/views/admin/users/show.html.erb +10 -3
- data/app/views/admin/variants/_form.html.erb +6 -9
- data/app/views/admin/variants/edit.html.erb +2 -2
- data/app/views/admin/variants/index.html.erb +17 -17
- data/app/views/admin/variants/new.html.erb +1 -1
- data/app/views/admin/zones/_country.html.erb +1 -1
- data/app/views/admin/zones/_form.html.erb +12 -12
- data/app/views/admin/zones/_state.html.erb +1 -1
- data/app/views/admin/zones/_zone.html.erb +1 -1
- data/app/views/admin/zones/edit.html.erb +2 -2
- data/app/views/admin/zones/index.html.erb +7 -7
- data/app/views/admin/zones/new.html.erb +2 -2
- data/app/views/admin/zones/show.html.erb +2 -2
- data/app/views/creditcards/_form_credit_card.html.erb +30 -0
- data/app/views/creditcards/cvv.html.erb +15 -0
- data/app/views/creditcards/new.html.erb +25 -0
- data/app/views/layouts/admin.html.erb +12 -12
- data/app/views/layouts/application.html.erb +4 -4
- data/app/views/orders/_form.html.erb +5 -5
- data/app/views/orders/_line_item.html.erb +2 -2
- data/app/views/orders/edit.html.erb +19 -17
- data/app/views/orders/new.html.erb +8 -6
- data/app/views/orders/show.html.erb +16 -9
- data/app/views/products/_image.html.erb +1 -1
- data/app/views/products/_products.html.erb +6 -2
- data/app/views/products/_thumbnails.html.erb +1 -1
- data/app/views/products/index.html.erb +1 -1
- data/app/views/products/show.html.erb +9 -6
- data/app/views/shared/_additional_field.html.erb +7 -0
- data/app/views/shared/_address.html.erb +35 -0
- data/app/views/shared/_edit_resource_links.html.erb +1 -1
- data/app/views/shared/_form_address.html.erb +46 -0
- data/app/views/shared/_login.html.erb +3 -3
- data/app/views/shared/_new_resource_links.html.erb +1 -1
- data/app/views/shared/_order_details.html.erb +37 -35
- data/app/views/shared/_order_tabs.html.erb +32 -0
- data/app/views/shared/_product_sub_menu.html.erb +4 -4
- data/app/views/shared/_product_tabs.html.erb +15 -5
- data/app/views/shared/_products.html.erb +7 -2
- data/app/views/shared/_report_criteria.html.erb +15 -15
- data/app/views/shared/_show_resource_links.html.erb +3 -3
- data/app/views/shared/_states.html.erb +14 -0
- data/app/views/shared/_store_menu.html.erb +1 -1
- data/app/views/shared/_taxonomies.html.erb +1 -1
- data/app/views/taxons/_taxon.html.erb +2 -2
- data/app/views/users/_form.html.erb +6 -7
- data/app/views/users/edit.html.erb +2 -2
- data/app/views/users/index.html.erb +6 -6
- data/app/views/users/new.html.erb +3 -3
- data/app/views/users/show.html.erb +32 -4
- data/config/boot.rb +1 -1
- data/config/database.yml +5 -0
- data/config/database.yml.example +5 -0
- data/config/environment.rb +9 -19
- data/config/environments/demo.rb +22 -0
- data/config/initializers/locales.rb +8 -0
- data/config/initializers/spree.rb +6 -3
- data/config/locales/de.yml +451 -0
- data/config/locales/de_rails.yml +120 -0
- data/config/locales/en-GB.yml +451 -0
- data/config/locales/en-GB_rails.yml +154 -0
- data/config/locales/en-US.yml +451 -0
- data/config/locales/en-US_rails.yml +154 -0
- data/config/locales/es.yml +451 -0
- data/config/locales/es_rails.yml +155 -0
- data/config/locales/it.yml +451 -0
- data/config/locales/it_rails.yml +104 -0
- data/config/locales/pl.yml +451 -0
- data/config/locales/pl_rails.yml +118 -0
- data/config/locales/pt-BR.yml +451 -0
- data/config/locales/pt-BR_rails.yml +104 -0
- data/config/locales/pt-PT.yml +451 -0
- data/config/locales/pt-PT_rails.yml +112 -0
- data/config/routes.rb +24 -10
- data/config/spree_permissions.yml +64 -0
- data/db/migrate/20081018125019_refactor_images_for_paperclip.rb +40 -0
- data/db/migrate/20081120184215_add_permalink_to_taxons.rb +24 -0
- data/db/migrate/20081121192045_additional_paperclip_refactor.rb +37 -0
- data/db/migrate/20081208143817_create_creditcards.rb +20 -0
- data/db/migrate/20081208150007_create_payments_table.rb +42 -0
- data/db/migrate/20081209103127_add_deleted_at_to_products.rb +11 -0
- data/db/migrate/20081212015915_convert_credticard_number_to_text.rb +11 -0
- data/db/migrate/20081219091142_create_indexes.rb +23 -0
- data/db/migrate/20090105152846_add_previous_state_to_events.rb +13 -0
- data/db/sample/addresses.yml +4 -30
- data/db/sample/assets.yml +112 -0
- data/db/sample/creditcards.yml +10 -0
- data/db/sample/orders.yml +11 -11
- data/db/sample/payments.yml +7 -0
- data/db/sample/taxons.yml +11 -1
- data/lib/authenticated_system.rb +12 -4
- data/lib/easy_role_requirement_system.rb +1 -1
- data/lib/generators/extension/extension_generator.rb +2 -0
- data/lib/generators/extension/templates/RSpecRakefile +1 -1
- data/lib/generators/extension/templates/extension.rb +1 -5
- data/lib/generators/extension/templates/routes.rb +5 -0
- data/lib/generators/extension/templates/tasks.rake +2 -3
- data/lib/generators/extension_migration/extension_migration_generator.rb +2 -2
- data/lib/generators/instance/instance_generator.rb +8 -4
- data/lib/plugins/extension_patches/lib/asset_copy.rb +13 -11
- data/lib/plugins/extension_patches/lib/routing_extension.rb +26 -3
- data/lib/spree.rb +2 -2
- data/lib/spree/extension_loader.rb +17 -9
- data/lib/spree/initializer.rb +17 -3
- data/lib/spree/setup.rb +8 -4
- data/lib/tasks/database.rake +9 -4
- data/lib/tasks/extensions.rake +0 -47
- data/lib/tasks/release.rake +1 -0
- data/lib/tasks/rspec.rake +158 -0
- data/lib/tasks/sample/products/{0000/0001/ror_tote_mini.jpeg → 1/mini/ror_tote.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0001 → 1/original}/ror_tote.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0001/ror_tote_product.jpeg → 1/product/ror_tote.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0001/ror_tote_small.jpeg → 1/small/ror_tote.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0010/ror_ringer_back_mini.jpeg → 10/mini/ror_ringer_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0010 → 10/original}/ror_ringer_back.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0010/ror_ringer_back_product.jpeg → 10/product/ror_ringer_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0010/ror_ringer_back_small.jpeg → 10/small/ror_ringer_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/1004/apache_baseball_mini.png → 1004/mini/apache_baseball.png} +0 -0
- data/lib/tasks/sample/products/{0000/1004 → 1004/original}/apache_baseball.png +0 -0
- data/lib/tasks/sample/products/{0000/1004/apache_baseball_product.png → 1004/product/apache_baseball.png} +0 -0
- data/lib/tasks/sample/products/{0000/1004/apache_baseball_small.png → 1004/small/apache_baseball.png} +0 -0
- data/lib/tasks/sample/products/{0000/1008/ruby_baseball_mini.png → 1008/mini/ruby_baseball.png} +0 -0
- data/lib/tasks/sample/products/{0000/1008 → 1008/original}/ruby_baseball.png +0 -0
- data/lib/tasks/sample/products/{0000/1008/ruby_baseball_product.png → 1008/product/ruby_baseball.png} +0 -0
- data/lib/tasks/sample/products/{0000/1008/ruby_baseball_small.png → 1008/small/ruby_baseball.png} +0 -0
- data/lib/tasks/sample/products/{0000/0011/ror_stein_mini.jpeg → 11/mini/ror_stein.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0011 → 11/original}/ror_stein.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0011/ror_stein_product.jpeg → 11/product/ror_stein.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0011/ror_stein_small.jpeg → 11/small/ror_stein.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0012/ror_stein_back_mini.jpeg → 12/mini/ror_stein_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0012 → 12/original}/ror_stein_back.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0012/ror_stein_back_product.jpeg → 12/product/ror_stein_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0012/ror_stein_back_small.jpeg → 12/small/ror_stein_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0002/ror_tote_back_mini.jpeg → 2/mini/ror_tote_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0002 → 2/original}/ror_tote_back.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0002/ror_tote_back_product.jpeg → 2/product/ror_tote_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0002/ror_tote_back_small.jpeg → 2/small/ror_tote_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0003/ror_bag_mini.jpeg → 3/mini/ror_bag.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0003 → 3/original}/ror_bag.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0003/ror_bag_product.jpeg → 3/product/ror_bag.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0003/ror_bag_small.jpeg → 3/small/ror_bag.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0004/ror_baseball_mini.jpeg → 4/mini/ror_baseball.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0004 → 4/original}/ror_baseball.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0004/ror_baseball_product.jpeg → 4/product/ror_baseball.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0004/ror_baseball_small.jpeg → 4/small/ror_baseball.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0005/ror_baseball_back_mini.jpeg → 5/mini/ror_baseball_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0005 → 5/original}/ror_baseball_back.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0005/ror_baseball_back_product.jpeg → 5/product/ror_baseball_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0005/ror_baseball_back_small.jpeg → 5/small/ror_baseball_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0006/ror_jr_spaghetti_mini.jpeg → 6/mini/ror_jr_spaghetti.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0006 → 6/original}/ror_jr_spaghetti.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0006/ror_jr_spaghetti_product.jpeg → 6/product/ror_jr_spaghetti.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0006/ror_jr_spaghetti_small.jpeg → 6/small/ror_jr_spaghetti.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0007/ror_mug_mini.jpeg → 7/mini/ror_mug.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0007 → 7/original}/ror_mug.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0007/ror_mug_product.jpeg → 7/product/ror_mug.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0007/ror_mug_small.jpeg → 7/small/ror_mug.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0008/ror_mug_back_mini.jpeg → 8/mini/ror_mug_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0008 → 8/original}/ror_mug_back.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0008/ror_mug_back_product.jpeg → 8/product/ror_mug_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0008/ror_mug_back_small.jpeg → 8/small/ror_mug_back.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0009/ror_ringer_mini.jpeg → 9/mini/ror_ringer.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0009 → 9/original}/ror_ringer.jpeg +0 -0
- data/lib/tasks/sample/products/{0000/0009/ror_ringer_product.jpeg → 9/product/ror_ringer.jpeg} +0 -0
- data/lib/tasks/sample/products/{0000/0009/ror_ringer_small.jpeg → 9/small/ror_ringer.jpeg} +0 -0
- data/lib/tasks/translation.rake +70 -0
- data/public/assets/products/1/mini/ror_tote.jpeg +0 -0
- data/public/assets/products/1/original/ror_tote.jpeg +0 -0
- data/public/assets/products/1/product/ror_tote.jpeg +0 -0
- data/public/assets/products/1/small/ror_tote.jpeg +0 -0
- data/public/assets/products/10/mini/ror_ringer_back.jpeg +0 -0
- data/public/assets/products/10/original/ror_ringer_back.jpeg +0 -0
- data/public/assets/products/10/product/ror_ringer_back.jpeg +0 -0
- data/public/assets/products/10/small/ror_ringer_back.jpeg +0 -0
- data/public/assets/products/1004/mini/apache_baseball.png +0 -0
- data/public/assets/products/1004/original/apache_baseball.png +0 -0
- data/public/assets/products/1004/product/apache_baseball.png +0 -0
- data/public/assets/products/1004/small/apache_baseball.png +0 -0
- data/public/assets/products/1008/mini/ruby_baseball.png +0 -0
- data/public/assets/products/1008/original/ruby_baseball.png +0 -0
- data/public/assets/products/1008/product/ruby_baseball.png +0 -0
- data/public/assets/products/1008/small/ruby_baseball.png +0 -0
- data/public/assets/products/1012/mini/bt.jpg +0 -0
- data/public/assets/products/1012/original/bt.jpg +0 -0
- data/public/assets/products/1012/product/bt.jpg +0 -0
- data/public/assets/products/1012/small/bt.jpg +0 -0
- data/public/assets/products/11/mini/ror_stein.jpeg +0 -0
- data/public/assets/products/11/original/ror_stein.jpeg +0 -0
- data/public/assets/products/11/product/ror_stein.jpeg +0 -0
- data/public/assets/products/11/small/ror_stein.jpeg +0 -0
- data/public/assets/products/12/mini/ror_stein_back.jpeg +0 -0
- data/public/assets/products/12/original/ror_stein_back.jpeg +0 -0
- data/public/assets/products/12/product/ror_stein_back.jpeg +0 -0
- data/public/assets/products/12/small/ror_stein_back.jpeg +0 -0
- data/public/assets/products/2/mini/ror_tote_back.jpeg +0 -0
- data/public/assets/products/2/original/ror_tote_back.jpeg +0 -0
- data/public/assets/products/2/product/ror_tote_back.jpeg +0 -0
- data/public/assets/products/2/small/ror_tote_back.jpeg +0 -0
- data/public/assets/products/3/mini/ror_bag.jpeg +0 -0
- data/public/assets/products/3/original/ror_bag.jpeg +0 -0
- data/public/assets/products/3/product/ror_bag.jpeg +0 -0
- data/public/assets/products/3/small/ror_bag.jpeg +0 -0
- data/public/assets/products/4/mini/ror_baseball.jpeg +0 -0
- data/public/assets/products/4/original/ror_baseball.jpeg +0 -0
- data/public/assets/products/4/product/ror_baseball.jpeg +0 -0
- data/public/assets/products/4/small/ror_baseball.jpeg +0 -0
- data/public/assets/products/5/mini/ror_baseball_back.jpeg +0 -0
- data/public/assets/products/5/original/ror_baseball_back.jpeg +0 -0
- data/public/assets/products/5/product/ror_baseball_back.jpeg +0 -0
- data/public/assets/products/5/small/ror_baseball_back.jpeg +0 -0
- data/public/assets/products/6/mini/ror_jr_spaghetti.jpeg +0 -0
- data/public/assets/products/6/original/ror_jr_spaghetti.jpeg +0 -0
- data/public/assets/products/6/product/ror_jr_spaghetti.jpeg +0 -0
- data/public/assets/products/6/small/ror_jr_spaghetti.jpeg +0 -0
- data/public/assets/products/7/mini/ror_mug.jpeg +0 -0
- data/public/assets/products/7/original/ror_mug.jpeg +0 -0
- data/public/assets/products/7/product/ror_mug.jpeg +0 -0
- data/public/assets/products/7/small/ror_mug.jpeg +0 -0
- data/public/assets/products/8/mini/ror_mug_back.jpeg +0 -0
- data/public/assets/products/8/original/ror_mug_back.jpeg +0 -0
- data/public/assets/products/8/product/ror_mug_back.jpeg +0 -0
- data/public/assets/products/8/small/ror_mug_back.jpeg +0 -0
- data/public/assets/products/9/mini/ror_ringer.jpeg +0 -0
- data/public/assets/products/9/original/ror_ringer.jpeg +0 -0
- data/public/assets/products/9/product/ror_ringer.jpeg +0 -0
- data/public/assets/products/9/small/ror_ringer.jpeg +0 -0
- data/public/images/noimage/mini.jpg +0 -0
- data/public/images/noimage/product.jpg +0 -0
- data/public/images/noimage/small.jpg +0 -0
- data/public/stylesheets/orders/_controller.css +0 -25
- data/public/stylesheets/spree-admin.css +35 -1
- data/public/stylesheets/spree.css +29 -2
- data/script/autospec +5 -0
- data/script/spec +1 -0
- data/script/spec_server +35 -12
- data/spec/controllers/countries_controller_spec.rb +23 -0
- data/spec/controllers/orders_controller_spec.rb +2 -2
- data/spec/controllers/products_controller_spec.rb +26 -0
- data/spec/controllers/states_controller_spec.rb +16 -0
- data/spec/controllers/taxons_controller_spec.rb +18 -0
- data/spec/fixtures/countries.yml +3 -0
- data/spec/fixtures/states.yml +2 -0
- data/spec/models/address_spec.rb +4 -4
- data/spec/models/creditcard_payment_spec.rb +9 -8
- data/spec/models/creditcard_spec.rb +43 -0
- data/spec/models/option_type_spec.rb +1 -1
- data/spec/models/order_spec.rb +97 -28
- data/spec/models/payment_sepc.rb +29 -0
- data/spec/models/preference_definition_spec.rb +0 -1
- data/spec/models/product_property_spec.rb +1 -1
- data/spec/models/product_spec.rb +2 -2
- data/spec/models/property_spec.rb +1 -1
- data/spec/models/prototype_spec.rb +1 -1
- data/spec/models/state_spec.rb +1 -1
- data/spec/models/taxon_spec.rb +12 -0
- data/spec/models/variant_spec.rb +1 -1
- data/spec/spec.opts +2 -4
- data/spec/views/admin/products/edit.html.erb_spec.rb +88 -0
- data/spec/views/admin/variants/eidt.html.erb_spec.rb +90 -0
- data/vendor/extensions/flat_rate_shipping/flat_rate_shipping_extension.rb +0 -6
- data/vendor/extensions/flat_rate_shipping/lib/spree/flat_rate_shipping/calculator.rb +1 -1
- data/vendor/extensions/localization/app/controllers/admin/localization_controller.rb +0 -4
- data/vendor/extensions/localization/app/controllers/locale_controller.rb +2 -2
- data/vendor/extensions/localization/app/views/shared/_language_bar.html.erb +3 -3
- data/vendor/extensions/localization/config/routes.rb +4 -0
- data/vendor/extensions/localization/localization_extension.rb +8 -19
- data/vendor/extensions/localization/spec/controllers/locale_controller_spec.rb +3 -3
- data/vendor/extensions/payment_gateway/app/models/gateway_option.rb +1 -0
- data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/_form.html.erb +2 -2
- data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/edit.html.erb +1 -1
- data/vendor/extensions/payment_gateway/app/views/admin/gateway_option_values/_options.html.erb +4 -4
- data/vendor/extensions/payment_gateway/config/routes.rb +4 -0
- data/vendor/extensions/payment_gateway/db/migrate/20081119210419_create_authorizenet_gateway.rb +18 -0
- data/vendor/extensions/payment_gateway/db/migrate/20081120144549_remove_authorizenet_test.rb +10 -0
- data/vendor/extensions/payment_gateway/lib/spree/bogus_gateway.rb +3 -3
- data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +30 -29
- data/vendor/extensions/payment_gateway/payment_gateway_extension.rb +3 -16
- data/vendor/extensions/payment_gateway/spec/models/creditcard_spec.rb +24 -0
- data/vendor/extensions/payment_gateway/spec/models/order_spec.rb +5 -2
- data/vendor/extensions/shipping/app/controllers/admin/shipments_controller.rb +67 -0
- data/vendor/extensions/shipping/app/controllers/admin/shipping_categories_controller.rb +0 -2
- data/vendor/extensions/shipping/app/controllers/admin/shipping_methods_controller.rb +0 -2
- data/vendor/extensions/shipping/app/controllers/shipments_controller.rb +67 -55
- data/vendor/extensions/shipping/app/helpers/shipments_helper.rb +2 -2
- data/vendor/extensions/shipping/app/models/shipment.rb +30 -6
- data/vendor/extensions/shipping/app/models/shipment_presenter.rb +3 -0
- data/vendor/extensions/shipping/app/models/shipping_method.rb +5 -5
- data/vendor/extensions/shipping/app/views/admin/shipments/_form.html.erb +35 -0
- data/vendor/extensions/shipping/app/views/admin/shipments/edit.html.erb +11 -0
- data/vendor/extensions/shipping/app/views/admin/shipments/index.html.erb +22 -0
- data/vendor/extensions/shipping/app/views/admin/shipments/new.html.erb +12 -0
- data/vendor/extensions/shipping/app/views/admin/shipping_categories/_form.html.erb +1 -1
- data/vendor/extensions/shipping/app/views/admin/shipping_categories/edit.html.erb +2 -2
- data/vendor/extensions/shipping/app/views/admin/shipping_categories/index.html.erb +6 -6
- data/vendor/extensions/shipping/app/views/admin/shipping_categories/new.html.erb +2 -2
- data/vendor/extensions/shipping/app/views/admin/shipping_methods/_form.html.erb +3 -3
- data/vendor/extensions/shipping/app/views/admin/shipping_methods/edit.html.erb +2 -2
- data/vendor/extensions/shipping/app/views/admin/shipping_methods/index.html.erb +8 -8
- data/vendor/extensions/shipping/app/views/admin/shipping_methods/new.html.erb +2 -2
- data/vendor/extensions/shipping/app/views/shipments/_form.html.erb +8 -8
- data/vendor/extensions/shipping/app/views/shipments/edit.html.erb +57 -8
- data/vendor/extensions/shipping/app/views/shipments/new.html.erb +10 -8
- data/vendor/extensions/shipping/config/locales/de.yml +25 -0
- data/vendor/extensions/shipping/config/locales/en-GB.yml +25 -0
- data/vendor/extensions/shipping/config/locales/en-US.yml +25 -0
- data/vendor/extensions/shipping/config/locales/es.yml +25 -0
- data/vendor/extensions/shipping/config/locales/it.yml +25 -0
- data/vendor/extensions/shipping/config/locales/pl.yml +25 -0
- data/vendor/extensions/shipping/config/locales/pt-BR.yml +25 -0
- data/vendor/extensions/shipping/config/routes.rb +10 -0
- data/vendor/extensions/shipping/db/migrate/20081205155619_add_shipped_at_property.rb +17 -0
- data/vendor/extensions/shipping/db/migrate/20081221201510_create_shipping_addresses.rb +16 -0
- data/vendor/extensions/shipping/db/sample/addresses.yml +14 -0
- data/vendor/extensions/shipping/db/sample/shipments.yml +6 -0
- data/vendor/extensions/shipping/lib/spree/shipping_calculator.rb +23 -16
- data/vendor/extensions/shipping/shipping_extension.rb +34 -18
- data/vendor/extensions/shipping/spec/controllers/shipments_controller_spec.rb +30 -0
- data/vendor/extensions/shipping/spec/models/shipment_spec.rb +1 -19
- data/vendor/extensions/shipping/spec/models/shipping_order_spec.rb +118 -0
- data/vendor/extensions/tax_calculator/app/controllers/admin/tax_rates_controller.rb +0 -2
- data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/_form.html.erb +4 -4
- data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/edit.html.erb +2 -2
- data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/index.html.erb +9 -9
- data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/new.html.erb +2 -2
- data/vendor/extensions/tax_calculator/config/locales/de.yml +30 -0
- data/vendor/extensions/tax_calculator/config/locales/en-GB.yml +30 -0
- data/vendor/extensions/tax_calculator/config/locales/en-US.yml +30 -0
- data/vendor/extensions/tax_calculator/config/locales/es.yml +30 -0
- data/vendor/extensions/tax_calculator/config/locales/it.yml +30 -0
- data/vendor/extensions/tax_calculator/config/locales/pl.yml +30 -0
- data/vendor/extensions/tax_calculator/config/locales/pt-BR.yml +30 -0
- data/vendor/extensions/tax_calculator/config/routes.rb +3 -0
- data/vendor/extensions/tax_calculator/lib/spree/tax_calculator.rb +6 -7
- data/vendor/extensions/tax_calculator/spec/helpers/products_helper_spec.rb +3 -3
- data/vendor/extensions/tax_calculator/spec/models/tax_calculator_spec.rb +6 -2
- data/vendor/extensions/tax_calculator/tax_calculator_extension.rb +1 -7
- data/vendor/gems/active_presenter-0.0.4/.specification +66 -0
- data/vendor/plugins/attribute_fu/README.rdoc +121 -0
- data/vendor/plugins/attribute_fu/Rakefile +1 -0
- data/vendor/plugins/attribute_fu/attribute_fu.gemspec +13 -0
- data/vendor/plugins/attribute_fu/lib/attribute_fu/associated_form_helper.rb +1 -1
- data/vendor/plugins/attribute_fu/lib/attribute_fu/associations.rb +17 -5
- data/vendor/plugins/attribute_fu/test/associated_form_helper_test.rb +376 -0
- data/vendor/plugins/attribute_fu/test/comment_test.rb +6 -0
- data/vendor/plugins/attribute_fu/test/db/database.yml +18 -0
- data/vendor/plugins/attribute_fu/test/{app/models → models}/comment.rb +0 -0
- data/vendor/plugins/attribute_fu/test/{app/models → models}/photo.rb +0 -0
- data/vendor/plugins/attribute_fu/test/photo_test.rb +160 -0
- data/vendor/plugins/attribute_fu/test/test_helper.rb +24 -0
- data/vendor/plugins/calendar_date_select/History.txt +231 -0
- data/vendor/plugins/calendar_date_select/Manifest.txt +42 -0
- data/vendor/plugins/calendar_date_select/Rakefile +31 -0
- data/vendor/plugins/calendar_date_select/Readme.txt +16 -0
- data/vendor/plugins/calendar_date_select/calendar_date_select.gemspec +33 -0
- data/vendor/plugins/calendar_date_select/init.rb +1 -15
- data/vendor/plugins/calendar_date_select/js_test/functional/cds_test.html +13 -3
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select.rb +33 -192
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select/calendar_date_select.rb +116 -0
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select/form_helpers.rb +223 -0
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select/includes_helper.rb +29 -0
- data/vendor/plugins/calendar_date_select/public/blank_iframe.html +2 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +56 -52
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_db.js +27 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +9 -1
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +35 -35
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_iso_date.js +46 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +1 -1
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/de.js +11 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fr.js +10 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pl.js +10 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pt.js +11 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ru.js +10 -0
- data/vendor/plugins/calendar_date_select/spec/calendar_date_select/calendar_date_select_spec.rb +14 -0
- data/vendor/plugins/calendar_date_select/spec/calendar_date_select/form_helpers_spec.rb +161 -0
- data/vendor/plugins/calendar_date_select/spec/spec_helper.rb +26 -0
- data/vendor/plugins/enumerable_constants/lib/enumerable_constants.rb +1 -1
- data/vendor/plugins/has_many_polymorphs/CHANGELOG +83 -0
- data/vendor/plugins/has_many_polymorphs/LICENSE +184 -0
- data/vendor/plugins/has_many_polymorphs/Manifest +174 -0
- data/vendor/plugins/has_many_polymorphs/README +205 -0
- data/vendor/plugins/has_many_polymorphs/Rakefile +28 -0
- data/vendor/plugins/has_many_polymorphs/TODO +2 -0
- data/vendor/plugins/has_many_polymorphs/examples/hmph.rb +69 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/tagging_generator.rb +97 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/migration.rb +28 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag.rb +39 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag_test.rb +15 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging.rb +16 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_extensions.rb +159 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_test.rb +85 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/taggings.yml +23 -0
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tags.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/init.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs.rb +27 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/association.rb +159 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/autoload.rb +70 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/base.rb +60 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/class_methods.rb +600 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/configuration.rb +19 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/debugging_tools.rb +103 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb +35 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/reflection.rb +58 -0
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/support_methods.rb +84 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/bow_wows.yml +10 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/cats.yml +18 -0
- data/vendor/plugins/{rspec-rails/spec_resources/views/controller_spec/_partial.rhtml → has_many_polymorphs/test/fixtures/eaters_foodstuffs.yml} +0 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/fish.yml +12 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/frogs.yml +5 -0
- data/vendor/plugins/{rspec-rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml → has_many_polymorphs/test/fixtures/keep_your_enemies_close.yml} +0 -0
- data/vendor/plugins/{rspec-rails/spec_resources/views/render_spec/_a_partial.rhtml → has_many_polymorphs/test/fixtures/little_whale_pupils.yml} +0 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/people.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/petfoods.yml +11 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/whales.yml +5 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/wild_boars.yml +10 -0
- data/vendor/plugins/has_many_polymorphs/test/generator/tagging_generator_test.rb +42 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/README +182 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/Rakefile +19 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/application.rb +7 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/bones_controller.rb +5 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/addresses_helper.rb +2 -0
- data/vendor/plugins/{attribute_fu/test → has_many_polymorphs/test/integration/app}/app/helpers/application_helper.rb +0 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/bones_helper.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/sellers_helper.rb +28 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/states_helper.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/users_helper.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/bone.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent_relationship.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/organic_substance.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent.rb +4 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent_relationship.rb +4 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stick.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stone.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/edit.html.erb +12 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/index.html.erb +18 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/new.html.erb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/show.html.erb +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/bones/index.rhtml +5 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/addresses.html.erb +17 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/sellers.html.erb +17 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/states.html.erb +17 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/users.html.erb +17 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/edit.html.erb +12 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/index.html.erb +20 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/new.html.erb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/show.html.erb +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/edit.html.erb +12 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/index.html.erb +19 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/new.html.erb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/show.html.erb +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/edit.html.erb +12 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/index.html.erb +22 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/new.html.erb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/show.html.erb +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/boot.rb +110 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/database.yml +17 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb +19 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb.canonical +19 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/development.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/production.rb +18 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/test.rb +19 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/routes.rb +33 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/default.base +56 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/development.conf.canonical +155 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/001_create_sticks.rb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/002_create_stones.rb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/003_create_organic_substances.rb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/004_create_bones.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/005_create_single_sti_parents.rb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/006_create_double_sti_parents.rb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/007_create_single_sti_parent_relationships.rb +13 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/008_create_double_sti_parent_relationships.rb +14 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/009_create_library_model.rb +11 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/doc/README_FOR_APP +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/generators/commenting_generator_test.rb +83 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/lib/library_model.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/404.html +30 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/500.html +30 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.cgi +10 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.fcgi +24 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.rb +10 -0
- data/vendor/plugins/{rspec-rails/spec_resources/views/render_spec/some_action.rhtml → has_many_polymorphs/test/integration/app/public/favicon.ico} +0 -0
- data/vendor/plugins/{attachment_fu/test/fixtures/files → has_many_polymorphs/test/integration/app/public/images}/rails.png +0 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/index.html +277 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/application.js +2 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/controls.js +833 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/dragdrop.js +942 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/effects.js +1088 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/prototype.js +2515 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/robots.txt +1 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/stylesheets/scaffold.css +74 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/about +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/breakpointer +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/console +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/destroy +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/generate +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/benchmarker +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/profiler +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/plugin +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/inspector +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/reaper +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/spawner +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/runner +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/server +3 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parent_relationships.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parents.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/organic_substances.yml +5 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parent_relationships.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parents.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/sticks.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/stones.yml +7 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/addresses_controller_test.rb +57 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/bones_controller_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/sellers_controller_test.rb +57 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/states_controller_test.rb +57 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/users_controller_test.rb +57 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/test_helper.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/bone_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_relationship_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/organic_substance_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_relationship_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stick_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stone_test.rb +8 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/server_test.rb +43 -0
- data/vendor/plugins/has_many_polymorphs/test/models/aquatic/fish.rb +5 -0
- data/vendor/plugins/has_many_polymorphs/test/models/aquatic/pupils_whale.rb +7 -0
- data/vendor/plugins/has_many_polymorphs/test/models/aquatic/whale.rb +15 -0
- data/vendor/plugins/has_many_polymorphs/test/models/beautiful_fight_relationship.rb +26 -0
- data/vendor/plugins/has_many_polymorphs/test/models/canine.rb +9 -0
- data/vendor/plugins/has_many_polymorphs/test/models/cat.rb +5 -0
- data/vendor/plugins/has_many_polymorphs/test/models/dog.rb +18 -0
- data/vendor/plugins/has_many_polymorphs/test/models/eaters_foodstuff.rb +10 -0
- data/vendor/plugins/has_many_polymorphs/test/models/frog.rb +4 -0
- data/vendor/plugins/has_many_polymorphs/test/models/kitten.rb +3 -0
- data/vendor/plugins/has_many_polymorphs/test/models/parentship.rb +4 -0
- data/vendor/plugins/has_many_polymorphs/test/models/person.rb +9 -0
- data/vendor/plugins/has_many_polymorphs/test/models/petfood.rb +39 -0
- data/vendor/plugins/has_many_polymorphs/test/models/tabby.rb +2 -0
- data/vendor/plugins/has_many_polymorphs/test/models/wild_boar.rb +3 -0
- data/vendor/plugins/has_many_polymorphs/test/modules/extension_module.rb +9 -0
- data/vendor/plugins/has_many_polymorphs/test/modules/other_extension_module.rb +9 -0
- data/vendor/plugins/has_many_polymorphs/test/patches/symlinked_plugins_1.2.6.diff +46 -0
- data/vendor/plugins/has_many_polymorphs/test/schema.rb +87 -0
- data/vendor/plugins/has_many_polymorphs/test/setup.rb +14 -0
- data/vendor/plugins/has_many_polymorphs/test/test_helper.rb +51 -0
- data/vendor/plugins/has_many_polymorphs/test/unit/has_many_polymorphs_test.rb +714 -0
- data/vendor/plugins/paperclip/LICENSE +26 -0
- data/vendor/plugins/paperclip/README.rdoc +59 -0
- data/vendor/plugins/paperclip/Rakefile +88 -0
- data/vendor/plugins/paperclip/generators/paperclip/USAGE +5 -0
- data/vendor/plugins/paperclip/generators/paperclip/paperclip_generator.rb +27 -0
- data/vendor/plugins/paperclip/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
- data/vendor/plugins/paperclip/init.rb +1 -0
- data/vendor/plugins/paperclip/lib/paperclip.rb +276 -0
- data/vendor/plugins/paperclip/lib/paperclip/attachment.rb +297 -0
- data/vendor/plugins/paperclip/lib/paperclip/geometry.rb +114 -0
- data/vendor/plugins/paperclip/lib/paperclip/iostream.rb +43 -0
- data/vendor/plugins/paperclip/lib/paperclip/storage.rb +207 -0
- data/vendor/plugins/paperclip/lib/paperclip/thumbnail.rb +88 -0
- data/vendor/plugins/paperclip/lib/paperclip/upfile.rb +37 -0
- data/vendor/plugins/paperclip/shoulda_macros/paperclip.rb +32 -0
- data/vendor/plugins/paperclip/tasks/paperclip_tasks.rake +79 -0
- data/vendor/plugins/paperclip/test/attachment_test.rb +362 -0
- data/vendor/plugins/paperclip/test/database.yml +5 -0
- data/vendor/plugins/paperclip/test/fixtures/12k.png +0 -0
- data/vendor/plugins/paperclip/test/fixtures/50x50.png +0 -0
- data/vendor/plugins/paperclip/test/fixtures/5k.png +0 -0
- data/vendor/plugins/paperclip/test/fixtures/bad.png +1 -0
- data/vendor/plugins/{rspec-rails/spec_resources/views/view_spec/_partial_used_twice.rhtml → paperclip/test/fixtures/text.txt} +0 -0
- data/vendor/plugins/paperclip/test/geometry_test.rb +168 -0
- data/vendor/plugins/paperclip/test/helper.rb +57 -0
- data/vendor/plugins/paperclip/test/integration_test.rb +393 -0
- data/vendor/plugins/paperclip/test/iostream_test.rb +60 -0
- data/vendor/plugins/paperclip/test/paperclip_test.rb +179 -0
- data/vendor/plugins/paperclip/test/storage_test.rb +172 -0
- data/vendor/plugins/paperclip/test/thumbnail_test.rb +145 -0
- data/vendor/plugins/resource_controller/lib/resource_controller/actions.rb +1 -1
- data/vendor/plugins/resource_controller/lib/resource_controller/helpers/urls.rb +3 -2
- data/vendor/plugins/resource_controller/lib/urligence.rb +9 -3
- data/vendor/plugins/rspec-rails/History.txt +132 -0
- data/vendor/plugins/rspec-rails/License.txt +33 -0
- data/vendor/plugins/rspec-rails/Manifest.txt +161 -0
- data/vendor/plugins/rspec-rails/README.txt +44 -0
- data/vendor/plugins/rspec-rails/Rakefile +39 -52
- data/vendor/plugins/rspec-rails/TODO.txt +0 -0
- data/vendor/plugins/rspec-rails/features/step_definitions/people.rb +6 -0
- data/vendor/plugins/rspec-rails/features/support/env.rb +13 -0
- data/vendor/plugins/rspec-rails/features/transactions/transactions_should_rollback.feature +16 -0
- data/vendor/plugins/rspec-rails/generators/rspec/rspec_generator.rb +9 -8
- data/vendor/plugins/rspec-rails/generators/rspec/templates/rspec.rake +158 -0
- data/vendor/plugins/rspec-rails/generators/rspec/templates/script/autospec +5 -0
- data/vendor/plugins/rspec-rails/generators/rspec/templates/script/spec +1 -0
- data/vendor/plugins/rspec-rails/generators/rspec/templates/script/spec_server +17 -8
- data/vendor/plugins/rspec-rails/generators/rspec/templates/spec_helper.rb +1 -1
- data/vendor/plugins/rspec-rails/generators/rspec_controller/rspec_controller_generator.rb +1 -5
- data/vendor/plugins/rspec-rails/generators/rspec_default_values.rb +19 -0
- data/vendor/plugins/rspec-rails/generators/rspec_model/rspec_model_generator.rb +7 -2
- data/vendor/plugins/rspec-rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +4 -21
- data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/controller_spec.rb +94 -248
- data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +7 -6
- data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/index_erb_spec.rb +9 -8
- data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/new_erb_spec.rb +7 -6
- data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/routing_spec.rb +13 -15
- data/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb +9 -9
- data/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb +0 -5
- data/vendor/plugins/rspec-rails/lib/spec/rails.rb +15 -38
- data/vendor/plugins/rspec-rails/lib/spec/rails/example.rb +1 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb +13 -16
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb +54 -68
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/cookies_proxy.rb +29 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb +35 -4
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb +13 -6
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb +9 -10
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb +49 -46
- data/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb +14 -10
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb +1 -3
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb +1 -1
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb +9 -5
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb +11 -2
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb +10 -4
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb +1 -2
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb +2 -2
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/runner/configuration.rb +76 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/interop/testcase.rb +14 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb +2 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/ar_be_valid.rb +41 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb +1 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/change.rb +11 -0
- data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb +26 -5
- data/vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb +55 -15
- data/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb +21 -12
- data/vendor/plugins/rspec-rails/lib/spec/rails/story_adapter.rb +11 -3
- data/vendor/plugins/rspec-rails/lib/spec/rails/version.rb +16 -39
- data/vendor/plugins/rspec-rails/rspec-rails.gemspec +36 -0
- data/vendor/plugins/rspec-rails/spec/autotest/mappings_spec.rb +36 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/controllers/action_view_base_spec_controller.rb +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/controllers/application.rb +9 -0
- data/vendor/plugins/rspec-rails/spec/resources/controllers/controller_spec_controller.rb +110 -0
- data/vendor/plugins/rspec-rails/spec/resources/controllers/redirect_spec_controller.rb +70 -0
- data/vendor/plugins/rspec-rails/spec/resources/controllers/render_spec_controller.rb +30 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/controllers/rjs_spec_controller.rb +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/helpers/addition_helper.rb +5 -0
- data/vendor/plugins/rspec-rails/spec/resources/helpers/explicit_helper.rb +46 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/helpers/more_explicit_helper.rb +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/helpers/plugin_application_helper.rb +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/helpers/view_spec_helper.rb +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/models/animal.rb +4 -0
- data/vendor/plugins/rspec-rails/spec/resources/models/person.rb +18 -0
- data/vendor/plugins/rspec-rails/spec/resources/models/thing.rb +3 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/_partial.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_setting_flash_after_session_reset.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_setting_flash_before_session_reset.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_with_errors_in_template.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/controller_spec/action_with_template.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/layouts/application.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/layouts/simple.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/objects/_object.html.erb +1 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/render_spec/_a_partial.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/render_spec/action_with_alternate_layout.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/render_spec/some_action.html.erb +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/render_spec/some_action.js.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/render_spec/some_action.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/_replacement_partial.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/hide_div.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/hide_page_element.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/insert_html.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/replace.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/replace_html.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/replace_html_with_partial.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/visual_effect.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/rjs_spec/visual_toggle_effect.rjs +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/tag_spec/no_tags.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/tag_spec/single_div_with_no_attributes.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/tag_spec/single_div_with_one_attribute.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_partial.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/_partial_used_twice.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_partial_with_local_variable.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_partial_with_sub_partial.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/_spacer.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/accessor.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/block_helper.rhtml +3 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/entry_form.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/explicit_helper.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/foo/show.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/implicit_helper.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/multiple_helpers.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/path_params.html.erb +1 -0
- data/vendor/plugins/rspec-rails/spec/resources/views/view_spec/should_not_receive.rhtml +3 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/template_with_partial.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/template_with_partial_using_collection.rhtml +0 -0
- data/vendor/plugins/rspec-rails/{spec_resources → spec/resources}/views/view_spec/template_with_partial_with_array.rhtml +0 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/assigns_hash_proxy_spec.rb +96 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/configuration_spec.rb +79 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/controller_isolation_spec.rb +56 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/controller_spec_spec.rb +346 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/cookies_proxy_spec.rb +87 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/example_group_factory_spec.rb +112 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/helper_spec_spec.rb +204 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/model_spec_spec.rb +18 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/shared_behaviour_spec.rb +16 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb +33 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/example/view_spec_spec.rb +312 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/extensions/action_controller_rescue_action_spec.rb +57 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/extensions/action_view_base_spec.rb +48 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/extensions/active_record_spec.rb +14 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/interop/testcase_spec.rb +70 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/ar_be_valid_spec.rb +35 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/assert_select_spec.rb +810 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/errors_on_spec.rb +25 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/have_text_spec.rb +62 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/include_text_spec.rb +64 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/redirect_to_spec.rb +242 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/render_template_spec.rb +176 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/matchers/should_change_spec.rb +15 -0
- data/vendor/plugins/rspec-rails/spec/{rails → spec/rails}/mocks/ar_classes.rb +0 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/mocks/mock_model_spec.rb +106 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/mocks/stub_model_spec.rb +80 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/sample_modified_fixture.rb +8 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/sample_spec.rb +8 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/spec_server_spec.rb +107 -0
- data/vendor/plugins/rspec-rails/spec/spec/rails/spec_spec.rb +11 -0
- data/vendor/plugins/rspec-rails/spec/spec_helper.rb +33 -13
- data/vendor/plugins/rspec/History.txt +1235 -0
- data/vendor/plugins/rspec/License.txt +22 -0
- data/vendor/plugins/rspec/Manifest.txt +377 -0
- data/vendor/plugins/rspec/README.txt +57 -0
- data/vendor/plugins/rspec/Rakefile +41 -214
- data/vendor/plugins/rspec/TODO.txt +18 -0
- data/vendor/plugins/rspec/bin/autospec +3 -2
- data/vendor/plugins/rspec/bin/spec +1 -1
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/README.txt +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/diffing_spec.rb +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/failing_autogenerated_docstrings_example.rb +0 -0
- data/vendor/plugins/rspec/examples/failing/failure_in_after.rb +10 -0
- data/vendor/plugins/rspec/examples/failing/failure_in_before.rb +10 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_example.rb +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_with_flexmock.rb +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_with_mocha.rb +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/mocking_with_rr.rb +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/partial_mock_example.rb +0 -0
- data/vendor/plugins/rspec/examples/failing/predicate_example.rb +34 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/raising_example.rb +0 -0
- data/vendor/plugins/rspec/examples/failing/spec_helper.rb +3 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/syntax_error_example.rb +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/team_spec.rb +0 -0
- data/vendor/plugins/rspec/{failing_examples → examples/failing}/timeout_behaviour.rb +0 -0
- data/vendor/plugins/rspec/examples/passing/autogenerated_docstrings_example.rb +25 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/before_and_after_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/behave_as_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/custom_expectation_matchers.rb +0 -0
- data/vendor/plugins/rspec/examples/passing/custom_formatter.rb +12 -0
- data/vendor/plugins/rspec/examples/passing/dynamic_spec.rb +9 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/file_accessor.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/file_accessor_spec.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/greeter_spec.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/helper_method_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/io_processor.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/io_processor_spec.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/legacy_spec.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/mocking_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/multi_threaded_behaviour_runner.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/nested_classes_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/partial_mock_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/pending_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/predicate_example.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/priority.txt +0 -0
- data/vendor/plugins/rspec/examples/passing/shared_example_group_example.rb +81 -0
- data/vendor/plugins/rspec/examples/passing/shared_stack_examples.rb +36 -0
- data/vendor/plugins/rspec/examples/passing/simple_matcher_example.rb +31 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/spec_helper.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/stack.rb +0 -0
- data/vendor/plugins/rspec/examples/passing/stack_spec.rb +64 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/stack_spec_with_nested_example_groups.rb +0 -0
- data/vendor/plugins/rspec/examples/{pure → passing}/stubbing_example.rb +0 -0
- data/vendor/plugins/rspec/examples/passing/yielding_example.rb +33 -0
- data/vendor/plugins/rspec/features/before_and_after_blocks/before_and_after_blocks.feature +168 -0
- data/vendor/plugins/rspec/features/example_groups/autogenerated_docstrings.feature +45 -0
- data/vendor/plugins/rspec/features/example_groups/example_group_with_should_methods.feature +17 -0
- data/vendor/plugins/rspec/features/example_groups/nested_groups.feature +17 -0
- data/vendor/plugins/rspec/features/example_groups/output.feature +20 -0
- data/vendor/plugins/rspec/features/interop/examples_and_tests_together.feature +31 -0
- data/vendor/plugins/rspec/features/interop/test_but_not_test_unit.feature +14 -0
- data/vendor/plugins/rspec/features/interop/test_case_with_should_methods.feature +17 -0
- data/vendor/plugins/rspec/features/mock_framework_integration/use_flexmock.feature +9 -0
- data/vendor/plugins/rspec/features/step_definitions/running_rspec.rb +54 -0
- data/vendor/plugins/rspec/features/support/env.rb +26 -0
- data/vendor/plugins/rspec/{stories/resources → features/support}/helpers/cmdline.rb +0 -0
- data/vendor/plugins/rspec/features/support/helpers/story_helper.rb +16 -0
- data/vendor/plugins/rspec/{stories/resources → features/support}/matchers/smart_match.rb +0 -0
- data/vendor/plugins/rspec/lib/adapters/mock_frameworks/flexmock.rb +23 -0
- data/vendor/plugins/rspec/lib/adapters/mock_frameworks/mocha.rb +19 -0
- data/vendor/plugins/rspec/lib/adapters/mock_frameworks/rr.rb +21 -0
- data/vendor/plugins/rspec/lib/adapters/mock_frameworks/rspec.rb +20 -0
- data/vendor/plugins/rspec/lib/autotest/discover.rb +1 -1
- data/vendor/plugins/rspec/lib/autotest/rspec.rb +6 -31
- data/vendor/plugins/rspec/lib/spec.rb +3 -27
- data/vendor/plugins/rspec/lib/spec/dsl.rb +1 -0
- data/vendor/plugins/rspec/lib/spec/dsl/main.rb +87 -0
- data/vendor/plugins/rspec/lib/spec/example.rb +176 -2
- data/vendor/plugins/rspec/lib/spec/example/before_and_after_hooks.rb +99 -0
- data/vendor/plugins/rspec/lib/spec/example/errors.rb +23 -2
- data/vendor/plugins/rspec/lib/spec/example/example_group.rb +11 -2
- data/vendor/plugins/rspec/lib/spec/example/example_group_factory.rb +40 -4
- data/vendor/plugins/rspec/lib/spec/example/example_group_methods.rb +172 -216
- data/vendor/plugins/rspec/lib/spec/example/example_methods.rb +94 -38
- data/vendor/plugins/rspec/lib/spec/example/shared_example_group.rb +34 -29
- data/vendor/plugins/rspec/lib/spec/expectations.rb +22 -18
- data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +2 -2
- data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +23 -38
- data/vendor/plugins/rspec/lib/spec/interop/test/unit/testcase.rb +32 -20
- data/vendor/plugins/rspec/lib/spec/interop/test/unit/testresult.rb +1 -1
- data/vendor/plugins/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +1 -1
- data/vendor/plugins/rspec/lib/spec/matchers.rb +7 -22
- data/vendor/plugins/rspec/lib/spec/matchers/be.rb +94 -115
- data/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +5 -21
- data/vendor/plugins/rspec/lib/spec/matchers/change.rb +31 -31
- data/vendor/plugins/rspec/lib/spec/matchers/eql.rb +6 -24
- data/vendor/plugins/rspec/lib/spec/matchers/equal.rb +6 -24
- data/vendor/plugins/rspec/lib/spec/matchers/errors.rb +5 -0
- data/vendor/plugins/rspec/lib/spec/matchers/exist.rb +10 -11
- data/vendor/plugins/rspec/lib/spec/matchers/generated_descriptions.rb +48 -0
- data/vendor/plugins/rspec/lib/spec/matchers/has.rb +12 -28
- data/vendor/plugins/rspec/lib/spec/matchers/have.rb +25 -24
- data/vendor/plugins/rspec/lib/spec/matchers/include.rb +11 -1
- data/vendor/plugins/rspec/lib/spec/matchers/match.rb +7 -26
- data/vendor/plugins/rspec/lib/spec/matchers/match_array.rb +75 -0
- data/vendor/plugins/rspec/lib/spec/matchers/method_missing.rb +9 -0
- data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +44 -41
- data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +17 -21
- data/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +33 -7
- data/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +5 -5
- data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +8 -8
- data/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +50 -18
- data/vendor/plugins/rspec/lib/spec/matchers/wrap_expectation.rb +55 -0
- data/vendor/plugins/rspec/lib/spec/mocks.rb +0 -11
- data/vendor/plugins/rspec/lib/spec/mocks/argument_constraints.rb +203 -0
- data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +21 -188
- data/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +1 -1
- data/vendor/plugins/rspec/lib/spec/mocks/framework.rb +1 -1
- data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +47 -6
- data/vendor/plugins/rspec/lib/spec/mocks/methods.rb +15 -3
- data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +59 -17
- data/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +9 -1
- data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +5 -7
- data/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +3 -3
- data/vendor/plugins/rspec/lib/spec/ruby.rb +9 -0
- data/vendor/plugins/rspec/lib/spec/runner.rb +51 -164
- data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +10 -9
- data/vendor/plugins/rspec/lib/spec/runner/class_and_arguments_parser.rb +7 -9
- data/vendor/plugins/rspec/lib/spec/runner/command_line.rb +6 -19
- data/vendor/plugins/rspec/lib/spec/runner/configuration.rb +166 -0
- data/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb +2 -2
- data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +3 -1
- data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +7 -10
- data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +15 -12
- data/vendor/plugins/rspec/lib/spec/runner/formatter/nested_text_formatter.rb +5 -5
- data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +2 -2
- data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +1 -1
- data/vendor/plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb +14 -1
- data/vendor/plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb +12 -6
- data/vendor/plugins/rspec/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
- data/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +58 -56
- data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +40 -34
- data/vendor/plugins/rspec/lib/spec/runner/options.rb +49 -23
- data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +25 -5
- data/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +11 -9
- data/vendor/plugins/rspec/lib/spec/story/runner.rb +40 -43
- data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +10 -6
- data/vendor/plugins/rspec/lib/spec/story/step.rb +3 -3
- data/vendor/plugins/rspec/lib/spec/story/step_mother.rb +2 -1
- data/vendor/plugins/rspec/lib/spec/story/world.rb +66 -70
- data/vendor/plugins/rspec/lib/spec/version.rb +15 -22
- data/vendor/plugins/rspec/{rake_tasks → resources/rake}/examples.rake +0 -0
- data/vendor/plugins/rspec/{rake_tasks → resources/rake}/examples_with_rcov.rake +0 -0
- data/vendor/plugins/rspec/resources/rake/failing_examples_with_html.rake +9 -0
- data/vendor/plugins/rspec/resources/rake/verify_rcov.rake +7 -0
- data/vendor/plugins/rspec/resources/spec/example_group_with_should_methods.rb +12 -0
- data/vendor/plugins/rspec/resources/spec/simple_spec.rb +8 -0
- data/vendor/plugins/rspec/resources/spec/spec_with_flexmock.rb +19 -0
- data/vendor/plugins/rspec/resources/test/spec_and_test_together.rb +57 -0
- data/vendor/plugins/rspec/resources/test/spec_including_test_but_not_unit.rb +11 -0
- data/vendor/plugins/rspec/resources/test/test_case_with_should_methods.rb +30 -0
- data/vendor/plugins/rspec/rspec.gemspec +32 -0
- data/vendor/plugins/rspec/spec/autotest/autotest_helper.rb +6 -0
- data/vendor/plugins/rspec/spec/{autotest_matchers.rb → autotest/autotest_matchers.rb} +0 -0
- data/vendor/plugins/rspec/spec/autotest/discover_spec.rb +5 -16
- data/vendor/plugins/rspec/spec/autotest/failed_results_re_spec.rb +24 -0
- data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +13 -105
- data/vendor/plugins/rspec/spec/rspec_suite.rb +0 -1
- data/vendor/plugins/rspec/spec/spec/dsl/main_spec.rb +88 -0
- data/vendor/plugins/rspec/spec/spec/example/example_group_class_definition_spec.rb +15 -11
- data/vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb +93 -32
- data/vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb +485 -423
- data/vendor/plugins/rspec/spec/spec/example/example_group_spec.rb +463 -511
- data/vendor/plugins/rspec/spec/spec/example/example_matcher_spec.rb +6 -23
- data/vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb +235 -70
- data/vendor/plugins/rspec/spec/spec/example/helper_method_spec.rb +24 -0
- data/vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb +101 -4
- data/vendor/plugins/rspec/spec/spec/example/shared_example_group_spec.rb +202 -210
- data/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +0 -12
- data/vendor/plugins/rspec/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
- data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
- data/vendor/plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb +14 -11
- data/vendor/plugins/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +4 -0
- data/vendor/plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb +4 -0
- data/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +12 -10
- data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +40 -7
- data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +12 -0
- data/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +19 -0
- data/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +7 -6
- data/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +7 -6
- data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +7 -7
- data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +10 -0
- data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +114 -8
- data/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +43 -0
- data/vendor/plugins/rspec/spec/spec/matchers/match_array_spec.rb +83 -0
- data/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +1 -13
- data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +24 -1
- data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +18 -0
- data/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +76 -14
- data/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +85 -43
- data/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +7 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +4 -5
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_496.rb +19 -0
- data/vendor/plugins/rspec/spec/spec/mocks/bug_report_600_spec.rb +22 -0
- data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -35
- data/vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +82 -24
- data/vendor/plugins/rspec/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
- data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +68 -8
- data/vendor/plugins/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
- data/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +14 -0
- data/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +18 -28
- data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +12 -5
- data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +5 -50
- data/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +7 -0
- data/vendor/plugins/rspec/spec/spec/mocks/stubbed_message_expectations_spec.rb +14 -0
- data/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +8 -0
- data/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +102 -108
- data/vendor/plugins/rspec/spec/spec/runner/configuration_spec.rb +301 -0
- data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +14 -9
- data/vendor/plugins/rspec/spec/spec/runner/formatter/base_formatter_spec.rb +23 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/base_text_formatter_spec.rb +23 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +5 -5
- data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +3 -3
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +6 -6
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +9 -9
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +6 -6
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +10 -10
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +39 -30
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.7.html +379 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.9.1.html +379 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +14 -15
- data/vendor/plugins/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb +230 -245
- data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +17 -9
- data/vendor/plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +20 -19
- data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +110 -109
- data/vendor/plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb +48 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +52 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +6 -6
- data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +33 -30
- data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +373 -0
- data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +373 -0
- data/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +8 -8
- data/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +16 -9
- data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +25 -13
- data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +27 -8
- data/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +1 -1
- data/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +6 -0
- data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +55 -9
- data/vendor/plugins/rspec/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
- data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +85 -79
- data/vendor/plugins/rspec/spec/spec/spec_spec.rb +21 -0
- data/vendor/plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb +2 -5
- data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +3 -3
- data/vendor/plugins/rspec/spec/spec/story/scenario_spec.rb +1 -3
- data/vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb +12 -0
- data/vendor/plugins/rspec/spec/spec/story/step_spec.rb +24 -2
- data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +1 -3
- data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +7 -7
- data/vendor/plugins/rspec/spec/spec_helper.rb +46 -64
- data/vendor/plugins/rspec/story_server/prototype/javascripts/prototype.js +1 -1
- data/vendor/plugins/ssl_requirement/README +43 -0
- data/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb +76 -0
- data/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb +132 -0
- metadata +961 -477
- data/app/controllers/addresses_controller.rb +0 -57
- data/app/controllers/creditcard_payments_controller.rb +0 -63
- data/app/models/cart.rb +0 -24
- data/app/views/addresses/_form.html.erb +0 -48
- data/app/views/addresses/_states.html.erb +0 -8
- data/app/views/addresses/edit.html.erb +0 -8
- data/app/views/addresses/new.html.erb +0 -8
- data/app/views/admin/orders/_address.html.erb +0 -37
- data/app/views/creditcard_payments/_form_billing.html.erb +0 -49
- data/app/views/creditcard_payments/_form_credit_card.html.erb +0 -30
- data/app/views/creditcard_payments/_states.html.erb +0 -8
- data/app/views/creditcard_payments/cvv.html.erb +0 -15
- data/app/views/creditcard_payments/new.html.erb +0 -22
- data/config/easy_role_permissions.yml +0 -75
- data/db/sample/creditcard_payments.yml +0 -10
- data/db/sample/images.yml +0 -350
- data/lang/ui/de-DE.yml +0 -208
- data/lang/ui/en-US.yml +0 -250
- data/lang/ui/es-ES.yml +0 -203
- data/lang/ui/it-IT.yml +0 -195
- data/lang/ui/pl-PL.yml +0 -214
- data/lang/ui/pt-BR.yml +0 -222
- data/stories/all.rb +0 -4
- data/stories/helper.rb +0 -3
- data/test/test_helper.rb +0 -38
- data/vendor/extensions/localization/lang/ui/de-DE.yml +0 -2
- data/vendor/extensions/localization/lang/ui/en-US.yml +0 -2
- data/vendor/extensions/localization/lang/ui/es-ES.yml +0 -2
- data/vendor/extensions/localization/lang/ui/it-IT.yml +0 -2
- data/vendor/extensions/localization/lib/localization.rb +0 -93
- data/vendor/extensions/payment_gateway/spec/models/creditcard_payment_spec.rb +0 -24
- data/vendor/extensions/shipping/lang/en-US.yml +0 -9
- data/vendor/extensions/shipping/spec/models/order_spec.rb +0 -98
- data/vendor/extensions/tax_calculator/lang/en-US.yml +0 -11
- data/vendor/extensions/tax_calculator/lang/pt-BR.yml +0 -11
- data/vendor/plugins/attachment_fu/CHANGELOG +0 -35
- data/vendor/plugins/attachment_fu/README +0 -186
- data/vendor/plugins/attachment_fu/Rakefile +0 -22
- data/vendor/plugins/attachment_fu/amazon_s3.yml.tpl +0 -14
- data/vendor/plugins/attachment_fu/init.rb +0 -16
- data/vendor/plugins/attachment_fu/install.rb +0 -5
- data/vendor/plugins/attachment_fu/lib/geometry.rb +0 -93
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb +0 -473
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/db_file_backend.rb +0 -39
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/file_system_backend.rb +0 -101
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb +0 -303
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/core_image_processor.rb +0 -59
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/gd2_processor.rb +0 -54
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb +0 -61
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/mini_magick_processor.rb +0 -59
- data/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/rmagick_processor.rb +0 -54
- data/vendor/plugins/attachment_fu/test/backends/db_file_test.rb +0 -16
- data/vendor/plugins/attachment_fu/test/backends/file_system_test.rb +0 -80
- data/vendor/plugins/attachment_fu/test/backends/remote/s3_test.rb +0 -119
- data/vendor/plugins/attachment_fu/test/base_attachment_tests.rb +0 -77
- data/vendor/plugins/attachment_fu/test/basic_test.rb +0 -70
- data/vendor/plugins/attachment_fu/test/database.yml +0 -18
- data/vendor/plugins/attachment_fu/test/extra_attachment_test.rb +0 -67
- data/vendor/plugins/attachment_fu/test/fixtures/attachment.rb +0 -148
- data/vendor/plugins/attachment_fu/test/fixtures/files/fake/rails.png +0 -0
- data/vendor/plugins/attachment_fu/test/fixtures/files/foo.txt +0 -1
- data/vendor/plugins/attachment_fu/test/geometry_test.rb +0 -101
- data/vendor/plugins/attachment_fu/test/processors/core_image_test.rb +0 -37
- data/vendor/plugins/attachment_fu/test/processors/gd2_test.rb +0 -31
- data/vendor/plugins/attachment_fu/test/processors/image_science_test.rb +0 -31
- data/vendor/plugins/attachment_fu/test/processors/mini_magick_test.rb +0 -31
- data/vendor/plugins/attachment_fu/test/processors/rmagick_test.rb +0 -255
- data/vendor/plugins/attachment_fu/test/schema.rb +0 -108
- data/vendor/plugins/attachment_fu/test/test_helper.rb +0 -150
- data/vendor/plugins/attachment_fu/test/validation_test.rb +0 -55
- data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/color.rb +0 -27
- data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/effects.rb +0 -31
- data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/perspective.rb +0 -25
- data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/quality.rb +0 -25
- data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/scale.rb +0 -47
- data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/filters/watermark.rb +0 -32
- data/vendor/plugins/attachment_fu/vendor/red_artisan/core_image/processor.rb +0 -123
- data/vendor/plugins/attribute_fu/README +0 -115
- data/vendor/plugins/attribute_fu/test/Rakefile +0 -10
- data/vendor/plugins/attribute_fu/test/app/controllers/application.rb +0 -10
- data/vendor/plugins/attribute_fu/test/config/boot.rb +0 -97
- data/vendor/plugins/attribute_fu/test/config/database.yml +0 -15
- data/vendor/plugins/attribute_fu/test/config/environment.rb +0 -15
- data/vendor/plugins/attribute_fu/test/config/environments/development.rb +0 -18
- data/vendor/plugins/attribute_fu/test/config/environments/test.rb +0 -22
- data/vendor/plugins/attribute_fu/test/config/routes.rb +0 -35
- data/vendor/plugins/attribute_fu/test/db/migrate/001_create_photos.rb +0 -14
- data/vendor/plugins/attribute_fu/test/db/migrate/002_create_comments.rb +0 -15
- data/vendor/plugins/attribute_fu/test/script/console +0 -3
- data/vendor/plugins/attribute_fu/test/script/destroy +0 -3
- data/vendor/plugins/attribute_fu/test/script/generate +0 -3
- data/vendor/plugins/attribute_fu/test/script/server +0 -3
- data/vendor/plugins/attribute_fu/test/test/test_helper.rb +0 -6
- data/vendor/plugins/attribute_fu/test/test/unit/associated_form_helper_test.rb +0 -376
- data/vendor/plugins/attribute_fu/test/test/unit/comment_test.rb +0 -6
- data/vendor/plugins/attribute_fu/test/test/unit/photo_test.rb +0 -149
- data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/init.rb +0 -3
- data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda.rb +0 -20
- data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb +0 -338
- data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/context.rb +0 -143
- data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/general.rb +0 -119
- data/vendor/plugins/attribute_fu/test/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb +0 -17
- data/vendor/plugins/calendar_date_select/CHANGELOG +0 -170
- data/vendor/plugins/calendar_date_select/README +0 -10
- data/vendor/plugins/calendar_date_select/lib/includes_helper.rb +0 -22
- data/vendor/plugins/calendar_date_select/test/functional/calendar_date_select_test.rb +0 -95
- data/vendor/plugins/calendar_date_select/test/functional/helper_methods_test.rb +0 -15
- data/vendor/plugins/calendar_date_select/test/test_helper.rb +0 -26
- data/vendor/plugins/globalite/CHANGELOG +0 -22
- data/vendor/plugins/globalite/README +0 -199
- data/vendor/plugins/globalite/README.rdoc +0 -199
- data/vendor/plugins/globalite/Rakefile +0 -32
- data/vendor/plugins/globalite/globalite.gemspec +0 -14
- data/vendor/plugins/globalite/init.rb +0 -1
- data/vendor/plugins/globalite/install.rb +0 -1
- data/vendor/plugins/globalite/lang/rails/de-DE.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/en-UK.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/en-US.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/es-AR.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/es-ES.yml +0 -359
- data/vendor/plugins/globalite/lang/rails/fi-FI.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/fr-FR.yml +0 -359
- data/vendor/plugins/globalite/lang/rails/hu-HU.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/it.yml +0 -358
- data/vendor/plugins/globalite/lang/rails/nl-NL.yml +0 -347
- data/vendor/plugins/globalite/lang/rails/pl-PL.yml +0 -358
- data/vendor/plugins/globalite/lang/rails/pt-BR.yml +0 -324
- data/vendor/plugins/globalite/lang/rails/pt-PT.yml +0 -324
- data/vendor/plugins/globalite/lang/rails/ru-RU.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/sr-CP.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/sr-SR.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/tr.yml +0 -186
- data/vendor/plugins/globalite/lang/rails/zh-CN.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/zh-HK.yml +0 -357
- data/vendor/plugins/globalite/lang/rails/zh-TW.yml +0 -357
- data/vendor/plugins/globalite/lib/globalite.rb +0 -28
- data/vendor/plugins/globalite/lib/globalite/l10n.rb +0 -302
- data/vendor/plugins/globalite/lib/globalite/locale.rb +0 -56
- data/vendor/plugins/globalite/lib/rails/core_ext.rb +0 -19
- data/vendor/plugins/globalite/lib/rails/localization.rb +0 -58
- data/vendor/plugins/globalite/lib/rails/localized_action_view.rb +0 -211
- data/vendor/plugins/globalite/lib/rails/localized_active_record.rb +0 -80
- data/vendor/plugins/globalite/spec/core_localization_spec.rb +0 -116
- data/vendor/plugins/globalite/spec/helpers/spec_helper.rb +0 -16
- data/vendor/plugins/globalite/spec/l10n_spec.rb +0 -251
- data/vendor/plugins/globalite/spec/lang/rails/zz.yml +0 -13
- data/vendor/plugins/globalite/spec/lang/ui/en-UK.yml +0 -3
- data/vendor/plugins/globalite/spec/lang/ui/en-US.yml +0 -3
- data/vendor/plugins/globalite/spec/lang/ui/es.yml +0 -3
- data/vendor/plugins/globalite/spec/lang/ui/fr-FR.yml +0 -8
- data/vendor/plugins/globalite/tasks/cruise.rake +0 -4
- data/vendor/plugins/globalite/tasks/globalite_tasks.rake +0 -47
- data/vendor/plugins/globalite/uninstall.rb +0 -1
- data/vendor/plugins/rspec-rails/CHANGES +0 -26
- data/vendor/plugins/rspec-rails/MIT-LICENSE +0 -31
- data/vendor/plugins/rspec-rails/README +0 -3
- data/vendor/plugins/rspec-rails/UPGRADE +0 -7
- data/vendor/plugins/rspec-rails/generators/rspec/templates/all_stories.rb +0 -4
- data/vendor/plugins/rspec-rails/generators/rspec/templates/stories_helper.rb +0 -3
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/object.rb +0 -5
- data/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb +0 -71
- data/vendor/plugins/rspec-rails/spec/rails/autotest/mappings_spec.rb +0 -36
- data/vendor/plugins/rspec-rails/spec/rails/autotest/rails_rspec_spec.rb +0 -8
- data/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb +0 -60
- data/vendor/plugins/rspec-rails/spec/rails/example/configuration_spec.rb +0 -83
- data/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb +0 -62
- data/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb +0 -206
- data/vendor/plugins/rspec-rails/spec/rails/example/example_group_factory_spec.rb +0 -112
- data/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb +0 -161
- data/vendor/plugins/rspec-rails/spec/rails/example/model_spec_spec.rb +0 -18
- data/vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb +0 -16
- data/vendor/plugins/rspec-rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb +0 -33
- data/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb +0 -272
- data/vendor/plugins/rspec-rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +0 -54
- data/vendor/plugins/rspec-rails/spec/rails/extensions/action_view_base_spec.rb +0 -48
- data/vendor/plugins/rspec-rails/spec/rails/extensions/active_record_spec.rb +0 -14
- data/vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb +0 -806
- data/vendor/plugins/rspec-rails/spec/rails/matchers/description_generation_spec.rb +0 -37
- data/vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb +0 -13
- data/vendor/plugins/rspec-rails/spec/rails/matchers/have_text_spec.rb +0 -62
- data/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb +0 -70
- data/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb +0 -209
- data/vendor/plugins/rspec-rails/spec/rails/matchers/render_spec.rb +0 -169
- data/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb +0 -64
- data/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb +0 -79
- data/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb +0 -8
- data/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb +0 -8
- data/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb +0 -96
- data/vendor/plugins/rspec-rails/spec/rails/spec_spec.rb +0 -11
- data/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb +0 -68
- data/vendor/plugins/rspec-rails/spec_resources/controllers/redirect_spec_controller.rb +0 -59
- data/vendor/plugins/rspec-rails/spec_resources/controllers/render_spec_controller.rb +0 -26
- data/vendor/plugins/rspec-rails/spec_resources/helpers/explicit_helper.rb +0 -34
- data/vendor/plugins/rspec-rails/stories/all.rb +0 -10
- data/vendor/plugins/rspec-rails/stories/helper.rb +0 -5
- data/vendor/plugins/rspec-rails/stories/steps/people.rb +0 -8
- data/vendor/plugins/rspec-rails/stories/transactions_should_rollback +0 -15
- data/vendor/plugins/rspec-rails/stories/transactions_should_rollback.rb +0 -25
- data/vendor/plugins/rspec-rails/tasks/rspec.rake +0 -137
- data/vendor/plugins/rspec/CHANGES +0 -1104
- data/vendor/plugins/rspec/MIT-LICENSE +0 -20
- data/vendor/plugins/rspec/README +0 -36
- data/vendor/plugins/rspec/TODO +0 -1
- data/vendor/plugins/rspec/bin/spec_translator +0 -8
- data/vendor/plugins/rspec/examples/pure/autogenerated_docstrings_example.rb +0 -19
- data/vendor/plugins/rspec/examples/pure/custom_formatter.rb +0 -12
- data/vendor/plugins/rspec/examples/pure/dynamic_spec.rb +0 -9
- data/vendor/plugins/rspec/examples/pure/shared_example_group_example.rb +0 -81
- data/vendor/plugins/rspec/examples/pure/shared_stack_examples.rb +0 -38
- data/vendor/plugins/rspec/examples/pure/stack_spec.rb +0 -63
- data/vendor/plugins/rspec/examples/stories/adder.rb +0 -13
- data/vendor/plugins/rspec/examples/stories/addition +0 -34
- data/vendor/plugins/rspec/examples/stories/addition.rb +0 -9
- data/vendor/plugins/rspec/examples/stories/calculator.rb +0 -65
- data/vendor/plugins/rspec/examples/stories/game-of-life/README.txt +0 -21
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/everything.rb +0 -6
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
- data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
- data/vendor/plugins/rspec/examples/stories/game-of-life/life.rb +0 -3
- data/vendor/plugins/rspec/examples/stories/game-of-life/life/game.rb +0 -23
- data/vendor/plugins/rspec/examples/stories/game-of-life/life/grid.rb +0 -43
- data/vendor/plugins/rspec/examples/stories/helper.rb +0 -9
- data/vendor/plugins/rspec/examples/stories/steps/addition_steps.rb +0 -18
- data/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +0 -10
- data/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +0 -10
- data/vendor/plugins/rspec/failing_examples/predicate_example.rb +0 -29
- data/vendor/plugins/rspec/failing_examples/spec_helper.rb +0 -3
- data/vendor/plugins/rspec/lib/spec/adapters.rb +0 -1
- data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine.rb +0 -26
- data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/mri.rb +0 -8
- data/vendor/plugins/rspec/lib/spec/adapters/ruby_engine/rubinius.rb +0 -8
- data/vendor/plugins/rspec/lib/spec/example/configuration.rb +0 -158
- data/vendor/plugins/rspec/lib/spec/example/module_inclusion_warnings.rb +0 -37
- data/vendor/plugins/rspec/lib/spec/extensions.rb +0 -4
- data/vendor/plugins/rspec/lib/spec/extensions/class.rb +0 -24
- data/vendor/plugins/rspec/lib/spec/extensions/main.rb +0 -102
- data/vendor/plugins/rspec/lib/spec/extensions/metaclass.rb +0 -7
- data/vendor/plugins/rspec/lib/spec/extensions/object.rb +0 -6
- data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +0 -31
- data/vendor/plugins/rspec/lib/spec/translator.rb +0 -114
- data/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +0 -23
- data/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +0 -19
- data/vendor/plugins/rspec/plugins/mock_frameworks/rr.rb +0 -21
- data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +0 -20
- data/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +0 -9
- data/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +0 -7
- data/vendor/plugins/rspec/spec/autotest_helper.rb +0 -6
- data/vendor/plugins/rspec/spec/spec/adapters/ruby_engine_spec.rb +0 -16
- data/vendor/plugins/rspec/spec/spec/example/configuration_spec.rb +0 -282
- data/vendor/plugins/rspec/spec/spec/example/example_group/described_module_spec.rb +0 -20
- data/vendor/plugins/rspec/spec/spec/example/example_group/warning_messages_spec.rb +0 -76
- data/vendor/plugins/rspec/spec/spec/example/example_spec.rb +0 -53
- data/vendor/plugins/rspec/spec/spec/extensions/main_spec.rb +0 -76
- data/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +0 -37
- data/vendor/plugins/rspec/spec/spec/translator_spec.rb +0 -265
- data/vendor/plugins/rspec/stories/all.rb +0 -5
- data/vendor/plugins/rspec/stories/example_groups/autogenerated_docstrings +0 -45
- data/vendor/plugins/rspec/stories/example_groups/example_group_with_should_methods +0 -17
- data/vendor/plugins/rspec/stories/example_groups/nested_groups +0 -17
- data/vendor/plugins/rspec/stories/example_groups/output +0 -25
- data/vendor/plugins/rspec/stories/example_groups/stories.rb +0 -7
- data/vendor/plugins/rspec/stories/helper.rb +0 -6
- data/vendor/plugins/rspec/stories/interop/examples_and_tests_together +0 -30
- data/vendor/plugins/rspec/stories/interop/stories.rb +0 -7
- data/vendor/plugins/rspec/stories/interop/test_case_with_should_methods +0 -17
- data/vendor/plugins/rspec/stories/mock_framework_integration/stories.rb +0 -7
- data/vendor/plugins/rspec/stories/mock_framework_integration/use_flexmock.story +0 -9
- data/vendor/plugins/rspec/stories/pending_stories/README +0 -3
- data/vendor/plugins/rspec/stories/resources/helpers/story_helper.rb +0 -16
- data/vendor/plugins/rspec/stories/resources/spec/example_group_with_should_methods.rb +0 -12
- data/vendor/plugins/rspec/stories/resources/spec/simple_spec.rb +0 -8
- data/vendor/plugins/rspec/stories/resources/spec/spec_with_flexmock.rb +0 -18
- data/vendor/plugins/rspec/stories/resources/steps/running_rspec.rb +0 -50
- data/vendor/plugins/rspec/stories/resources/stories/failing_story.rb +0 -15
- data/vendor/plugins/rspec/stories/resources/test/spec_and_test_together.rb +0 -57
- data/vendor/plugins/rspec/stories/resources/test/test_case_with_should_methods.rb +0 -30
- data/vendor/plugins/rspec/stories/stories/multiline_steps.story +0 -23
- data/vendor/plugins/rspec/stories/stories/steps/multiline_steps.rb +0 -13
- data/vendor/plugins/rspec/stories/stories/stories.rb +0 -6
@@ -0,0 +1,70 @@
|
|
1
|
+
|
2
|
+
require 'initializer' unless defined? ::Rails::Initializer
|
3
|
+
require 'dispatcher' unless defined? ::ActionController::Dispatcher
|
4
|
+
|
5
|
+
module HasManyPolymorphs
|
6
|
+
|
7
|
+
=begin rdoc
|
8
|
+
Searches for models that use <tt>has_many_polymorphs</tt> or <tt>acts_as_double_polymorphic_join</tt> and makes sure that they get loaded during app initialization. This ensures that helper methods are injected into the target classes.
|
9
|
+
|
10
|
+
Note that you can override DEFAULT_OPTIONS via Rails::Configuration#has_many_polymorphs_options. For example, if you need an application extension to be required before has_many_polymorphs loads your models, add an <tt>after_initialize</tt> block in <tt>config/environment.rb</tt> that appends to the <tt>'requirements'</tt> key:
|
11
|
+
Rails::Initializer.run do |config|
|
12
|
+
# your other configuration here
|
13
|
+
|
14
|
+
config.after_initialize do
|
15
|
+
config.has_many_polymorphs_options['requirements'] << 'lib/my_extension'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
=end
|
20
|
+
|
21
|
+
DEFAULT_OPTIONS = {
|
22
|
+
:file_pattern => "#{RAILS_ROOT}/app/models/**/*.rb",
|
23
|
+
:file_exclusions => ['svn', 'CVS', 'bzr'],
|
24
|
+
:methods => ['has_many_polymorphs', 'acts_as_double_polymorphic_join'],
|
25
|
+
:requirements => []}
|
26
|
+
|
27
|
+
mattr_accessor :options
|
28
|
+
@@options = HashWithIndifferentAccess.new(DEFAULT_OPTIONS)
|
29
|
+
|
30
|
+
# Dispatcher callback to load polymorphic relationships from the top down.
|
31
|
+
def self.autoload
|
32
|
+
|
33
|
+
_logger_debug "autoload hook invoked"
|
34
|
+
|
35
|
+
options[:requirements].each do |requirement|
|
36
|
+
_logger_warn "forcing requirement load of #{requirement}"
|
37
|
+
require requirement
|
38
|
+
end
|
39
|
+
|
40
|
+
Dir[options[:file_pattern]].each do |filename|
|
41
|
+
next if filename =~ /#{options[:file_exclusions].join("|")}/
|
42
|
+
open filename do |file|
|
43
|
+
if file.grep(/#{options[:methods].join("|")}/).any?
|
44
|
+
begin
|
45
|
+
model = File.basename(filename)[0..-4].camelize
|
46
|
+
_logger_warn "preloading parent model #{model}"
|
47
|
+
model.constantize
|
48
|
+
rescue Object => e
|
49
|
+
_logger_warn "#{model} could not be preloaded: #{e.inspect}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
class Rails::Initializer #:nodoc:
|
59
|
+
# Make sure it gets loaded in the console, tests, and migrations
|
60
|
+
def after_initialize_with_autoload
|
61
|
+
after_initialize_without_autoload
|
62
|
+
HasManyPolymorphs.autoload
|
63
|
+
end
|
64
|
+
alias_method_chain :after_initialize, :autoload
|
65
|
+
end
|
66
|
+
|
67
|
+
Dispatcher.to_prepare(:has_many_polymorphs_autoload) do
|
68
|
+
# Make sure it gets loaded in the app
|
69
|
+
HasManyPolymorphs.autoload
|
70
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
|
2
|
+
module ActiveRecord
|
3
|
+
class Base
|
4
|
+
|
5
|
+
class << self
|
6
|
+
|
7
|
+
# Interprets a polymorphic row from a unified SELECT, returning the appropriate ActiveRecord instance. Overrides ActiveRecord::Base.instantiate_without_callbacks.
|
8
|
+
def instantiate_with_polymorphic_checks(record)
|
9
|
+
if record['polymorphic_parent_class']
|
10
|
+
reflection = record['polymorphic_parent_class'].constantize.reflect_on_association(record['polymorphic_association_id'].to_sym)
|
11
|
+
# _logger_debug "Instantiating a polymorphic row for #{record['polymorphic_parent_class']}.reflect_on_association(:#{record['polymorphic_association_id']})"
|
12
|
+
|
13
|
+
# rewrite the record with the right column names
|
14
|
+
table_aliases = reflection.options[:table_aliases].dup
|
15
|
+
record = Hash[*table_aliases.keys.map {|key| [key, record[table_aliases[key]]] }.flatten]
|
16
|
+
|
17
|
+
# find the real child class
|
18
|
+
klass = record["#{self.table_name}.#{reflection.options[:polymorphic_type_key]}"].constantize
|
19
|
+
if sti_klass = record["#{klass.table_name}.#{klass.inheritance_column}"]
|
20
|
+
klass = klass.class_eval do compute_type(sti_klass) end # in case of namespaced STI models
|
21
|
+
end
|
22
|
+
|
23
|
+
# check that the join actually joined to something
|
24
|
+
unless (child_id = record["#{self.table_name}.#{reflection.options[:polymorphic_key]}"]) == record["#{klass.table_name}.#{klass.primary_key}"]
|
25
|
+
raise ActiveRecord::Associations::PolymorphicError,
|
26
|
+
"Referential integrity violation; child <#{klass.name}:#{child_id}> was not found for #{reflection.name.inspect}"
|
27
|
+
end
|
28
|
+
|
29
|
+
# eject the join keys
|
30
|
+
# XXX not very readable
|
31
|
+
record = Hash[*record._select do |column, value|
|
32
|
+
column[/^#{klass.table_name}/]
|
33
|
+
end.map do |column, value|
|
34
|
+
[column[/\.(.*)/, 1], value]
|
35
|
+
end.flatten]
|
36
|
+
|
37
|
+
# allocate and assign values
|
38
|
+
returning(klass.allocate) do |obj|
|
39
|
+
obj.instance_variable_set("@attributes", record)
|
40
|
+
obj.instance_variable_set("@attributes_cache", Hash.new)
|
41
|
+
|
42
|
+
if obj.respond_to_without_attributes?(:after_find)
|
43
|
+
obj.send(:callback, :after_find)
|
44
|
+
end
|
45
|
+
|
46
|
+
if obj.respond_to_without_attributes?(:after_initialize)
|
47
|
+
obj.send(:callback, :after_initialize)
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
else
|
52
|
+
instantiate_without_polymorphic_checks(record)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
alias_method_chain :instantiate, :polymorphic_checks
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,600 @@
|
|
1
|
+
|
2
|
+
module ActiveRecord #:nodoc:
|
3
|
+
module Associations #:nodoc:
|
4
|
+
|
5
|
+
=begin rdoc
|
6
|
+
|
7
|
+
Class methods added to ActiveRecord::Base for setting up polymorphic associations.
|
8
|
+
|
9
|
+
== Notes
|
10
|
+
|
11
|
+
STI association targets must enumerated and named. For example, if Dog and Cat both inherit from Animal, you still need to say <tt>[:dogs, :cats]</tt>, and not <tt>[:animals]</tt>.
|
12
|
+
|
13
|
+
Namespaced models follow the Rails <tt>underscore</tt> convention. ZooAnimal::Lion becomes <tt>:'zoo_animal/lion'</tt>.
|
14
|
+
|
15
|
+
You do not need to set up any other associations other than for either the regular method or the double. The join associations and all individual and reverse associations are generated for you. However, a join model and table are required.
|
16
|
+
|
17
|
+
There is a tentative report that you can make the parent model be its own join model, but this is untested.
|
18
|
+
|
19
|
+
=end
|
20
|
+
|
21
|
+
module PolymorphicClassMethods
|
22
|
+
|
23
|
+
RESERVED_DOUBLES_KEYS = [:conditions, :order, :limit, :offset, :extend, :skip_duplicates,
|
24
|
+
:join_extend, :dependent, :rename_individual_collections,
|
25
|
+
:namespace] #:nodoc:
|
26
|
+
|
27
|
+
=begin rdoc
|
28
|
+
|
29
|
+
This method creates a doubled-sided polymorphic relationship. It must be called on the join model:
|
30
|
+
|
31
|
+
class Devouring < ActiveRecord::Base
|
32
|
+
belongs_to :eater, :polymorphic => true
|
33
|
+
belongs_to :eaten, :polymorphic => true
|
34
|
+
|
35
|
+
acts_as_double_polymorphic_join(
|
36
|
+
:eaters => [:dogs, :cats],
|
37
|
+
:eatens => [:cats, :birds]
|
38
|
+
)
|
39
|
+
end
|
40
|
+
|
41
|
+
The method works by defining one or more special <tt>has_many_polymorphs</tt> association on every model in the target lists, depending on which side of the association it is on. Double self-references will work.
|
42
|
+
|
43
|
+
The two association names and their value arrays are the only required parameters.
|
44
|
+
|
45
|
+
== Available options
|
46
|
+
|
47
|
+
These options are passed through to targets on both sides of the association. If you want to affect only one side, prepend the key with the name of that side. For example, <tt>:eaters_extend</tt>.
|
48
|
+
|
49
|
+
<tt>:dependent</tt>:: Accepts <tt>:destroy</tt>, <tt>:nullify</tt>, or <tt>:delete_all</tt>. Controls how the join record gets treated on any association delete (whether from the polymorph or from an individual collection); defaults to <tt>:destroy</tt>.
|
50
|
+
<tt>:skip_duplicates</tt>:: If <tt>true</tt>, will check to avoid pushing already associated records (but also triggering a database load). Defaults to <tt>true</tt>.
|
51
|
+
<tt>:rename_individual_collections</tt>:: If <tt>true</tt>, all individual collections are prepended with the polymorph name, and the children's parent collection is appended with <tt>"\_of_#{association_name}"</tt>.
|
52
|
+
<tt>:extend</tt>:: One or an array of mixed modules and procs, which are applied to the polymorphic association (usually to define custom methods).
|
53
|
+
<tt>:join_extend</tt>:: One or an array of mixed modules and procs, which are applied to the join association.
|
54
|
+
<tt>:conditions</tt>:: An array or string of conditions for the SQL <tt>WHERE</tt> clause.
|
55
|
+
<tt>:order</tt>:: A string for the SQL <tt>ORDER BY</tt> clause.
|
56
|
+
<tt>:limit</tt>:: An integer. Affects the polymorphic and individual associations.
|
57
|
+
<tt>:offset</tt>:: An integer. Only affects the polymorphic association.
|
58
|
+
<tt>:namespace</tt>:: A symbol. Prepended to all the models in the <tt>:from</tt> and <tt>:through</tt> keys. This is especially useful for Camping, which namespaces models by default.
|
59
|
+
|
60
|
+
=end
|
61
|
+
|
62
|
+
def acts_as_double_polymorphic_join options={}, &extension
|
63
|
+
|
64
|
+
collections, options = extract_double_collections(options)
|
65
|
+
|
66
|
+
# handle the block
|
67
|
+
options[:extend] = (if options[:extend]
|
68
|
+
Array(options[:extend]) + [extension]
|
69
|
+
else
|
70
|
+
extension
|
71
|
+
end) if extension
|
72
|
+
|
73
|
+
collection_option_keys = make_general_option_keys_specific!(options, collections)
|
74
|
+
|
75
|
+
join_name = self.name.tableize.to_sym
|
76
|
+
collections.each do |association_id, children|
|
77
|
+
parent_hash_key = (collections.keys - [association_id]).first # parents are the entries in the _other_ children array
|
78
|
+
|
79
|
+
begin
|
80
|
+
parent_foreign_key = self.reflect_on_association(parent_hash_key._singularize).primary_key_name
|
81
|
+
rescue NoMethodError
|
82
|
+
raise PolymorphicError, "Couldn't find 'belongs_to' association for :#{parent_hash_key._singularize} in #{self.name}." unless parent_foreign_key
|
83
|
+
end
|
84
|
+
|
85
|
+
parents = collections[parent_hash_key]
|
86
|
+
conflicts = (children & parents) # set intersection
|
87
|
+
parents.each do |plural_parent_name|
|
88
|
+
|
89
|
+
parent_class = plural_parent_name._as_class
|
90
|
+
singular_reverse_association_id = parent_hash_key._singularize
|
91
|
+
|
92
|
+
internal_options = {
|
93
|
+
:is_double => true,
|
94
|
+
:from => children,
|
95
|
+
:as => singular_reverse_association_id,
|
96
|
+
:through => join_name.to_sym,
|
97
|
+
:foreign_key => parent_foreign_key,
|
98
|
+
:foreign_type_key => parent_foreign_key.to_s.sub(/_id$/, '_type'),
|
99
|
+
:singular_reverse_association_id => singular_reverse_association_id,
|
100
|
+
:conflicts => conflicts
|
101
|
+
}
|
102
|
+
|
103
|
+
general_options = Hash[*options._select do |key, value|
|
104
|
+
collection_option_keys[association_id].include? key and !value.nil?
|
105
|
+
end.map do |key, value|
|
106
|
+
[key.to_s[association_id.to_s.length+1..-1].to_sym, value]
|
107
|
+
end._flatten_once] # rename side-specific options to general names
|
108
|
+
|
109
|
+
general_options.each do |key, value|
|
110
|
+
# avoid clobbering keys that appear in both option sets
|
111
|
+
if internal_options[key]
|
112
|
+
general_options[key] = Array(value) + Array(internal_options[key])
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
parent_class.send(:has_many_polymorphs, association_id, internal_options.merge(general_options))
|
117
|
+
|
118
|
+
if conflicts.include? plural_parent_name
|
119
|
+
# unify the alternate sides of the conflicting children
|
120
|
+
(conflicts).each do |method_name|
|
121
|
+
unless parent_class.instance_methods.include?(method_name)
|
122
|
+
parent_class.send(:define_method, method_name) do
|
123
|
+
(self.send("#{singular_reverse_association_id}_#{method_name}") +
|
124
|
+
self.send("#{association_id._singularize}_#{method_name}")).freeze
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
# unify the join model... join model is always renamed for doubles, unlike child associations
|
130
|
+
unless parent_class.instance_methods.include?(join_name)
|
131
|
+
parent_class.send(:define_method, join_name) do
|
132
|
+
(self.send("#{join_name}_as_#{singular_reverse_association_id}") +
|
133
|
+
self.send("#{join_name}_as_#{association_id._singularize}")).freeze
|
134
|
+
end
|
135
|
+
end
|
136
|
+
else
|
137
|
+
unless parent_class.instance_methods.include?(join_name)
|
138
|
+
parent_class.send(:alias_method, join_name, "#{join_name}_as_#{singular_reverse_association_id}")
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
private
|
147
|
+
|
148
|
+
def extract_double_collections(options)
|
149
|
+
collections = options._select do |key, value|
|
150
|
+
value.is_a? Array and key.to_s !~ /(#{RESERVED_DOUBLES_KEYS.map(&:to_s).join('|')})$/
|
151
|
+
end
|
152
|
+
|
153
|
+
raise PolymorphicError, "Couldn't understand options in acts_as_double_polymorphic_join. Valid parameters are your two class collections, and then #{RESERVED_DOUBLES_KEYS.inspect[1..-2]}, with optionally your collection names prepended and joined with an underscore." unless collections.size == 2
|
154
|
+
|
155
|
+
options = options._select do |key, value|
|
156
|
+
!collections[key]
|
157
|
+
end
|
158
|
+
|
159
|
+
[collections, options]
|
160
|
+
end
|
161
|
+
|
162
|
+
def make_general_option_keys_specific!(options, collections)
|
163
|
+
collection_option_keys = Hash[*collections.keys.map do |key|
|
164
|
+
[key, RESERVED_DOUBLES_KEYS.map{|option| "#{key}_#{option}".to_sym}]
|
165
|
+
end._flatten_once]
|
166
|
+
|
167
|
+
collections.keys.each do |collection|
|
168
|
+
options.each do |key, value|
|
169
|
+
next if collection_option_keys.values.flatten.include? key
|
170
|
+
# shift the general options to the individual sides
|
171
|
+
collection_key = "#{collection}_#{key}".to_sym
|
172
|
+
collection_value = options[collection_key]
|
173
|
+
case key
|
174
|
+
when :conditions
|
175
|
+
collection_value, value = sanitize_sql(collection_value), sanitize_sql(value)
|
176
|
+
options[collection_key] = (collection_value ? "(#{collection_value}) AND (#{value})" : value)
|
177
|
+
when :order
|
178
|
+
options[collection_key] = (collection_value ? "#{collection_value}, #{value}" : value)
|
179
|
+
when :extend, :join_extend
|
180
|
+
options[collection_key] = Array(collection_value) + Array(value)
|
181
|
+
else
|
182
|
+
options[collection_key] ||= value
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
collection_option_keys
|
188
|
+
end
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
public
|
193
|
+
|
194
|
+
=begin rdoc
|
195
|
+
|
196
|
+
This method createds a single-sided polymorphic relationship.
|
197
|
+
|
198
|
+
class Petfood < ActiveRecord::Base
|
199
|
+
has_many_polymorphs :eaters, :from => [:dogs, :cats, :birds]
|
200
|
+
end
|
201
|
+
|
202
|
+
The only required parameter, aside from the association name, is <tt>:from</tt>.
|
203
|
+
|
204
|
+
The method generates a number of associations aside from the polymorphic one. In this example Petfood also gets <tt>dogs</tt>, <tt>cats</tt>, and <tt>birds</tt>, and Dog, Cat, and Bird get <tt>petfoods</tt>. (The reverse association to the parents is always plural.)
|
205
|
+
|
206
|
+
== Available options
|
207
|
+
|
208
|
+
<tt>:from</tt>:: An array of symbols representing the target models. Required.
|
209
|
+
<tt>:as</tt>:: A symbol for the parent's interface in the join--what the parent 'acts as'.
|
210
|
+
<tt>:through</tt>:: A symbol representing the class of the join model. Follows Rails defaults if not supplied (the parent and the association names, alphabetized, concatenated with an underscore, and singularized).
|
211
|
+
<tt>:dependent</tt>:: Accepts <tt>:destroy</tt>, <tt>:nullify</tt>, <tt>:delete_all</tt>. Controls how the join record gets treated on any associate delete (whether from the polymorph or from an individual collection); defaults to <tt>:destroy</tt>.
|
212
|
+
<tt>:skip_duplicates</tt>:: If <tt>true</tt>, will check to avoid pushing already associated records (but also triggering a database load). Defaults to <tt>true</tt>.
|
213
|
+
<tt>:rename_individual_collections</tt>:: If <tt>true</tt>, all individual collections are prepended with the polymorph name, and the children's parent collection is appended with "_of_#{association_name}"</tt>. For example, <tt>zoos</tt> becomes <tt>zoos_of_animals</tt>. This is to help avoid method name collisions in crowded classes.
|
214
|
+
<tt>:extend</tt>:: One or an array of mixed modules and procs, which are applied to the polymorphic association (usually to define custom methods).
|
215
|
+
<tt>:join_extend</tt>:: One or an array of mixed modules and procs, which are applied to the join association.
|
216
|
+
<tt>:parent_extend</tt>:: One or an array of mixed modules and procs, which are applied to the target models' association to the parents.
|
217
|
+
<tt>:conditions</tt>:: An array or string of conditions for the SQL <tt>WHERE</tt> clause.
|
218
|
+
<tt>:parent_conditions</tt>:: An array or string of conditions which are applied to the target models' association to the parents.
|
219
|
+
<tt>:order</tt>:: A string for the SQL <tt>ORDER BY</tt> clause.
|
220
|
+
<tt>:parent_order</tt>:: A string for the SQL <tt>ORDER BY</tt> which is applied to the target models' association to the parents.
|
221
|
+
<tt>:group</tt>:: An array or string of conditions for the SQL <tt>GROUP BY</tt> clause. Affects the polymorphic and individual associations.
|
222
|
+
<tt>:limit</tt>:: An integer. Affects the polymorphic and individual associations.
|
223
|
+
<tt>:offset</tt>:: An integer. Only affects the polymorphic association.
|
224
|
+
<tt>:namespace</tt>:: A symbol. Prepended to all the models in the <tt>:from</tt> and <tt>:through</tt> keys. This is especially useful for Camping, which namespaces models by default.
|
225
|
+
<tt>:uniq</tt>:: If <tt>true</tt>, the records returned are passed through a pure-Ruby <tt>uniq</tt> before they are returned. Rarely needed.
|
226
|
+
<tt>:foreign_key</tt>:: The column name for the parent's id in the join.
|
227
|
+
<tt>:foreign_type_key</tt>:: The column name for the parent's class name in the join, if the parent itself is polymorphic. Rarely needed--if you're thinking about using this, you almost certainly want to use <tt>acts_as_double_polymorphic_join()</tt> instead.
|
228
|
+
<tt>:polymorphic_key</tt>:: The column name for the child's id in the join.
|
229
|
+
<tt>:polymorphic_type_key</tt>:: The column name for the child's class name in the join.
|
230
|
+
|
231
|
+
If you pass a block, it gets converted to a Proc and added to <tt>:extend</tt>.
|
232
|
+
|
233
|
+
== On condition nullification
|
234
|
+
|
235
|
+
When you request an individual association, non-applicable but fully-qualified fields in the polymorphic association's <tt>:conditions</tt>, <tt>:order</tt>, and <tt>:group</tt> options get changed to <tt>NULL</tt>. For example, if you set <tt>:conditions => "dogs.name != 'Spot'"</tt>, when you request <tt>.cats</tt>, the conditions string is changed to <tt>NULL != 'Spot'</tt>.
|
236
|
+
|
237
|
+
Be aware, however, that <tt>NULL != 'Spot'</tt> returns <tt>false</tt> due to SQL's 3-value logic. Instead, you need to use the <tt>:conditions</tt> string <tt>"dogs.name IS NULL OR dogs.name != 'Spot'"</tt> to get the behavior you probably expect for negative matches.
|
238
|
+
|
239
|
+
=end
|
240
|
+
|
241
|
+
def has_many_polymorphs (association_id, options = {}, &extension)
|
242
|
+
_logger_debug "associating #{self}.#{association_id}"
|
243
|
+
reflection = create_has_many_polymorphs_reflection(association_id, options, &extension)
|
244
|
+
# puts "Created reflection #{reflection.inspect}"
|
245
|
+
# configure_dependency_for_has_many(reflection)
|
246
|
+
collection_reader_method(reflection, PolymorphicAssociation)
|
247
|
+
end
|
248
|
+
|
249
|
+
# Composed method that assigns option defaults, builds the reflection object, and sets up all the related associations on the parent, join, and targets.
|
250
|
+
def create_has_many_polymorphs_reflection(association_id, options, &extension) #:nodoc:
|
251
|
+
options.assert_valid_keys(
|
252
|
+
:from,
|
253
|
+
:as,
|
254
|
+
:through,
|
255
|
+
:foreign_key,
|
256
|
+
:foreign_type_key,
|
257
|
+
:polymorphic_key, # same as :association_foreign_key
|
258
|
+
:polymorphic_type_key,
|
259
|
+
:dependent, # default :destroy, only affects the join table
|
260
|
+
:skip_duplicates, # default true, only affects the polymorphic collection
|
261
|
+
:ignore_duplicates, # deprecated
|
262
|
+
:is_double,
|
263
|
+
:rename_individual_collections,
|
264
|
+
:reverse_association_id, # not used
|
265
|
+
:singular_reverse_association_id,
|
266
|
+
:conflicts,
|
267
|
+
:extend,
|
268
|
+
:join_class_name,
|
269
|
+
:join_extend,
|
270
|
+
:parent_extend,
|
271
|
+
:table_aliases,
|
272
|
+
:select, # applies to the polymorphic relationship
|
273
|
+
:conditions, # applies to the polymorphic relationship, the children, and the join
|
274
|
+
# :include,
|
275
|
+
:parent_conditions,
|
276
|
+
:parent_order,
|
277
|
+
:order, # applies to the polymorphic relationship, the children, and the join
|
278
|
+
:group, # only applies to the polymorphic relationship and the children
|
279
|
+
:limit, # only applies to the polymorphic relationship and the children
|
280
|
+
:offset, # only applies to the polymorphic relationship
|
281
|
+
:parent_order,
|
282
|
+
:parent_group,
|
283
|
+
:parent_limit,
|
284
|
+
:parent_offset,
|
285
|
+
# :source,
|
286
|
+
:namespace,
|
287
|
+
:uniq, # XXX untested, only applies to the polymorphic relationship
|
288
|
+
# :finder_sql,
|
289
|
+
# :counter_sql,
|
290
|
+
# :before_add,
|
291
|
+
# :after_add,
|
292
|
+
# :before_remove,
|
293
|
+
# :after_remove
|
294
|
+
:dummy)
|
295
|
+
|
296
|
+
# validate against the most frequent configuration mistakes
|
297
|
+
verify_pluralization_of(association_id)
|
298
|
+
raise PolymorphicError, ":from option must be an array" unless options[:from].is_a? Array
|
299
|
+
options[:from].each{|plural| verify_pluralization_of(plural)}
|
300
|
+
|
301
|
+
options[:as] ||= self.name.demodulize.underscore.to_sym
|
302
|
+
options[:conflicts] = Array(options[:conflicts])
|
303
|
+
options[:foreign_key] ||= "#{options[:as]}_id"
|
304
|
+
|
305
|
+
options[:association_foreign_key] =
|
306
|
+
options[:polymorphic_key] ||= "#{association_id._singularize}_id"
|
307
|
+
options[:polymorphic_type_key] ||= "#{association_id._singularize}_type"
|
308
|
+
|
309
|
+
if options.has_key? :ignore_duplicates
|
310
|
+
_logger_warn "DEPRECATION WARNING: please use :skip_duplicates instead of :ignore_duplicates"
|
311
|
+
options[:skip_duplicates] = options[:ignore_duplicates]
|
312
|
+
end
|
313
|
+
options[:skip_duplicates] = true unless options.has_key? :skip_duplicates
|
314
|
+
options[:dependent] = :destroy unless options.has_key? :dependent
|
315
|
+
options[:conditions] = sanitize_sql(options[:conditions])
|
316
|
+
|
317
|
+
# options[:finder_sql] ||= "(options[:polymorphic_key]
|
318
|
+
|
319
|
+
options[:through] ||= build_join_table_symbol(association_id, (options[:as]._pluralize or self.table_name))
|
320
|
+
|
321
|
+
# set up namespaces if we have a namespace key
|
322
|
+
# XXX needs test coverage
|
323
|
+
if options[:namespace]
|
324
|
+
namespace = options[:namespace].to_s.chomp("/") + "/"
|
325
|
+
options[:from].map! do |child|
|
326
|
+
"#{namespace}#{child}".to_sym
|
327
|
+
end
|
328
|
+
options[:through] = "#{namespace}#{options[:through]}".to_sym
|
329
|
+
end
|
330
|
+
|
331
|
+
options[:join_class_name] ||= options[:through]._classify
|
332
|
+
options[:table_aliases] ||= build_table_aliases([options[:through]] + options[:from])
|
333
|
+
options[:select] ||= build_select(association_id, options[:table_aliases])
|
334
|
+
|
335
|
+
options[:through] = "#{options[:through]}_as_#{options[:singular_reverse_association_id]}" if options[:singular_reverse_association_id]
|
336
|
+
options[:through] = demodulate(options[:through]).to_sym
|
337
|
+
|
338
|
+
options[:extend] = spiked_create_extension_module(association_id, Array(options[:extend]) + Array(extension))
|
339
|
+
options[:join_extend] = spiked_create_extension_module(association_id, Array(options[:join_extend]), "Join")
|
340
|
+
options[:parent_extend] = spiked_create_extension_module(association_id, Array(options[:parent_extend]), "Parent")
|
341
|
+
|
342
|
+
# create the reflection object
|
343
|
+
returning(create_reflection(:has_many_polymorphs, association_id, options, self)) do |reflection|
|
344
|
+
# set up the other related associations
|
345
|
+
create_join_association(association_id, reflection)
|
346
|
+
create_has_many_through_associations_for_parent_to_children(association_id, reflection)
|
347
|
+
create_has_many_through_associations_for_children_to_parent(association_id, reflection)
|
348
|
+
end
|
349
|
+
end
|
350
|
+
|
351
|
+
private
|
352
|
+
|
353
|
+
|
354
|
+
# table mapping for use at the instantiation point
|
355
|
+
|
356
|
+
def build_table_aliases(from)
|
357
|
+
# for the targets
|
358
|
+
returning({}) do |aliases|
|
359
|
+
from.map(&:to_s).sort.map(&:to_sym).each_with_index do |plural, t_index|
|
360
|
+
begin
|
361
|
+
table = plural._as_class.table_name
|
362
|
+
rescue NameError => e
|
363
|
+
raise PolymorphicError, "Could not find a valid class for #{plural.inspect} (tried #{plural.to_s._classify}). If it's namespaced, be sure to specify it as :\"module/#{plural}\" instead."
|
364
|
+
end
|
365
|
+
begin
|
366
|
+
plural._as_class.columns.map(&:name).each_with_index do |field, f_index|
|
367
|
+
aliases["#{table}.#{field}"] = "t#{t_index}_r#{f_index}"
|
368
|
+
end
|
369
|
+
rescue ActiveRecord::StatementInvalid => e
|
370
|
+
_logger_warn "Looks like your table doesn't exist for #{plural.to_s._classify}.\nError #{e}\nSkipping..."
|
371
|
+
end
|
372
|
+
end
|
373
|
+
end
|
374
|
+
end
|
375
|
+
|
376
|
+
def build_select(association_id, aliases)
|
377
|
+
# <tt>instantiate</tt> has to know which reflection the results are coming from
|
378
|
+
(["\'#{self.name}\' AS polymorphic_parent_class",
|
379
|
+
"\'#{association_id}\' AS polymorphic_association_id"] +
|
380
|
+
aliases.map do |table, _alias|
|
381
|
+
"#{table} AS #{_alias}"
|
382
|
+
end.sort).join(", ")
|
383
|
+
end
|
384
|
+
|
385
|
+
# method sub-builders
|
386
|
+
|
387
|
+
def create_join_association(association_id, reflection)
|
388
|
+
|
389
|
+
options = {
|
390
|
+
:foreign_key => reflection.options[:foreign_key],
|
391
|
+
:dependent => reflection.options[:dependent],
|
392
|
+
:class_name => reflection.klass.name,
|
393
|
+
:extend => reflection.options[:join_extend]
|
394
|
+
# :limit => reflection.options[:limit],
|
395
|
+
# :offset => reflection.options[:offset],
|
396
|
+
# :order => devolve(association_id, reflection, reflection.options[:order], reflection.klass, true),
|
397
|
+
# :conditions => devolve(association_id, reflection, reflection.options[:conditions], reflection.klass, true)
|
398
|
+
}
|
399
|
+
|
400
|
+
if reflection.options[:foreign_type_key]
|
401
|
+
type_check = "#{reflection.options[:foreign_type_key]} = #{quote_value(self.base_class.name)}"
|
402
|
+
conjunction = options[:conditions] ? " AND " : nil
|
403
|
+
options[:conditions] = "#{options[:conditions]}#{conjunction}#{type_check}"
|
404
|
+
options[:as] = reflection.options[:as]
|
405
|
+
end
|
406
|
+
|
407
|
+
has_many(reflection.options[:through], options)
|
408
|
+
|
409
|
+
inject_before_save_into_join_table(association_id, reflection)
|
410
|
+
end
|
411
|
+
|
412
|
+
def inject_before_save_into_join_table(association_id, reflection)
|
413
|
+
sti_hook = "sti_class_rewrite"
|
414
|
+
rewrite_procedure = %[self.send(:#{reflection.options[:polymorphic_type_key]}=, self.#{reflection.options[:polymorphic_type_key]}.constantize.base_class.name)]
|
415
|
+
|
416
|
+
# XXX should be abstracted?
|
417
|
+
reflection.klass.class_eval %[
|
418
|
+
unless instance_methods.include? "before_save_with_#{sti_hook}"
|
419
|
+
if instance_methods.include? "before_save"
|
420
|
+
alias_method :before_save_without_#{sti_hook}, :before_save
|
421
|
+
def before_save_with_#{sti_hook}
|
422
|
+
before_save_without_#{sti_hook}
|
423
|
+
#{rewrite_procedure}
|
424
|
+
end
|
425
|
+
else
|
426
|
+
def before_save_with_#{sti_hook}
|
427
|
+
#{rewrite_procedure}
|
428
|
+
end
|
429
|
+
end
|
430
|
+
alias_method :before_save, :before_save_with_#{sti_hook}
|
431
|
+
end
|
432
|
+
]
|
433
|
+
end
|
434
|
+
|
435
|
+
def create_has_many_through_associations_for_children_to_parent(association_id, reflection)
|
436
|
+
|
437
|
+
child_pluralization_map(association_id, reflection).each do |plural, singular|
|
438
|
+
if singular == reflection.options[:as]
|
439
|
+
raise PolymorphicError, if reflection.options[:is_double]
|
440
|
+
"You can't give either of the sides in a double-polymorphic join the same name as any of the individual target classes."
|
441
|
+
else
|
442
|
+
"You can't have a self-referential polymorphic has_many :through without renaming the non-polymorphic foreign key in the join model."
|
443
|
+
end
|
444
|
+
end
|
445
|
+
|
446
|
+
parent = self
|
447
|
+
plural._as_class.instance_eval do
|
448
|
+
# this shouldn't be called at all during doubles; there is no way to traverse to a double polymorphic parent (XXX is that right?)
|
449
|
+
unless reflection.options[:is_double] or reflection.options[:conflicts].include? self.name.tableize.to_sym
|
450
|
+
|
451
|
+
# the join table
|
452
|
+
through = "#{reflection.options[:through]}#{'_as_child' if parent == self}".to_sym
|
453
|
+
has_many(through,
|
454
|
+
:as => association_id._singularize,
|
455
|
+
# :source => association_id._singularize,
|
456
|
+
# :source_type => reflection.options[:polymorphic_type_key],
|
457
|
+
:class_name => reflection.klass.name,
|
458
|
+
:dependent => reflection.options[:dependent],
|
459
|
+
:extend => reflection.options[:join_extend],
|
460
|
+
# :limit => reflection.options[:limit],
|
461
|
+
# :offset => reflection.options[:offset],
|
462
|
+
:order => devolve(association_id, reflection, reflection.options[:parent_order], reflection.klass),
|
463
|
+
:conditions => devolve(association_id, reflection, reflection.options[:parent_conditions], reflection.klass)
|
464
|
+
)
|
465
|
+
|
466
|
+
# the association to the target's parents
|
467
|
+
association = "#{reflection.options[:as]._pluralize}#{"_of_#{association_id}" if reflection.options[:rename_individual_collections]}".to_sym
|
468
|
+
has_many(association,
|
469
|
+
:through => through,
|
470
|
+
:class_name => parent.name,
|
471
|
+
:source => reflection.options[:as],
|
472
|
+
:foreign_key => reflection.options[:foreign_key],
|
473
|
+
:extend => reflection.options[:parent_extend],
|
474
|
+
:conditions => reflection.options[:parent_conditions],
|
475
|
+
:order => reflection.options[:parent_order],
|
476
|
+
:offset => reflection.options[:parent_offset],
|
477
|
+
:limit => reflection.options[:parent_limit],
|
478
|
+
:group => reflection.options[:parent_group])
|
479
|
+
|
480
|
+
# debugger if association == :parents
|
481
|
+
#
|
482
|
+
# nil
|
483
|
+
|
484
|
+
end
|
485
|
+
end
|
486
|
+
end
|
487
|
+
end
|
488
|
+
|
489
|
+
def create_has_many_through_associations_for_parent_to_children(association_id, reflection)
|
490
|
+
child_pluralization_map(association_id, reflection).each do |plural, singular|
|
491
|
+
#puts ":source => #{child}"
|
492
|
+
current_association = demodulate(child_association_map(association_id, reflection)[plural])
|
493
|
+
source = demodulate(singular)
|
494
|
+
|
495
|
+
if reflection.options[:conflicts].include? plural
|
496
|
+
# XXX check this
|
497
|
+
current_association = "#{association_id._singularize}_#{current_association}" if reflection.options[:conflicts].include? self.name.tableize.to_sym
|
498
|
+
source = "#{source}_as_#{association_id._singularize}".to_sym
|
499
|
+
end
|
500
|
+
|
501
|
+
# make push/delete accessible from the individual collections but still operate via the general collection
|
502
|
+
extension_module = self.class_eval %[
|
503
|
+
module #{self.name + current_association._classify + "PolymorphicChildAssociationExtension"}
|
504
|
+
def push *args; proxy_owner.send(:#{association_id}).send(:push, *args); self; end
|
505
|
+
alias :<< :push
|
506
|
+
def delete *args; proxy_owner.send(:#{association_id}).send(:delete, *args); end
|
507
|
+
def clear; proxy_owner.send(:#{association_id}).send(:clear, #{singular._classify}); end
|
508
|
+
self
|
509
|
+
end]
|
510
|
+
|
511
|
+
has_many(current_association.to_sym,
|
512
|
+
:through => reflection.options[:through],
|
513
|
+
:source => association_id._singularize,
|
514
|
+
:source_type => plural._as_class.base_class.name,
|
515
|
+
:class_name => plural._as_class.name, # make STI not conflate subtypes
|
516
|
+
:extend => (Array(extension_module) + reflection.options[:extend]),
|
517
|
+
:limit => reflection.options[:limit],
|
518
|
+
# :offset => reflection.options[:offset],
|
519
|
+
:order => devolve(association_id, reflection, reflection.options[:order], plural._as_class),
|
520
|
+
:conditions => devolve(association_id, reflection, reflection.options[:conditions], plural._as_class),
|
521
|
+
:group => devolve(association_id, reflection, reflection.options[:group], plural._as_class)
|
522
|
+
)
|
523
|
+
|
524
|
+
end
|
525
|
+
end
|
526
|
+
|
527
|
+
# some support methods
|
528
|
+
|
529
|
+
def child_pluralization_map(association_id, reflection)
|
530
|
+
Hash[*reflection.options[:from].map do |plural|
|
531
|
+
[plural, plural._singularize]
|
532
|
+
end.flatten]
|
533
|
+
end
|
534
|
+
|
535
|
+
def child_association_map(association_id, reflection)
|
536
|
+
Hash[*reflection.options[:from].map do |plural|
|
537
|
+
[plural, "#{association_id._singularize.to_s + "_" if reflection.options[:rename_individual_collections]}#{plural}".to_sym]
|
538
|
+
end.flatten]
|
539
|
+
end
|
540
|
+
|
541
|
+
def demodulate(s)
|
542
|
+
s.to_s.gsub('/', '_').to_sym
|
543
|
+
end
|
544
|
+
|
545
|
+
def build_join_table_symbol(association_id, name)
|
546
|
+
[name.to_s, association_id.to_s].sort.join("_").to_sym
|
547
|
+
end
|
548
|
+
|
549
|
+
def all_classes_for(association_id, reflection)
|
550
|
+
klasses = [self, reflection.klass, *child_pluralization_map(association_id, reflection).keys.map(&:_as_class)]
|
551
|
+
klasses += klasses.map(&:base_class)
|
552
|
+
klasses.uniq
|
553
|
+
end
|
554
|
+
|
555
|
+
def devolve(association_id, reflection, string, klass, remove_inappropriate_clauses = false)
|
556
|
+
# XXX remove_inappropriate_clauses is not implemented; we'll wait until someone actually needs it
|
557
|
+
return unless string
|
558
|
+
string = string.dup
|
559
|
+
# _logger_debug "devolving #{string} for #{klass}"
|
560
|
+
inappropriate_classes = (all_classes_for(association_id, reflection) - # the join class must always be preserved
|
561
|
+
[klass, klass.base_class, reflection.klass, reflection.klass.base_class])
|
562
|
+
inappropriate_classes.map do |klass|
|
563
|
+
klass.columns.map do |column|
|
564
|
+
[klass.table_name, column.name]
|
565
|
+
end.map do |table, column|
|
566
|
+
["#{table}.#{column}", "`#{table}`.#{column}", "#{table}.`#{column}`", "`#{table}`.`#{column}`"]
|
567
|
+
end
|
568
|
+
end.flatten.sort_by(&:size).reverse.each do |quoted_reference|
|
569
|
+
# _logger_debug "devolved #{quoted_reference} to NULL"
|
570
|
+
# XXX clause removal would go here
|
571
|
+
string.gsub!(quoted_reference, "NULL")
|
572
|
+
end
|
573
|
+
# _logger_debug "altered to #{string}"
|
574
|
+
string
|
575
|
+
end
|
576
|
+
|
577
|
+
def verify_pluralization_of(sym)
|
578
|
+
sym = sym.to_s
|
579
|
+
singular = sym.singularize
|
580
|
+
plural = singular.pluralize
|
581
|
+
raise PolymorphicError, "Pluralization rules not set up correctly. You passed :#{sym}, which singularizes to :#{singular}, but that pluralizes to :#{plural}, which is different. Maybe you meant :#{plural} to begin with?" unless sym == plural
|
582
|
+
end
|
583
|
+
|
584
|
+
def spiked_create_extension_module(association_id, extensions, identifier = nil)
|
585
|
+
module_extensions = extensions.select{|e| e.is_a? Module}
|
586
|
+
proc_extensions = extensions.select{|e| e.is_a? Proc }
|
587
|
+
|
588
|
+
# support namespaced anonymous blocks as well as multiple procs
|
589
|
+
proc_extensions.each_with_index do |proc_extension, index|
|
590
|
+
module_name = "#{self.to_s}#{association_id._classify}Polymorphic#{identifier}AssociationExtension#{index}"
|
591
|
+
the_module = self.class_eval "module #{module_name}; self; end" # XXX hrm
|
592
|
+
the_module.class_eval &proc_extension
|
593
|
+
module_extensions << the_module
|
594
|
+
end
|
595
|
+
module_extensions
|
596
|
+
end
|
597
|
+
|
598
|
+
end
|
599
|
+
end
|
600
|
+
end
|