spree 0.7.1 → 0.8.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 +44 -11
- data/CONTRIBUTORS +1 -1
- data/INSTALL +4 -5
- data/README.markdown +1 -34
- data/app/controllers/admin/base_controller.rb +6 -0
- data/app/controllers/admin/configurations_controller.rb +7 -1
- data/app/controllers/admin/creditcard_payments_controller.rb +6 -56
- data/app/controllers/admin/products_controller.rb +9 -0
- data/app/controllers/admin/prototypes_controller.rb +4 -8
- data/app/controllers/admin/shipments_controller.rb +37 -0
- data/{vendor/extensions/shipping/app → app}/controllers/admin/shipping_categories_controller.rb +1 -1
- data/{vendor/extensions/shipping/app → app}/controllers/admin/shipping_methods_controller.rb +1 -1
- data/app/controllers/admin/users_controller.rb +6 -3
- data/app/controllers/admin/zones_controller.rb +17 -36
- data/app/controllers/application.rb +74 -12
- data/app/controllers/content_controller.rb +4 -0
- data/app/controllers/orders_controller.rb +52 -26
- data/app/controllers/password_resets_controller.rb +44 -0
- data/app/controllers/spree/base_controller.rb +1 -1
- data/app/controllers/states_controller.rb +8 -10
- data/app/controllers/taxons_controller.rb +0 -6
- data/app/controllers/user_sessions_controller.rb +38 -0
- data/app/controllers/users_controller.rb +29 -14
- data/app/helpers/admin/base_helper.rb +127 -4
- data/app/helpers/admin/orders_helper.rb +1 -1
- data/{vendor/extensions/shipping/app → app}/helpers/admin/shipping_categories_helper.rb +0 -0
- data/{vendor/extensions/shipping/app → app}/helpers/admin/shipping_methods_helper.rb +0 -0
- data/app/helpers/admin/zones_helper.rb +4 -4
- data/app/helpers/application_helper.rb +0 -13
- data/app/helpers/orders_helper.rb +0 -11
- data/app/helpers/spree/base_helper.rb +51 -3
- data/app/helpers/taxons_helper.rb +13 -12
- data/app/models/address.rb +0 -1
- data/app/models/app_configuration.rb +4 -1
- data/app/models/country.rb +2 -2
- data/app/models/creditcard.rb +10 -6
- data/app/models/creditcard_payment.rb +1 -0
- data/app/models/image.rb +1 -1
- data/app/models/line_item.rb +2 -0
- data/app/models/option_type.rb +1 -0
- data/app/models/order.rb +51 -29
- data/app/models/order_mailer.rb +4 -4
- data/app/models/product.rb +27 -1
- data/app/models/product_property.rb +0 -1
- data/app/models/property.rb +3 -0
- data/app/models/prototype.rb +1 -0
- data/app/models/shipment.rb +13 -17
- data/app/models/tax_category.rb +1 -0
- data/app/models/user.rb +32 -117
- data/app/models/user_mailer.rb +11 -0
- data/app/models/user_session.rb +2 -0
- data/app/models/variant.rb +6 -2
- data/app/models/zone.rb +34 -18
- data/app/models/zone_member.rb +9 -3
- data/app/views/account/login.html.erb +2 -0
- data/app/views/admin/configurations/index.html.erb +1 -1
- data/app/views/admin/creditcard_payments/edit.html.erb +11 -9
- data/app/views/admin/creditcard_payments/new.html.erb +14 -27
- data/app/views/admin/general_settings/edit.html.erb +28 -11
- data/app/views/admin/general_settings/show.html.erb +29 -16
- data/app/views/admin/inventory_settings/edit.html.erb +20 -11
- data/app/views/admin/inventory_settings/show.html.erb +9 -11
- data/app/views/admin/mail_settings/edit.html.erb +109 -80
- data/app/views/admin/mail_settings/show.html.erb +55 -41
- data/app/views/admin/option_types/_form.html.erb +18 -22
- data/app/views/admin/option_types/_option_value.html.erb +1 -1
- data/app/views/admin/option_types/available.html.erb +26 -30
- data/app/views/admin/option_types/edit.html.erb +5 -2
- data/app/views/admin/option_types/index.html.erb +36 -35
- data/app/views/admin/option_types/new.html.erb +7 -4
- data/app/views/admin/option_types/selected.html.erb +28 -28
- data/app/views/admin/orders/index.html.erb +86 -112
- data/app/views/admin/orders/show.html.erb +31 -51
- data/app/views/admin/overview/index.html.erb +1 -1
- data/app/views/admin/payments/index.html.erb +14 -6
- data/app/views/admin/product_properties/_product_property.html.erb +1 -1
- data/app/views/admin/product_properties/index.html.erb +21 -16
- data/app/views/admin/products/_form.html.erb +79 -71
- data/app/views/admin/products/_images.html.erb +27 -30
- data/app/views/admin/products/_option_types.html.erb +2 -2
- data/app/views/admin/products/_properties_form.erb +7 -0
- data/app/views/admin/products/edit.html.erb +9 -6
- data/app/views/admin/products/index.html.erb +79 -67
- data/app/views/admin/products/new.html.erb +51 -5
- data/app/views/admin/properties/_form.html.erb +12 -14
- data/app/views/admin/properties/edit.html.erb +3 -2
- data/app/views/admin/properties/index.html.erb +26 -17
- data/app/views/admin/properties/new.html.erb +5 -3
- data/app/views/admin/prototypes/_form.html.erb +38 -15
- data/app/views/admin/prototypes/available.html.erb +7 -7
- data/app/views/admin/prototypes/edit.html.erb +2 -2
- data/app/views/admin/prototypes/index.html.erb +24 -16
- data/app/views/admin/prototypes/new.html.erb +4 -2
- data/app/views/admin/reports/index.html.erb +18 -23
- data/app/views/admin/reports/sales_total.html.erb +25 -26
- data/app/views/admin/shared/_additional_field.html.erb +5 -0
- data/app/views/admin/shared/_address.html.erb +13 -0
- data/app/views/admin/shared/_configuration_menu.html.erb +18 -0
- data/app/views/admin/shared/_edit_resource_links.html.erb +4 -0
- data/app/views/admin/shared/_form_address.html.erb +50 -0
- data/app/views/admin/shared/_new_resource_links.html.erb +4 -0
- data/app/views/admin/shared/_order_details.html.erb +36 -0
- data/{vendor/plugins/has_many_polymorphs/test/fixtures/eaters_foodstuffs.yml → app/views/admin/shared/_order_sub_menu.html.erb} +0 -0
- data/app/views/admin/shared/_order_tabs.html.erb +27 -0
- data/app/views/admin/shared/_product_sub_menu.html.erb +8 -0
- data/app/views/admin/shared/_product_tabs.html.erb +35 -0
- data/app/views/admin/shared/_report_criteria.html.erb +23 -0
- data/app/views/admin/shared/_show_resource_links.html.erb +5 -0
- data/app/views/admin/shipments/_details.html.erb +19 -0
- data/app/views/admin/shipments/_form.html.erb +21 -0
- data/app/views/admin/shipments/edit.html.erb +12 -0
- data/{vendor/extensions/shipping/app → app}/views/admin/shipments/index.html.erb +8 -8
- data/app/views/admin/shipments/new.html.erb +14 -0
- data/{vendor/extensions/shipping/app → app}/views/admin/shipping_categories/_form.html.erb +0 -0
- data/{vendor/extensions/shipping/app → app}/views/admin/shipping_categories/edit.html.erb +1 -1
- data/app/views/admin/shipping_categories/index.html.erb +27 -0
- data/{vendor/extensions/shipping/app → app}/views/admin/shipping_categories/new.html.erb +1 -1
- data/{vendor/extensions/shipping/app → app}/views/admin/shipping_methods/_form.html.erb +1 -1
- data/{vendor/extensions/shipping/app → app}/views/admin/shipping_methods/edit.html.erb +1 -1
- data/app/views/admin/shipping_methods/index.html.erb +34 -0
- data/{vendor/extensions/shipping/app → app}/views/admin/shipping_methods/new.html.erb +1 -1
- data/app/views/admin/states/_form.html.erb +9 -10
- data/app/views/admin/states/_state_list.html.erb +10 -7
- data/app/views/admin/states/edit.html.erb +4 -2
- data/app/views/admin/states/index.html.erb +11 -4
- data/app/views/admin/states/new.html.erb +4 -2
- data/app/views/admin/tax_categories/_form.html.erb +9 -11
- data/app/views/admin/tax_categories/edit.html.erb +4 -2
- data/app/views/admin/tax_categories/index.html.erb +19 -9
- data/app/views/admin/tax_categories/new.html.erb +4 -2
- data/app/views/admin/tax_categories/show.html.erb +1 -0
- data/app/views/admin/taxonomies/_form.html.erb +5 -9
- data/app/views/admin/taxonomies/_list.html.erb +4 -4
- data/app/views/admin/taxonomies/_yui_head.html.erb +2 -16
- data/app/views/admin/taxonomies/edit.html.erb +13 -12
- data/app/views/admin/taxonomies/index.html.erb +11 -2
- data/app/views/admin/taxonomies/new.html.erb +7 -4
- data/app/views/admin/taxons/_taxon_table.html.erb +9 -9
- data/app/views/admin/taxons/available.js.erb +8 -8
- data/app/views/admin/taxons/selected.html.erb +10 -9
- data/app/views/admin/users/_form.html.erb +35 -36
- data/app/views/admin/users/edit.html.erb +3 -3
- data/app/views/admin/users/index.html.erb +45 -47
- data/app/views/admin/users/new.html.erb +5 -5
- data/app/views/admin/users/show.html.erb +8 -5
- data/app/views/admin/variants/_form.html.erb +36 -31
- data/app/views/admin/variants/edit.html.erb +5 -4
- data/app/views/admin/variants/index.html.erb +52 -50
- data/app/views/admin/variants/new.html.erb +3 -3
- data/app/views/admin/zones/_country_member.html.erb +5 -0
- data/app/views/admin/zones/_form.html.erb +26 -65
- data/app/views/admin/zones/_member_type.html.erb +15 -0
- data/app/views/admin/zones/_state_member.html.erb +5 -0
- data/app/views/admin/zones/_zone_member.html.erb +5 -0
- data/app/views/admin/zones/edit.html.erb +6 -4
- data/app/views/admin/zones/index.html.erb +18 -7
- data/app/views/admin/zones/new.html.erb +6 -4
- data/app/views/{checkout → content}/cvv.html.erb +0 -2
- data/app/views/layouts/admin.html.erb +75 -60
- data/app/views/layouts/application.html.erb +51 -75
- data/app/views/orders/_billing.html.erb +53 -0
- data/app/views/orders/_checkout_form.html.erb +14 -0
- data/app/views/{checkout/_confirm_order.erb → orders/_confirmation.html.erb} +3 -1
- data/app/views/orders/_form.html.erb +1 -2
- data/app/views/orders/_line_item.html.erb +15 -16
- data/app/views/orders/_payment.html.erb +30 -0
- data/app/views/orders/_registration.html.erb +60 -0
- data/app/views/orders/_shipping.html.erb +54 -0
- data/app/views/orders/_shipping_method.html.erb +10 -0
- data/app/views/orders/checkout.html.erb +15 -0
- data/app/views/orders/edit.html.erb +20 -20
- data/app/views/orders/new.html.erb +9 -8
- data/app/views/orders/show.html.erb +2 -4
- data/app/views/password_resets/edit.html.erb +12 -0
- data/app/views/password_resets/new.html.erb +11 -0
- data/app/views/products/_cart_form.html.erb +46 -0
- data/app/views/products/_properties.html.erb +8 -0
- data/app/views/products/_thumbnails.html.erb +27 -5
- data/app/views/products/index.html.erb +3 -8
- data/app/views/products/show.html.erb +23 -68
- data/app/views/shared/_footer.html.erb +8 -3
- data/app/views/shared/_login.html.erb +17 -16
- data/app/views/shared/_login_bar.html.erb +6 -0
- data/app/views/shared/_new_resource_links.html.erb +1 -1
- data/app/views/shared/_order_details.html.erb +8 -8
- data/app/views/shared/_products.html.erb +21 -17
- data/app/views/shared/_store_menu.html.erb +2 -5
- data/app/views/shared/_taxonomies.html.erb +8 -5
- data/app/views/states/index.js.erb +1 -10
- data/app/views/taxons/_taxon.html.erb +2 -3
- data/app/views/taxons/show.html.erb +10 -6
- data/app/views/user_mailer/password_reset_instructions.erb +9 -0
- data/app/views/{account → user_sessions}/authorization_failure.html.erb +0 -0
- data/app/views/user_sessions/new.html.erb +6 -0
- data/app/views/users/_form.html.erb +16 -23
- data/app/views/users/new.html.erb +11 -19
- data/config/boot.rb +1 -1
- data/config/database.yml +5 -5
- data/config/database.yml.example +2 -2
- data/config/environment.rb +11 -24
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/compass.rb +8 -0
- data/config/initializers/inflections.rb +10 -0
- data/config/initializers/mime_types.rb +0 -3
- data/config/initializers/new_rails_defaults.rb +19 -0
- data/config/initializers/session_store.rb +15 -0
- data/config/locales/de.yml +57 -2
- data/config/locales/de_rails.yml +27 -7
- data/config/locales/en-GB.yml +59 -4
- data/config/locales/en-GB_rails.yml +6 -6
- data/config/locales/en-US.yml +60 -5
- data/config/locales/en-US_rails.yml +80 -39
- data/config/locales/es.yml +318 -263
- data/config/locales/es_rails.yml +26 -8
- data/config/locales/fr-FR.yml +55 -0
- data/config/locales/fr-FR_rails.yml +51 -43
- data/config/locales/it.yml +57 -2
- data/config/locales/it_rails.yml +60 -18
- data/config/locales/nb-NO.yml +67 -469
- data/config/locales/nl-BE.yml +522 -0
- data/config/locales/nl-BE_rails.yml +155 -0
- data/config/locales/pl.yml +57 -2
- data/config/locales/pt-BR.yml +272 -217
- data/config/locales/pt-BR_rails.yml +132 -98
- data/config/locales/pt-PT.yml +56 -1
- data/config/locales/pt-PT_rails.yml +25 -4
- data/config/locales/ru-RU.yml +56 -1
- data/config/locales/ru-RU_rails.yml +156 -110
- data/config/routes.rb +17 -8
- data/config/spree_permissions.yml +8 -5
- data/{vendor/extensions/shipping/db → db}/migrate/20081003211336_create_shipping_methods.rb +0 -0
- data/{vendor/extensions/shipping/db → db}/migrate/20081003233427_create_shipping_categories.rb +0 -0
- data/{vendor/extensions/shipping/db → db}/migrate/20081015001711_create_shipments.rb +0 -0
- data/{vendor/extensions/shipping/db → db}/migrate/20081023134446_add_product_dimensions.rb +0 -0
- data/{vendor/extensions/shipping/db → db}/migrate/20081205155619_add_shipped_at_property.rb +0 -0
- data/{vendor/extensions/shipping/db → db}/migrate/20081221201510_create_shipping_addresses.rb +0 -0
- data/db/migrate/20090302221152_give_all_users_user_role.rb +1 -0
- data/db/migrate/20090320113300_authlogic_changes.rb +24 -0
- data/db/migrate/20090324164010_create_option_types_prototypes.rb +12 -0
- data/db/migrate/20090401120636_meta_data_fields_for_products.rb +11 -0
- data/db/migrate/20090401203712_remove_hmp_stuff_in_zones.rb +12 -0
- data/db/migrate/{20080706233224_create_eu_vat_zone.rb → 20090401223217_create_eu_vat_zone_again.rb} +8 -3
- data/db/migrate/20090402002244_add_user_login.rb +17 -0
- data/db/migrate/20090402161055_add_order_token.rb +13 -0
- data/db/migrate/20090402200317_add_email_to_order.rb +19 -0
- data/db/migrate/20090406174645_refactor_addresses.rb +53 -0
- data/db/migrate/20090420021303_remove_viewable_id_from_products.rb +10 -0
- data/db/migrate/20090427000000_upgrade_taxons.rb +14 -0
- data/db/sample/addresses.yml +24 -14
- data/db/sample/creditcards.yml +2 -1
- data/db/sample/orders.yml +4 -1
- data/db/sample/products.yml +9 -9
- data/{vendor/extensions/shipping/db → db}/sample/shipments.yml +2 -1
- data/{vendor/extensions/shipping/db → db}/sample/shipping_categories.yml +0 -0
- data/{vendor/extensions/shipping/db → db}/sample/shipping_methods.yml +0 -0
- data/db/sample/users.yml +2 -1
- data/db/sample/zone_members.yml +16 -0
- data/{vendor/extensions/shipping/db → db}/sample/zones.yml +0 -0
- data/lib/easy_role_requirement_system.rb +32 -1
- data/lib/generators/generator_base_extension.rb +2 -2
- data/lib/generators/instance/instance_generator.rb +13 -9
- data/lib/generators/instance/templates/session_store.rb +15 -0
- data/lib/plugins/extension_patches/lib/fixture_loading_extension.rb +3 -1
- data/lib/plugins/monkey_patches/init.rb +1 -0
- data/lib/plugins/monkey_patches/lib/monkey_patches.rb +59 -0
- data/{vendor/plugins/calendar_date_select → lib/plugins/option_tags_with_disable}/MIT-LICENSE +20 -20
- data/lib/plugins/option_tags_with_disable/README.rdoc +35 -0
- data/lib/plugins/option_tags_with_disable/Rakefile +23 -0
- data/lib/plugins/option_tags_with_disable/init.rb +1 -0
- data/lib/plugins/option_tags_with_disable/lib/option_tags_will_disable.rb +85 -0
- data/lib/plugins/option_tags_with_disable/test/option_tags_will_disable_test.rb +72 -0
- data/lib/plugins/option_tags_with_disable/test/test_helper.rb +8 -0
- data/lib/role_requirement_system.rb +2 -2
- data/lib/spree.rb +2 -2
- data/lib/spree/checkout.rb +74 -0
- data/lib/spree/initializer.rb +0 -1
- data/lib/spree/setup.rb +2 -1
- data/{vendor/extensions/shipping/lib → lib}/spree/shipping_error.rb +0 -0
- data/lib/tasks/database.rake +2 -0
- data/lib/tasks/release.rake +8 -6
- data/lib/tasks/upgrade.rake +3 -0
- data/public/assets/products/1009/large/IMG_3408.jpg +0 -0
- data/public/assets/products/1009/mini/IMG_3408.jpg +0 -0
- data/public/assets/products/1009/original/IMG_3408.jpg +0 -0
- data/public/assets/products/1009/product/IMG_3408.jpg +0 -0
- data/public/assets/products/1009/small/IMG_3408.jpg +0 -0
- data/public/images/add-to-cart.png +0 -0
- data/public/images/admin/bg/active-tab.png +0 -0
- data/public/images/admin/bg/admin_tab_back.png +0 -0
- data/public/images/admin/bg/admin_tab_selected_back.png +0 -0
- data/public/images/admin/bg/content-back-blue.png +0 -0
- data/public/images/admin/bg/content-back-green.png +0 -0
- data/public/images/admin/bg/content-back.png +0 -0
- data/public/images/admin/bg/flash-error.png +0 -0
- data/public/images/admin/bg/flash-notice.png +0 -0
- data/public/images/admin/bg/green-stripes.gif +0 -0
- data/public/images/admin/bg/green-stripes.png +0 -0
- data/public/images/admin/bg/grid_header_back.png +0 -0
- data/public/images/admin/bg/grid_header_back_green.png +0 -0
- data/public/images/admin/bg/header-bg.png +0 -0
- data/public/images/admin/bg/header_bg.jpg +0 -0
- data/public/images/admin/bg/menu-current.png +0 -0
- data/public/images/admin/bg/red-stripes.gif +0 -0
- data/public/images/admin/bg/red-stripes.png +0 -0
- data/public/images/admin/bg/spree_50.png +0 -0
- data/public/images/admin/bg/subnav-divider.png +0 -0
- data/public/images/admin/bg/subnav.png +0 -0
- data/public/images/admin/bg/tab-back.png +0 -0
- data/public/images/admin/buttons/blue/left_01.png +0 -0
- data/public/images/admin/buttons/blue/right_01.png +0 -0
- data/public/images/admin/buttons/drag-handle-green.png +0 -0
- data/public/images/admin/buttons/green/left_01.png +0 -0
- data/public/images/admin/buttons/green/right_01.png +0 -0
- data/public/images/admin/buttons/left_01.png +0 -0
- data/public/images/admin/buttons/left_01_small.png +0 -0
- data/public/images/admin/buttons/orange/left_03.png +0 -0
- data/public/images/admin/buttons/orange/right_03.png +0 -0
- data/public/images/admin/buttons/right_01.png +0 -0
- data/public/images/admin/buttons/right_01_small.png +0 -0
- data/public/images/admin/icons/16x16/1.png +0 -0
- data/public/images/admin/icons/16x16/10.png +0 -0
- data/public/images/admin/icons/16x16/2.png +0 -0
- data/public/images/admin/icons/16x16/3.png +0 -0
- data/public/images/admin/icons/16x16/4.png +0 -0
- data/public/images/admin/icons/16x16/5.png +0 -0
- data/public/images/admin/icons/16x16/6.png +0 -0
- data/public/images/admin/icons/16x16/7.png +0 -0
- data/public/images/admin/icons/16x16/8.png +0 -0
- data/public/images/admin/icons/16x16/9.png +0 -0
- data/public/images/admin/icons/32x32/1.png +0 -0
- data/public/images/admin/icons/32x32/10.png +0 -0
- data/public/images/admin/icons/32x32/11.png +0 -0
- data/public/images/admin/icons/32x32/2.png +0 -0
- data/public/images/admin/icons/32x32/3.png +0 -0
- data/public/images/admin/icons/32x32/4.png +0 -0
- data/public/images/admin/icons/32x32/5.png +0 -0
- data/public/images/admin/icons/32x32/6.png +0 -0
- data/public/images/admin/icons/32x32/7.png +0 -0
- data/public/images/admin/icons/32x32/8.png +0 -0
- data/public/images/admin/icons/32x32/9.png +0 -0
- data/public/images/admin/icons/accept.png +0 -0
- data/public/images/admin/icons/add.gif +0 -0
- data/public/images/admin/icons/add.png +0 -0
- data/public/images/admin/icons/arrow-down.gif +0 -0
- data/public/images/admin/icons/cross.png +0 -0
- data/public/images/admin/icons/delete.gif +0 -0
- data/public/images/admin/icons/delete.png +0 -0
- data/public/images/admin/icons/drag.gif +0 -0
- data/public/images/admin/icons/edit.gif +0 -0
- data/public/images/admin/icons/edit.png +0 -0
- data/public/images/admin/icons/email.png +0 -0
- data/public/images/admin/icons/error.png +0 -0
- data/public/images/admin/icons/exclamation.png +0 -0
- data/public/images/admin/icons/feed.png +0 -0
- data/public/images/admin/icons/pdf.png +0 -0
- data/public/images/admin/icons/reorder.gif +0 -0
- data/public/images/admin/icons/search.gif +0 -0
- data/public/images/admin/icons/send-email.png +0 -0
- data/public/images/admin/icons/stop.png +0 -0
- data/public/images/admin/icons/tick.png +0 -0
- data/public/images/admin/icons/up.gif +0 -0
- data/public/images/admin/icons/xls.png +0 -0
- data/public/images/admin/tabs/off-left.png +0 -0
- data/public/images/admin/tabs/off-right.png +0 -0
- data/public/images/admin/tabs/on-left.png +0 -0
- data/public/images/admin/tabs/on-right.png +0 -0
- data/public/images/bg-button-hover.png +0 -0
- data/public/images/bg-button-pressed.png +0 -0
- data/public/images/bg-button.gif +0 -0
- data/public/images/bg-button.png +0 -0
- data/public/images/blue/left_01.png +0 -0
- data/public/images/blue/right_01.png +0 -0
- data/public/images/body-back.png +0 -0
- data/public/images/bottom_shine.png +0 -0
- data/public/images/button-dark-hover.png +0 -0
- data/public/images/button-dark.png +0 -0
- data/public/images/buttons/bg-button-hover.png +0 -0
- data/public/images/buttons/bg-button-pressed.png +0 -0
- data/public/images/buttons/bg-button.gif +0 -0
- data/public/images/buttons/bg-button.png +0 -0
- data/public/images/buttons/blue/left_01.png +0 -0
- data/public/images/buttons/blue/right_01.png +0 -0
- data/public/images/buttons/button-dark-hover.png +0 -0
- data/public/images/buttons/button-dark.png +0 -0
- data/public/images/buttons/drag-handle-green.png +0 -0
- data/public/images/buttons/green/left_01.png +0 -0
- data/public/images/buttons/green/right_01.png +0 -0
- data/public/images/buttons/left_01.png +0 -0
- data/public/images/buttons/left_01_small.png +0 -0
- data/public/images/buttons/orange/left_03.png +0 -0
- data/public/images/buttons/orange/right_03.png +0 -0
- data/public/images/buttons/right_01.png +0 -0
- data/public/images/buttons/right_01_small.png +0 -0
- data/public/images/buttons/sxsw-ribbon-v1.png +0 -0
- data/public/images/buttons/top-shine.png +0 -0
- data/public/images/cart-empty.png +0 -0
- data/public/images/cart-empty_x32.png +0 -0
- data/public/images/cart-full.png +0 -0
- data/public/images/cart-full_x32.png +0 -0
- data/public/images/checkout.png +0 -0
- data/public/images/drag-handle-green.png +0 -0
- data/public/images/green/left_01.png +0 -0
- data/public/images/green/right_01.png +0 -0
- data/public/images/grid.png +0 -0
- data/public/images/left_01.png +0 -0
- data/public/images/left_01_small.png +0 -0
- data/public/images/menu-current.png +0 -0
- data/public/images/menu-hover.png +0 -0
- data/public/images/orange/left_03.png +0 -0
- data/public/images/orange/right_03.png +0 -0
- data/public/images/right_01.png +0 -0
- data/public/images/right_01_small.png +0 -0
- data/public/images/separator.png +0 -0
- data/public/images/shadow-top.png +0 -0
- data/public/images/shadow_top.png +0 -0
- data/public/images/steps/1.png +0 -0
- data/public/images/steps/1_small.png +0 -0
- data/public/images/steps/2.png +0 -0
- data/public/images/steps/2_small.png +0 -0
- data/public/images/steps/3.png +0 -0
- data/public/images/steps/3_small.png +0 -0
- data/public/images/steps/4.png +0 -0
- data/public/images/steps/4_small.png +0 -0
- data/public/images/steps/5.png +0 -0
- data/public/images/steps/5_small.png +0 -0
- data/public/images/steps/6.png +0 -0
- data/public/images/steps/6_small.png +0 -0
- data/public/images/sxsw-ribbon-v1.png +0 -0
- data/public/images/top-shine.png +0 -0
- data/public/images/tree-nav-icons/treeview-loading.gif +0 -0
- data/public/images/tree-nav-icons/treeview-sprite.gif +0 -0
- data/public/images/update.png +0 -0
- data/public/images/wrapper-back-2.png +0 -0
- data/public/images/wrapper-back.png +0 -0
- data/public/images/yui-menubaritem_submenuindicator.png +0 -0
- data/public/images/yui-menubaritem_submenuindicator_disabled.png +0 -0
- data/public/images/yui-menuitem_checkbox.png +0 -0
- data/public/images/yui-menuitem_checkbox_disabled.png +0 -0
- data/public/images/yui-menuitem_submenuindicator.png +0 -0
- data/public/images/yui-menuitem_submenuindicator_disabled.png +0 -0
- data/public/images/yui-sprite.png +0 -0
- data/public/javascripts/checkout.js +191 -55
- data/public/javascripts/nested-attribute.js +25 -0
- data/public/javascripts/spree-yui.js +1 -1
- data/public/javascripts/yui-includes.js +57 -0
- data/public/javascripts/zone.js +48 -0
- data/public/stylesheets/admin/admin-forms.css +159 -0
- data/public/stylesheets/admin/admin-reset.css +67 -0
- data/public/stylesheets/admin/admin-tables.css +31 -0
- data/public/stylesheets/admin/admin-typography.css +117 -0
- data/public/stylesheets/admin/admin.css +426 -0
- data/public/stylesheets/admin/david-admin.css +210 -0
- data/public/stylesheets/admin/grids.css +314 -0
- data/public/stylesheets/admin/reset-fonts-grids-2-6-0.css +7 -0
- data/public/stylesheets/admin/yui-includes.css +14 -0
- data/public/stylesheets/compiled/ie.css +25 -0
- data/public/stylesheets/compiled/print.css +62 -0
- data/public/stylesheets/compiled/screen.css +1615 -0
- data/public/stylesheets/sass/ie.sass +3 -0
- data/public/stylesheets/sass/print.sass +3 -0
- data/public/stylesheets/sass/screen.sass +565 -0
- data/{vendor/extensions/shipping/spec/controllers → spec/controllers/admin}/shipments_controller_spec.rb +3 -3
- data/{vendor/extensions/shipping/spec → spec}/controllers/admin/shipping_categories_controller_spec.rb +0 -0
- data/{vendor/extensions/shipping/spec → spec}/controllers/admin/shipping_methods_controller_spec.rb +0 -0
- data/spec/controllers/countries_controller_spec.rb +3 -3
- data/spec/controllers/orders_controller_spec.rb +11 -9
- data/spec/controllers/states_controller_spec.rb +3 -3
- data/spec/helpers/spree/base_helper_spec.rb +5 -5
- data/spec/lib/easy_role_requirement_system_spec.rb +2 -2
- data/spec/models/address_spec.rb +3 -3
- data/spec/models/order_spec.rb +43 -1
- data/spec/models/product_property_spec.rb +0 -7
- data/spec/models/product_spec.rb +1 -1
- data/{vendor/extensions/shipping/spec → spec}/models/shipment_spec.rb +0 -0
- data/{vendor/extensions/shipping/spec → spec}/models/shipping_category_spec.rb +0 -0
- data/{vendor/extensions/shipping/spec → spec}/models/shipping_method_spec.rb +0 -0
- data/{vendor/extensions/shipping/spec → spec}/models/shipping_order_spec.rb +13 -6
- data/spec/models/tax_category_spec.rb +1 -1
- data/spec/models/zone_spec.rb +46 -42
- data/vendor/extensions/localization/app/views/shared/_language_bar.html.erb +8 -10
- data/vendor/extensions/localization/localization_extension.rb +2 -2
- data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/_form.html.erb +5 -4
- data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/edit.html.erb +4 -2
- data/vendor/extensions/payment_gateway/app/views/admin/gateway_option_values/_options.html.erb +4 -4
- data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +2 -2
- data/vendor/extensions/tax_calculator/app/controllers/admin/tax_settings_controller.rb +13 -0
- data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/index.html.erb +27 -25
- data/vendor/extensions/tax_calculator/app/views/admin/tax_settings/edit.html.erb +17 -0
- data/vendor/extensions/tax_calculator/app/views/admin/tax_settings/show.html.erb +14 -0
- data/vendor/extensions/tax_calculator/config/locales/en-US.yml +2 -0
- data/vendor/extensions/tax_calculator/config/routes.rb +1 -0
- data/vendor/extensions/tax_calculator/lib/spree/vat_calculator.rb +3 -8
- data/vendor/extensions/tax_calculator/tax_calculator_extension.rb +1 -0
- data/vendor/gems/haml-2.1.0/FAQ +138 -0
- data/vendor/gems/haml-2.1.0/MIT-LICENSE +20 -0
- data/vendor/gems/haml-2.1.0/README.rdoc +332 -0
- data/vendor/gems/haml-2.1.0/REVISION +1 -0
- data/vendor/gems/haml-2.1.0/Rakefile +185 -0
- data/vendor/gems/haml-2.1.0/VERSION +1 -0
- data/vendor/gems/haml-2.1.0/bin/css2sass +7 -0
- data/vendor/gems/haml-2.1.0/bin/haml +9 -0
- data/vendor/gems/haml-2.1.0/bin/html2haml +7 -0
- data/vendor/gems/haml-2.1.0/bin/sass +8 -0
- data/vendor/gems/haml-2.1.0/extra/haml-mode.el +434 -0
- data/vendor/gems/haml-2.1.0/extra/sass-mode.el +98 -0
- data/vendor/gems/haml-2.1.0/init.rb +8 -0
- data/vendor/gems/haml-2.1.0/lib/haml.rb +1042 -0
- data/vendor/gems/haml-2.1.0/lib/haml/buffer.rb +255 -0
- data/vendor/gems/haml-2.1.0/lib/haml/engine.rb +268 -0
- data/vendor/gems/haml-2.1.0/lib/haml/error.rb +22 -0
- data/vendor/gems/haml-2.1.0/lib/haml/exec.rb +395 -0
- data/vendor/gems/haml-2.1.0/lib/haml/filters.rb +276 -0
- data/vendor/gems/haml-2.1.0/lib/haml/helpers.rb +468 -0
- data/vendor/gems/haml-2.1.0/lib/haml/helpers/action_view_extensions.rb +45 -0
- data/vendor/gems/haml-2.1.0/lib/haml/helpers/action_view_mods.rb +181 -0
- data/vendor/gems/haml-2.1.0/lib/haml/html.rb +218 -0
- data/vendor/gems/haml-2.1.0/lib/haml/precompiler.rb +889 -0
- data/vendor/gems/haml-2.1.0/lib/haml/shared.rb +45 -0
- data/vendor/gems/haml-2.1.0/lib/haml/template.rb +51 -0
- data/vendor/gems/haml-2.1.0/lib/haml/template/patch.rb +58 -0
- data/vendor/gems/haml-2.1.0/lib/haml/template/plugin.rb +72 -0
- data/vendor/gems/haml-2.1.0/lib/haml/util.rb +77 -0
- data/vendor/gems/haml-2.1.0/lib/haml/version.rb +47 -0
- data/vendor/gems/haml-2.1.0/lib/sass.rb +1062 -0
- data/vendor/gems/haml-2.1.0/lib/sass/css.rb +388 -0
- data/vendor/gems/haml-2.1.0/lib/sass/engine.rb +499 -0
- data/vendor/gems/haml-2.1.0/lib/sass/environment.rb +33 -0
- data/vendor/gems/haml-2.1.0/lib/sass/error.rb +35 -0
- data/vendor/gems/haml-2.1.0/lib/sass/plugin.rb +203 -0
- data/vendor/gems/haml-2.1.0/lib/sass/plugin/merb.rb +56 -0
- data/vendor/gems/haml-2.1.0/lib/sass/plugin/rails.rb +24 -0
- data/vendor/gems/haml-2.1.0/lib/sass/repl.rb +51 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script.rb +38 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/bool.rb +13 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/color.rb +97 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/funcall.rb +28 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/functions.rb +122 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/lexer.rb +152 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/literal.rb +60 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/number.rb +231 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/operation.rb +30 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/parser.rb +142 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/string.rb +42 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/unary_operation.rb +21 -0
- data/vendor/gems/haml-2.1.0/lib/sass/script/variable.rb +20 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/attr_node.rb +64 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/comment_node.rb +34 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/debug_node.rb +22 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/directive_node.rb +50 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/file_node.rb +27 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/for_node.rb +29 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/if_node.rb +27 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/mixin_def_node.rb +18 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/mixin_node.rb +34 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/node.rb +99 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/rule_node.rb +120 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/variable_node.rb +24 -0
- data/vendor/gems/haml-2.1.0/lib/sass/tree/while_node.rb +20 -0
- data/vendor/gems/haml-2.1.0/rails/init.rb +1 -0
- data/vendor/gems/haml-2.1.0/test/benchmark.rb +99 -0
- data/vendor/gems/haml-2.1.0/test/haml/engine_test.rb +734 -0
- data/vendor/gems/haml-2.1.0/test/haml/helper_test.rb +224 -0
- data/vendor/gems/haml-2.1.0/test/haml/html2haml_test.rb +92 -0
- data/vendor/gems/haml-2.1.0/test/haml/markaby/standard.mab +52 -0
- data/vendor/gems/haml-2.1.0/test/haml/mocks/article.rb +6 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/content_for_layout.xhtml +15 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/eval_suppressed.xhtml +9 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/filters.xhtml +62 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/helpers.xhtml +93 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/helpful.xhtml +10 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/just_stuff.xhtml +68 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/list.xhtml +12 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/nuke_inner_whitespace.xhtml +40 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/nuke_outer_whitespace.xhtml +148 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/original_engine.xhtml +20 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/partial_layout.xhtml +5 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/partials.xhtml +21 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/render_layout.xhtml +3 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/silent_script.xhtml +74 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/standard.xhtml +42 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/tag_parsing.xhtml +23 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/very_basic.xhtml +5 -0
- data/vendor/gems/haml-2.1.0/test/haml/results/whitespace_handling.xhtml +89 -0
- data/vendor/gems/haml-2.1.0/test/haml/rhtml/_av_partial_1.rhtml +12 -0
- data/vendor/gems/haml-2.1.0/test/haml/rhtml/_av_partial_2.rhtml +8 -0
- data/vendor/gems/haml-2.1.0/test/haml/rhtml/action_view.rhtml +62 -0
- data/vendor/gems/haml-2.1.0/test/haml/rhtml/standard.rhtml +54 -0
- data/vendor/gems/haml-2.1.0/test/haml/template_test.rb +204 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_1.haml +9 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_1_ugly.haml +9 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_2.haml +5 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_2_ugly.haml +5 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_layout.erb +3 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_layout_for_partial.haml +3 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_partial.haml +8 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/_text_area.haml +3 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/action_view.haml +47 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/action_view_ugly.haml +47 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/breakage.haml +8 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/content_for_layout.haml +10 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/eval_suppressed.haml +11 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/filters.haml +66 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/helpers.haml +95 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/helpful.haml +11 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/just_stuff.haml +83 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/list.haml +12 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/nuke_inner_whitespace.haml +32 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/nuke_outer_whitespace.haml +144 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/original_engine.haml +17 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/partial_layout.haml +3 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/partialize.haml +1 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/partials.haml +12 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/render_layout.haml +2 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/silent_script.haml +40 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/standard.haml +42 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/standard_ugly.haml +42 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/tag_parsing.haml +21 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/very_basic.haml +4 -0
- data/vendor/gems/haml-2.1.0/test/haml/templates/whitespace_handling.haml +87 -0
- data/vendor/gems/haml-2.1.0/test/linked_rails.rb +12 -0
- data/vendor/gems/haml-2.1.0/test/sass/css2sass_test.rb +193 -0
- data/vendor/gems/haml-2.1.0/test/sass/engine_test.rb +769 -0
- data/vendor/gems/haml-2.1.0/test/sass/functions_test.rb +96 -0
- data/vendor/gems/haml-2.1.0/test/sass/more_results/more1.css +9 -0
- data/vendor/gems/haml-2.1.0/test/sass/more_results/more1_with_line_comments.css +26 -0
- data/vendor/gems/haml-2.1.0/test/sass/more_results/more_import.css +29 -0
- data/vendor/gems/haml-2.1.0/test/sass/more_templates/_more_partial.sass +2 -0
- data/vendor/gems/haml-2.1.0/test/sass/more_templates/more1.sass +23 -0
- data/vendor/gems/haml-2.1.0/test/sass/more_templates/more_import.sass +11 -0
- data/vendor/gems/haml-2.1.0/test/sass/plugin_test.rb +208 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/alt.css +4 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/basic.css +9 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/compact.css +5 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/complex.css +87 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/compressed.css +1 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/expanded.css +19 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/import.css +29 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/line_numbers.css +49 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/mixins.css +95 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/multiline.css +24 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/nested.css +22 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/parent_ref.css +13 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/script.css +16 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/subdir/nested_subdir/nested_subdir.css +1 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/subdir/subdir.css +3 -0
- data/vendor/gems/haml-2.1.0/test/sass/results/units.css +11 -0
- data/vendor/gems/haml-2.1.0/test/sass/script_test.rb +153 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/_partial.sass +2 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/alt.sass +16 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/basic.sass +23 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/bork.sass +2 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/bork2.sass +2 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/compact.sass +17 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/complex.sass +309 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/compressed.sass +15 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/expanded.sass +17 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/import.sass +11 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/importee.sass +19 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/line_numbers.sass +13 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/mixins.sass +76 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/multiline.sass +20 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/nested.sass +25 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/parent_ref.sass +25 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/script.sass +101 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +2 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +3 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/subdir.sass +6 -0
- data/vendor/gems/haml-2.1.0/test/sass/templates/units.sass +11 -0
- data/vendor/gems/haml-2.1.0/test/test_helper.rb +21 -0
- data/vendor/plugins/enumerable_constants/lib/enumerable_constants.rb +1 -1
- data/vendor/plugins/find_by_param/README.markdown +1 -1
- metadata +544 -427
- data/app/controllers/account_controller.rb +0 -31
- data/app/controllers/checkout_controller.rb +0 -96
- data/app/helpers/payments_helper.rb +0 -2
- data/app/helpers/store_helper.rb +0 -3
- data/app/helpers/tax_categories_helper.rb +0 -2
- data/app/helpers/users_helper.rb +0 -2
- data/app/presenters/checkout_presenter.rb +0 -58
- data/app/presenters/payment_presenter.rb +0 -3
- data/app/views/admin/zones/_country.html.erb +0 -15
- data/app/views/admin/zones/_function.rjs +0 -11
- data/app/views/admin/zones/_state.html.erb +0 -15
- data/app/views/admin/zones/_zone.html.erb +0 -15
- data/app/views/admin/zones/index.js.erb +0 -1
- data/app/views/admin/zones/show.html.erb +0 -4
- data/app/views/checkout/_billing.html.erb +0 -49
- data/app/views/checkout/_form.html.erb +0 -33
- data/app/views/checkout/_payment.erb +0 -24
- data/app/views/checkout/_shipping.html.erb +0 -50
- data/app/views/checkout/_shipping_method.html.erb +0 -5
- data/app/views/checkout/new.html.erb +0 -6
- data/app/views/shared/_address.html.erb +0 -35
- data/app/views/shared/_form_address.html.erb +0 -46
- data/app/views/shared/_states.html.erb +0 -14
- data/app/views/users/index.html.erb +0 -21
- data/lib/authenticated_system.rb +0 -124
- data/lib/authenticated_test_helper.rb +0 -10
- data/public/stylesheets/checkout.css +0 -25
- data/public/stylesheets/fullscreen.css +0 -63
- data/public/stylesheets/orders/_controller.css +0 -82
- data/public/stylesheets/prototypes/_controller.css +0 -9
- data/public/stylesheets/spree-admin.css +0 -563
- data/public/stylesheets/spree.css +0 -420
- data/spec/helpers/tax_categories_helper_spec.rb +0 -11
- data/spec/views/admin/mail_settings/edit.html.erb_spec.rb +0 -14
- data/spec/views/admin/mail_settings/show.html.erb_spec.rb +0 -12
- data/spec/views/admin/products/edit.html.erb_spec.rb +0 -88
- data/spec/views/admin/variants/eidt.html.erb_spec.rb +0 -90
- data/vendor/extensions/shipping/README.markdown +0 -3
- data/vendor/extensions/shipping/Rakefile +0 -120
- data/vendor/extensions/shipping/app/controllers/admin/shipments_controller.rb +0 -68
- data/vendor/extensions/shipping/app/models/shipment_presenter.rb +0 -3
- data/vendor/extensions/shipping/app/views/admin/shipments/_form.html.erb +0 -35
- data/vendor/extensions/shipping/app/views/admin/shipments/edit.html.erb +0 -11
- data/vendor/extensions/shipping/app/views/admin/shipments/new.html.erb +0 -12
- data/vendor/extensions/shipping/app/views/admin/shipping_categories/index.html.erb +0 -24
- data/vendor/extensions/shipping/app/views/admin/shipping_methods/index.html.erb +0 -28
- data/vendor/extensions/shipping/config/locales/de.yml +0 -25
- data/vendor/extensions/shipping/config/locales/en-GB.yml +0 -25
- data/vendor/extensions/shipping/config/locales/en-US.yml +0 -25
- data/vendor/extensions/shipping/config/locales/es.yml +0 -25
- data/vendor/extensions/shipping/config/locales/it.yml +0 -25
- data/vendor/extensions/shipping/config/locales/nb-NO.yml +0 -25
- data/vendor/extensions/shipping/config/locales/pl.yml +0 -25
- data/vendor/extensions/shipping/config/locales/pt-BR.yml +0 -25
- data/vendor/extensions/shipping/config/locales/ru-RU.yml +0 -25
- data/vendor/extensions/shipping/config/routes.rb +0 -10
- data/vendor/extensions/shipping/db/sample/addresses.yml +0 -14
- data/vendor/extensions/shipping/db/sample/zone_members.yml +0 -16
- data/vendor/extensions/shipping/lib/spree/shipping_calculator.rb +0 -28
- data/vendor/extensions/shipping/lib/tasks/shipping_extension_tasks.rake +0 -29
- data/vendor/extensions/shipping/shipping_extension.rb +0 -40
- data/vendor/extensions/shipping/spec/spec.opts +0 -6
- data/vendor/extensions/shipping/spec/spec_helper.rb +0 -37
- data/vendor/extensions/tax_calculator/spec/controllers/admin/tax_rates_controller_spec.rb +0 -22
- data/vendor/extensions/tax_calculator/spec/models/order_tax_calc_spec.rb +0 -22
- data/vendor/gems/active_presenter-0.0.6/.specification +0 -64
- data/vendor/gems/active_presenter-0.0.6/LICENSE +0 -22
- data/vendor/gems/active_presenter-0.0.6/README +0 -82
- data/vendor/gems/active_presenter-0.0.6/Rakefile +0 -10
- data/vendor/gems/active_presenter-0.0.6/lib/active_presenter.rb +0 -7
- data/vendor/gems/active_presenter-0.0.6/lib/active_presenter/base.rb +0 -204
- data/vendor/gems/active_presenter-0.0.6/lib/active_presenter/version.rb +0 -9
- data/vendor/gems/active_presenter-0.0.6/lib/tasks/doc.rake +0 -19
- data/vendor/gems/active_presenter-0.0.6/lib/tasks/gem.rake +0 -62
- data/vendor/gems/active_presenter-0.0.6/test/base_test.rb +0 -188
- data/vendor/gems/active_presenter-0.0.6/test/test_helper.rb +0 -74
- data/vendor/plugins/calendar_date_select/History.txt +0 -231
- data/vendor/plugins/calendar_date_select/Manifest.txt +0 -42
- data/vendor/plugins/calendar_date_select/Rakefile +0 -31
- data/vendor/plugins/calendar_date_select/Readme.txt +0 -16
- data/vendor/plugins/calendar_date_select/calendar_date_select.gemspec +0 -33
- data/vendor/plugins/calendar_date_select/init.rb +0 -1
- data/vendor/plugins/calendar_date_select/js_test/functional/cds_test.html +0 -334
- data/vendor/plugins/calendar_date_select/js_test/prototype.js +0 -4184
- data/vendor/plugins/calendar_date_select/js_test/test.css +0 -40
- data/vendor/plugins/calendar_date_select/js_test/unit/cds_helper_methods.html +0 -46
- data/vendor/plugins/calendar_date_select/js_test/unittest.js +0 -564
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select.rb +0 -33
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select/calendar_date_select.rb +0 -116
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select/form_helpers.rb +0 -223
- data/vendor/plugins/calendar_date_select/lib/calendar_date_select/includes_helper.rb +0 -29
- data/vendor/plugins/calendar_date_select/public/blank_iframe.html +0 -2
- data/vendor/plugins/calendar_date_select/public/images/calendar_date_select/calendar.gif +0 -0
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +0 -443
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_american.js +0 -34
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_db.js +0 -27
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr.js +0 -7
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +0 -7
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +0 -32
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -36
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_iso_date.js +0 -46
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +0 -24
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/de.js +0 -11
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fi.js +0 -10
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fr.js +0 -10
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pl.js +0 -10
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pt.js +0 -11
- data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ru.js +0 -10
- data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/blue.css +0 -130
- data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/default.css +0 -135
- data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/plain.css +0 -128
- data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/red.css +0 -135
- data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/silver.css +0 -133
- data/vendor/plugins/calendar_date_select/spec/calendar_date_select/calendar_date_select_spec.rb +0 -14
- data/vendor/plugins/calendar_date_select/spec/calendar_date_select/form_helpers_spec.rb +0 -161
- data/vendor/plugins/calendar_date_select/spec/spec_helper.rb +0 -26
- data/vendor/plugins/has_many_polymorphs/CHANGELOG +0 -83
- data/vendor/plugins/has_many_polymorphs/LICENSE +0 -184
- data/vendor/plugins/has_many_polymorphs/Manifest +0 -174
- data/vendor/plugins/has_many_polymorphs/README +0 -205
- data/vendor/plugins/has_many_polymorphs/Rakefile +0 -28
- data/vendor/plugins/has_many_polymorphs/TODO +0 -2
- data/vendor/plugins/has_many_polymorphs/examples/hmph.rb +0 -69
- data/vendor/plugins/has_many_polymorphs/generators/tagging/tagging_generator.rb +0 -97
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/migration.rb +0 -28
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag.rb +0 -39
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag_test.rb +0 -15
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging.rb +0 -16
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_extensions.rb +0 -159
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_test.rb +0 -85
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/taggings.yml +0 -23
- data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tags.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/init.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs.rb +0 -27
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/association.rb +0 -159
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/autoload.rb +0 -70
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/base.rb +0 -60
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/class_methods.rb +0 -600
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/configuration.rb +0 -19
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/debugging_tools.rb +0 -103
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb +0 -35
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/reflection.rb +0 -58
- data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/support_methods.rb +0 -84
- data/vendor/plugins/has_many_polymorphs/test/fixtures/bow_wows.yml +0 -10
- data/vendor/plugins/has_many_polymorphs/test/fixtures/cats.yml +0 -18
- data/vendor/plugins/has_many_polymorphs/test/fixtures/fish.yml +0 -12
- data/vendor/plugins/has_many_polymorphs/test/fixtures/frogs.yml +0 -5
- data/vendor/plugins/has_many_polymorphs/test/fixtures/keep_your_enemies_close.yml +0 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/little_whale_pupils.yml +0 -0
- data/vendor/plugins/has_many_polymorphs/test/fixtures/people.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/test/fixtures/petfoods.yml +0 -11
- data/vendor/plugins/has_many_polymorphs/test/fixtures/whales.yml +0 -5
- data/vendor/plugins/has_many_polymorphs/test/fixtures/wild_boars.yml +0 -10
- data/vendor/plugins/has_many_polymorphs/test/generator/tagging_generator_test.rb +0 -42
- data/vendor/plugins/has_many_polymorphs/test/integration/app/README +0 -182
- data/vendor/plugins/has_many_polymorphs/test/integration/app/Rakefile +0 -19
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/application.rb +0 -7
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/bones_controller.rb +0 -5
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/addresses_helper.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/application_helper.rb +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/bones_helper.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/sellers_helper.rb +0 -28
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/states_helper.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/users_helper.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/bone.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent_relationship.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/organic_substance.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent.rb +0 -4
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent_relationship.rb +0 -4
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stick.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stone.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/edit.html.erb +0 -12
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/index.html.erb +0 -18
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/new.html.erb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/show.html.erb +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/bones/index.rhtml +0 -5
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/addresses.html.erb +0 -17
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/sellers.html.erb +0 -17
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/states.html.erb +0 -17
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/users.html.erb +0 -17
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/edit.html.erb +0 -12
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/index.html.erb +0 -20
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/new.html.erb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/show.html.erb +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/edit.html.erb +0 -12
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/index.html.erb +0 -19
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/new.html.erb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/show.html.erb +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/edit.html.erb +0 -12
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/index.html.erb +0 -22
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/new.html.erb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/show.html.erb +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/boot.rb +0 -110
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/database.yml +0 -17
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb +0 -19
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb.canonical +0 -19
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/development.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/production.rb +0 -18
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/test.rb +0 -19
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/routes.rb +0 -33
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/default.base +0 -56
- data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/development.conf.canonical +0 -155
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/001_create_sticks.rb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/002_create_stones.rb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/003_create_organic_substances.rb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/004_create_bones.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/005_create_single_sti_parents.rb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/006_create_double_sti_parents.rb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/007_create_single_sti_parent_relationships.rb +0 -13
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/008_create_double_sti_parent_relationships.rb +0 -14
- data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/009_create_library_model.rb +0 -11
- data/vendor/plugins/has_many_polymorphs/test/integration/app/doc/README_FOR_APP +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/generators/commenting_generator_test.rb +0 -83
- data/vendor/plugins/has_many_polymorphs/test/integration/app/lib/library_model.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/404.html +0 -30
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/500.html +0 -30
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.cgi +0 -10
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.fcgi +0 -24
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.rb +0 -10
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/favicon.ico +0 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/images/rails.png +0 -0
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/index.html +0 -277
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/application.js +0 -2
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/controls.js +0 -833
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/dragdrop.js +0 -942
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/effects.js +0 -1088
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/prototype.js +0 -2515
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/robots.txt +0 -1
- data/vendor/plugins/has_many_polymorphs/test/integration/app/public/stylesheets/scaffold.css +0 -74
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/about +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/breakpointer +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/console +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/destroy +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/generate +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/benchmarker +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/profiler +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/plugin +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/inspector +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/reaper +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/spawner +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/runner +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/script/server +0 -3
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parent_relationships.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parents.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/organic_substances.yml +0 -5
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parent_relationships.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parents.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/sticks.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/stones.yml +0 -7
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/addresses_controller_test.rb +0 -57
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/bones_controller_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/sellers_controller_test.rb +0 -57
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/states_controller_test.rb +0 -57
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/users_controller_test.rb +0 -57
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/test_helper.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/bone_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_relationship_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/organic_substance_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_relationship_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stick_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stone_test.rb +0 -8
- data/vendor/plugins/has_many_polymorphs/test/integration/server_test.rb +0 -43
- data/vendor/plugins/has_many_polymorphs/test/models/aquatic/fish.rb +0 -5
- data/vendor/plugins/has_many_polymorphs/test/models/aquatic/pupils_whale.rb +0 -7
- data/vendor/plugins/has_many_polymorphs/test/models/aquatic/whale.rb +0 -15
- data/vendor/plugins/has_many_polymorphs/test/models/beautiful_fight_relationship.rb +0 -26
- data/vendor/plugins/has_many_polymorphs/test/models/canine.rb +0 -9
- data/vendor/plugins/has_many_polymorphs/test/models/cat.rb +0 -5
- data/vendor/plugins/has_many_polymorphs/test/models/dog.rb +0 -18
- data/vendor/plugins/has_many_polymorphs/test/models/eaters_foodstuff.rb +0 -10
- data/vendor/plugins/has_many_polymorphs/test/models/frog.rb +0 -4
- data/vendor/plugins/has_many_polymorphs/test/models/kitten.rb +0 -3
- data/vendor/plugins/has_many_polymorphs/test/models/parentship.rb +0 -4
- data/vendor/plugins/has_many_polymorphs/test/models/person.rb +0 -9
- data/vendor/plugins/has_many_polymorphs/test/models/petfood.rb +0 -39
- data/vendor/plugins/has_many_polymorphs/test/models/tabby.rb +0 -2
- data/vendor/plugins/has_many_polymorphs/test/models/wild_boar.rb +0 -3
- data/vendor/plugins/has_many_polymorphs/test/modules/extension_module.rb +0 -9
- data/vendor/plugins/has_many_polymorphs/test/modules/other_extension_module.rb +0 -9
- data/vendor/plugins/has_many_polymorphs/test/patches/symlinked_plugins_1.2.6.diff +0 -46
- data/vendor/plugins/has_many_polymorphs/test/schema.rb +0 -87
- data/vendor/plugins/has_many_polymorphs/test/setup.rb +0 -14
- data/vendor/plugins/has_many_polymorphs/test/test_helper.rb +0 -51
- data/vendor/plugins/has_many_polymorphs/test/unit/has_many_polymorphs_test.rb +0 -714
@@ -1,205 +0,0 @@
|
|
1
|
-
Has_many_polymorphs
|
2
|
-
|
3
|
-
An ActiveRecord plugin for self-referential and double-sided polymorphic associations.
|
4
|
-
|
5
|
-
== License
|
6
|
-
|
7
|
-
Copyright 2006-2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file.
|
8
|
-
|
9
|
-
The public certificate for the gem is here[http://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem].
|
10
|
-
|
11
|
-
If you use this software, please {make a donation}[http://blog.evanweaver.com/donate/], or {recommend Evan}[http://www.workingwithrails.com/person/7739-evan-weaver] at Working with Rails.
|
12
|
-
|
13
|
-
== Description
|
14
|
-
|
15
|
-
This plugin lets you define self-referential and double-sided polymorphic associations in your models. It is an extension of <tt>has_many :through</tt>.
|
16
|
-
|
17
|
-
“Polymorphic” means an association can freely point to any of several unrelated model classes, instead of being tied to one particular class.
|
18
|
-
|
19
|
-
== Features
|
20
|
-
|
21
|
-
* self-references
|
22
|
-
* double-sided polymorphism
|
23
|
-
* efficient database usage
|
24
|
-
* STI support
|
25
|
-
* namespace support
|
26
|
-
* automatic individual and reverse associations
|
27
|
-
|
28
|
-
The plugin also includes a generator for a tagging system, a common use case (see below).
|
29
|
-
|
30
|
-
== Requirements
|
31
|
-
|
32
|
-
* Rails 1.2.3 or greater
|
33
|
-
|
34
|
-
= Usage
|
35
|
-
|
36
|
-
== Installation
|
37
|
-
|
38
|
-
To install the Rails plugin, run:
|
39
|
-
script/plugin install git://github.com/fauna/has_many_polymorphs.git
|
40
|
-
|
41
|
-
There's also a gem version. To install it instead, run:
|
42
|
-
sudo gem install has_many_polymorphs
|
43
|
-
|
44
|
-
If you are using the gem, make sure to add <tt>require 'has_many_polymorphs'</tt> to <tt>environment.rb</tt>, before Rails::Initializer block.
|
45
|
-
|
46
|
-
== Configuration
|
47
|
-
|
48
|
-
Setup the parent model as so:
|
49
|
-
|
50
|
-
class Kennel < ActiveRecord::Base
|
51
|
-
has_many_polymorphs :guests, :from => [:dogs, :cats, :birds]
|
52
|
-
end
|
53
|
-
|
54
|
-
The join model:
|
55
|
-
|
56
|
-
class GuestsKennel < ActiveRecord::Base
|
57
|
-
belongs_to :kennel
|
58
|
-
belongs_to :guest, :polymorphic => true
|
59
|
-
end
|
60
|
-
|
61
|
-
One of the child models:
|
62
|
-
|
63
|
-
class Dog < ActiveRecord::Base
|
64
|
-
# nothing
|
65
|
-
end
|
66
|
-
|
67
|
-
For your parent and child models, you don't need any special fields in your migration. For the join model (GuestsKennel), use a migration like so:
|
68
|
-
|
69
|
-
class CreateGuestsKennels < ActiveRecord::Migration
|
70
|
-
def self.up
|
71
|
-
create_table :guests_kennels do |t|
|
72
|
-
t.references :guest, :polymorphic => true
|
73
|
-
t.references :kennel
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
def self.down
|
78
|
-
drop_table :guests_kennels
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
See ActiveRecord::Associations::PolymorphicClassMethods for more configuration options.
|
83
|
-
|
84
|
-
== Helper methods example
|
85
|
-
|
86
|
-
>> k = Kennel.find(1)
|
87
|
-
#<Kennel id: 1, name: "Happy Paws">
|
88
|
-
>> k.guests.map(&:class)
|
89
|
-
[Dog, Cat, Cat, Bird]
|
90
|
-
|
91
|
-
>> k.guests.push(Cat.create); k.cats.size
|
92
|
-
3
|
93
|
-
>> k.guests << Cat.create; k.cats.size
|
94
|
-
4
|
95
|
-
>> k.guests.size
|
96
|
-
6
|
97
|
-
|
98
|
-
>> d = k.dogs.first
|
99
|
-
#<Dog id: 3, name: "Rover">
|
100
|
-
>> d.kennels
|
101
|
-
[#<Kennel id: 1, name: "Happy Paws">]
|
102
|
-
|
103
|
-
>> k.guests.delete(d); k.dogs.size
|
104
|
-
0
|
105
|
-
>> k.guests.size
|
106
|
-
5
|
107
|
-
|
108
|
-
Note that the parent method is always plural, even if there is only one parent (<tt>Dog#kennels</tt>, not <tt>Dog#kennel</tt>).
|
109
|
-
|
110
|
-
See ActiveRecord::Associations::PolymorphicAssociation for more helper method details.
|
111
|
-
|
112
|
-
= Extras
|
113
|
-
|
114
|
-
== Double-sided polymorphism
|
115
|
-
|
116
|
-
Double-sided relationships are defined on the join model:
|
117
|
-
|
118
|
-
class Devouring < ActiveRecord::Base
|
119
|
-
belongs_to :guest, :polymorphic => true
|
120
|
-
belongs_to :eaten, :polymorphic => true
|
121
|
-
|
122
|
-
acts_as_double_polymorphic_join(
|
123
|
-
:guests =>[:dogs, :cats],
|
124
|
-
:eatens => [:cats, :birds]
|
125
|
-
)
|
126
|
-
end
|
127
|
-
|
128
|
-
Now, dogs and cats can eat birds and cats. Birds can't eat anything (they aren't <tt>guests</tt>) and dogs can't be eaten by anything (since they aren't <tt>eatens</tt>). The keys stand for what the models are, not what they do.
|
129
|
-
|
130
|
-
In this case, each guest/eaten relationship is called a Devouring.
|
131
|
-
|
132
|
-
In your migration, you need to declare both sides as polymorphic:
|
133
|
-
|
134
|
-
class CreateDevourings < ActiveRecord::Migration
|
135
|
-
def self.up
|
136
|
-
create_table :devourings do |t|
|
137
|
-
t.references :guest, :polymorphic => true
|
138
|
-
t.references :eaten, :polymorphic => true
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
def self.down
|
143
|
-
drop_table :devourings
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
See ActiveRecord::Associations::PolymorphicClassMethods for more.
|
148
|
-
|
149
|
-
== Tagging generator
|
150
|
-
|
151
|
-
Has_many_polymorphs includes a tagging system generator. Run:
|
152
|
-
script/generate tagging Dog Cat [...MoreModels...]
|
153
|
-
|
154
|
-
This adds a migration and new Tag and Tagging models in <tt>app/models</tt>. It configures Tag with an appropriate <tt>has_many_polymorphs</tt> call against the models you list at the command line. It also adds the file <tt>lib/tagging_extensions.rb</tt> and <tt>requires</tt> it in <tt>environment.rb</tt>.
|
155
|
-
|
156
|
-
Tests will also be generated.
|
157
|
-
|
158
|
-
Once you've run the generator, you can tag records as follows:
|
159
|
-
|
160
|
-
>> d = Dog.create(:name => "Rover")
|
161
|
-
#<Dog id: 3, name: "Rover">
|
162
|
-
>> d.tag_list
|
163
|
-
""
|
164
|
-
>> d.tag_with "fierce loud"
|
165
|
-
#<Dog id: 3, name: "Rover">
|
166
|
-
>> d.tag_list
|
167
|
-
"fierce loud"
|
168
|
-
>> c = Cat.create(:name => "Chloe")
|
169
|
-
#<Cat id: 1, name: "Chloe">
|
170
|
-
>> c.tag_with "fierce cute"
|
171
|
-
#<Cat id: 1, name: "Chloe">
|
172
|
-
>> c.tag_list
|
173
|
-
"cute fierce"
|
174
|
-
>> Tag.find_by_name("fierce").taggables
|
175
|
-
[#<Cat id: 1, name: "Chloe">, #<Dog id: 3, name: "Rover">]
|
176
|
-
|
177
|
-
The generator accepts the optional flag <tt>--skip-migration</tt> to skip generating a migration (for example, if you are converting from <tt>acts_as_taggable</tt>). It also accepts the flag <tt>--self-referential</tt> if you want to be able to tag tags.
|
178
|
-
|
179
|
-
See ActiveRecord::Base::TaggingExtensions, Tag, and Tagging for more.
|
180
|
-
|
181
|
-
== Troubleshooting
|
182
|
-
|
183
|
-
Some debugging tools are available in <tt>lib/has_many_polymorphs/debugging_tools.rb</tt>.
|
184
|
-
|
185
|
-
If you are having trouble, think very carefully about how your model classes, key columns, and table names relate. You may have to explicitly specify options on your join model such as <tt>:class_name</tt>, <tt>:foreign_key</tt>, or <tt>:as</tt>. The included tests are a good place to look for examples.
|
186
|
-
|
187
|
-
Note that because of the way Rails reloads model classes, the plugin can sometimes bog down your development server. Set <tt>config.cache_classes = true</tt> in <tt>config/environments/development.rb</tt> to avoid this.
|
188
|
-
|
189
|
-
== Reporting problems
|
190
|
-
|
191
|
-
The support forum is here[http://rubyforge.org/forum/forum.php?forum_id=16450].
|
192
|
-
|
193
|
-
Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.
|
194
|
-
|
195
|
-
== Further resources
|
196
|
-
|
197
|
-
* http://blog.evanweaver.com/articles/2007/08/15/polymorphs-tutorial
|
198
|
-
* http://blog.evanweaver.com/articles/2007/02/22/polymorphs-25-total-insanity-branch
|
199
|
-
* http://blog.evanweaver.com/articles/2007/02/09/how-to-find-the-most-popular-tags
|
200
|
-
* http://blog.evanweaver.com/articles/2007/01/13/growing-up-your-acts_as_taggable
|
201
|
-
* http://blog.evanweaver.com/articles/2006/12/02/polymorphs-19
|
202
|
-
* http://blog.evanweaver.com/articles/2006/11/05/directed-double-polymorphic-associations
|
203
|
-
* http://blog.evanweaver.com/articles/2006/11/04/namespaced-model-support-in-has_many_polymorphs
|
204
|
-
* http://blog.evanweaver.com/articles/2006/09/26/sti-support-in-has_many_polymorphs
|
205
|
-
* http://blog.evanweaver.com/articles/2006/09/11/make-polymorphic-children-belong-to-only-one-parent
|
@@ -1,28 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'echoe'
|
3
|
-
|
4
|
-
Echoe.new("has_many_polymorphs") do |p|
|
5
|
-
p.project = "fauna"
|
6
|
-
p.summary = "An ActiveRecord plugin for self-referential and double-sided polymorphic associations."
|
7
|
-
p.url = "http://blog.evanweaver.com/files/doc/fauna/has_many_polymorphs/"
|
8
|
-
p.docs_host = "blog.evanweaver.com:~/www/bax/public/files/doc/"
|
9
|
-
p.dependencies = ["activerecord"]
|
10
|
-
p.rdoc_pattern = /polymorphs\/association|polymorphs\/class_methods|polymorphs\/reflection|polymorphs\/autoload|polymorphs\/configuration|README|CHANGELOG|TODO|LICENSE|templates\/migration\.rb|templates\/tag\.rb|templates\/tagging\.rb|templates\/tagging_extensions\.rb/
|
11
|
-
p.require_signed = true
|
12
|
-
p.clean_pattern += ["**/ruby_sess*", "**/generated_models/**"]
|
13
|
-
p.test_pattern = ["test/unit/*_test.rb", "test/integration/*_test.rb", "test/generator/*_test.rb"]
|
14
|
-
end
|
15
|
-
|
16
|
-
desc "Run all the tests for every database adapter"
|
17
|
-
task "test_all" do
|
18
|
-
['mysql', 'postgresql', 'sqlite3'].each do |adapter|
|
19
|
-
ENV['DB'] = adapter
|
20
|
-
ENV['PRODUCTION'] = nil
|
21
|
-
STDERR.puts "#{'='*80}\nDevelopment mode for #{adapter}\n#{'='*80}"
|
22
|
-
system("rake test:multi_rails:all")
|
23
|
-
|
24
|
-
ENV['PRODUCTION'] = '1'
|
25
|
-
STDERR.puts "#{'='*80}\nProduction mode for #{adapter}\n#{'='*80}"
|
26
|
-
system("rake test:multi_rails:all")
|
27
|
-
end
|
28
|
-
end
|
@@ -1,69 +0,0 @@
|
|
1
|
-
require 'camping'
|
2
|
-
require 'has_many_polymorphs'
|
3
|
-
|
4
|
-
Camping.goes :Hmph
|
5
|
-
|
6
|
-
module Hmph::Models
|
7
|
-
class GuestsKennel < Base
|
8
|
-
belongs_to :kennel
|
9
|
-
belongs_to :guest, :polymorphic => true
|
10
|
-
end
|
11
|
-
|
12
|
-
class Dog < Base
|
13
|
-
end
|
14
|
-
|
15
|
-
class Cat < Base
|
16
|
-
end
|
17
|
-
|
18
|
-
class Bird < Base
|
19
|
-
end
|
20
|
-
|
21
|
-
class Kennel < Base
|
22
|
-
has_many_polymorphs :guests,
|
23
|
-
:from => [:dogs, :cats, :birds],
|
24
|
-
:through => :guests_kennels,
|
25
|
-
:namespace => :"hmph/models/"
|
26
|
-
end
|
27
|
-
|
28
|
-
class InitialSchema < V 1.0
|
29
|
-
def self.up
|
30
|
-
create_table :hmph_kennels do |t|
|
31
|
-
t.column :created_at, :datetime
|
32
|
-
t.column :modified_at, :datetime
|
33
|
-
t.column :name, :string, :default => 'Anonymous Kennel'
|
34
|
-
end
|
35
|
-
|
36
|
-
create_table :hmph_guests_kennels do |t|
|
37
|
-
t.column :guest_id, :integer
|
38
|
-
t.column :guest_type, :string
|
39
|
-
t.column :kennel_id, :integer
|
40
|
-
end
|
41
|
-
|
42
|
-
create_table :hmph_dogs do |t|
|
43
|
-
t.column :name, :string, :default => 'Fido'
|
44
|
-
end
|
45
|
-
|
46
|
-
create_table :hmph_cats do |t|
|
47
|
-
t.column :name, :string, :default => 'Morris'
|
48
|
-
end
|
49
|
-
|
50
|
-
create_table :hmph_birds do |t|
|
51
|
-
t.column :name, :string, :default => 'Polly'
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
def self.down
|
56
|
-
drop_table :hmph_kennels
|
57
|
-
drop_table :hmph_guests_kennels
|
58
|
-
drop_table :hmph_dogs
|
59
|
-
drop_table :hmph_cats
|
60
|
-
drop_table :hmph_birds
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
module Hmph::Controllers
|
66
|
-
end
|
67
|
-
|
68
|
-
module Hmph::Views
|
69
|
-
end
|
@@ -1,97 +0,0 @@
|
|
1
|
-
require 'ruby-debug' and Debugger.start if ENV['USER'] == 'eweaver'
|
2
|
-
|
3
|
-
class TaggingGenerator < Rails::Generator::NamedBase
|
4
|
-
default_options :skip_migration => false
|
5
|
-
default_options :self_referential => false
|
6
|
-
attr_reader :parent_association_name
|
7
|
-
attr_reader :taggable_models
|
8
|
-
|
9
|
-
def initialize(runtime_args, runtime_options = {})
|
10
|
-
parse!(runtime_args, runtime_options)
|
11
|
-
|
12
|
-
@parent_association_name = (runtime_args.include?("--self-referential") ? "tagger" : "tag")
|
13
|
-
@taggable_models = runtime_args.reject{|opt| opt =~ /^--/}.map do |taggable|
|
14
|
-
":" + taggable.underscore.pluralize
|
15
|
-
end
|
16
|
-
@taggable_models += [":tags"] if runtime_args.include?("--self-referential")
|
17
|
-
@taggable_models.uniq!
|
18
|
-
|
19
|
-
verify @taggable_models
|
20
|
-
hacks
|
21
|
-
runtime_args.unshift("placeholder")
|
22
|
-
super
|
23
|
-
end
|
24
|
-
|
25
|
-
def verify models
|
26
|
-
puts "** Warning: only one taggable model specified; tests may not run properly." if models.size < 2
|
27
|
-
models.each do |model|
|
28
|
-
model = model[1..-1].classify
|
29
|
-
next if model == "Tag" # don't load ourselves when --self-referential is used
|
30
|
-
self.class.const_get(model) rescue puts "** Error: model #{model[1..-1].classify} could not be loaded." or exit
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def hacks
|
35
|
-
# add the extension require in environment.rb
|
36
|
-
phrase = "require 'tagging_extensions'"
|
37
|
-
filename = "#{RAILS_ROOT}/config/environment.rb"
|
38
|
-
unless (open(filename) do |file|
|
39
|
-
file.grep(/#{Regexp.escape phrase}/).any?
|
40
|
-
end)
|
41
|
-
open(filename, 'a+') do |file|
|
42
|
-
file.puts "\n" + phrase + "\n"
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def manifest
|
48
|
-
record do |m|
|
49
|
-
m.class_collisions class_path, class_name, "#{class_name}Test"
|
50
|
-
|
51
|
-
m.directory File.join('app/models', class_path)
|
52
|
-
m.directory File.join('test/unit', class_path)
|
53
|
-
m.directory File.join('test/fixtures', class_path)
|
54
|
-
m.directory File.join('test/fixtures', class_path)
|
55
|
-
m.directory File.join('lib')
|
56
|
-
|
57
|
-
m.template 'tag.rb', File.join('app/models', class_path, "tag.rb")
|
58
|
-
m.template 'tag_test.rb', File.join('test/unit', class_path, "tag_test.rb")
|
59
|
-
m.template 'tags.yml', File.join('test/fixtures', class_path, "tags.yml")
|
60
|
-
|
61
|
-
m.template 'tagging.rb', File.join('app/models', class_path, "tagging.rb")
|
62
|
-
m.template 'tagging_test.rb', File.join('test/unit', class_path, "tagging_test.rb")
|
63
|
-
m.template 'taggings.yml', File.join('test/fixtures', class_path, "taggings.yml")
|
64
|
-
|
65
|
-
m.template 'tagging_extensions.rb', File.join('lib', 'tagging_extensions.rb')
|
66
|
-
|
67
|
-
unless options[:skip_migration]
|
68
|
-
m.migration_template 'migration.rb', 'db/migrate',
|
69
|
-
:migration_file_name => "create_tags_and_taggings"
|
70
|
-
end
|
71
|
-
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
protected
|
76
|
-
def banner
|
77
|
-
"Usage: #{$0} generate tagging [TaggableModelA TaggableModelB ...]"
|
78
|
-
end
|
79
|
-
|
80
|
-
def add_options!(opt)
|
81
|
-
opt.separator ''
|
82
|
-
opt.separator 'Options:'
|
83
|
-
opt.on("--skip-migration",
|
84
|
-
"Don't generate a migration file for this model") { |v| options[:skip_migration] = v }
|
85
|
-
opt.on("--self-referential",
|
86
|
-
"Allow tags to tag themselves.") { |v| options[:self_referential] = v }
|
87
|
-
end
|
88
|
-
|
89
|
-
# Useful for generating tests/fixtures
|
90
|
-
def model_one
|
91
|
-
taggable_models[0][1..-1].classify
|
92
|
-
end
|
93
|
-
|
94
|
-
def model_two
|
95
|
-
taggable_models[1][1..-1].classify rescue model_one
|
96
|
-
end
|
97
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
|
2
|
-
# A migration to add tables for Tag and Tagging. This file is automatically generated and added to your app if you run the tagging generator included with has_many_polymorphs.
|
3
|
-
|
4
|
-
class CreateTagsAndTaggings < ActiveRecord::Migration
|
5
|
-
|
6
|
-
# Add the new tables.
|
7
|
-
def self.up
|
8
|
-
create_table :tags do |t|
|
9
|
-
t.column :name, :string, :null => false
|
10
|
-
end
|
11
|
-
add_index :tags, :name, :unique => true
|
12
|
-
|
13
|
-
create_table :taggings do |t|
|
14
|
-
t.column :<%= parent_association_name -%>_id, :integer, :null => false
|
15
|
-
t.column :taggable_id, :integer, :null => false
|
16
|
-
t.column :taggable_type, :string, :null => false
|
17
|
-
# t.column :position, :integer # Uncomment this if you need to use <tt>acts_as_list</tt>.
|
18
|
-
end
|
19
|
-
add_index :taggings, [:<%= parent_association_name -%>_id, :taggable_id, :taggable_type], :unique => true
|
20
|
-
end
|
21
|
-
|
22
|
-
# Remove the tables.
|
23
|
-
def self.down
|
24
|
-
drop_table :tags
|
25
|
-
drop_table :taggings
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
|
2
|
-
# The Tag model. This model is automatically generated and added to your app if you run the tagging generator included with has_many_polymorphs.
|
3
|
-
|
4
|
-
class Tag < ActiveRecord::Base
|
5
|
-
|
6
|
-
DELIMITER = " " # Controls how to split and join tagnames from strings. You may need to change the <tt>validates_format_of parameters</tt> if you change this.
|
7
|
-
|
8
|
-
# If database speed becomes an issue, you could remove these validations and rescue the ActiveRecord database constraint errors instead.
|
9
|
-
validates_presence_of :name
|
10
|
-
validates_uniqueness_of :name, :case_sensitive => false
|
11
|
-
|
12
|
-
# Change this validation if you need more complex tag names.
|
13
|
-
validates_format_of :name, :with => /^[a-zA-Z0-9\_\-]+$/, :message => "can not contain special characters"
|
14
|
-
|
15
|
-
# Set up the polymorphic relationship.
|
16
|
-
has_many_polymorphs :taggables,
|
17
|
-
:from => [<%= taggable_models.join(", ") %>],
|
18
|
-
:through => :taggings,
|
19
|
-
:dependent => :destroy,
|
20
|
-
<% if options[:self_referential] -%> :as => :<%= parent_association_name -%>,
|
21
|
-
<% end -%>
|
22
|
-
:skip_duplicates => false,
|
23
|
-
:parent_extend => proc {
|
24
|
-
# Defined on the taggable models, not on Tag itself. Return the tagnames associated with this record as a string.
|
25
|
-
def to_s
|
26
|
-
self.map(&:name).sort.join(Tag::DELIMITER)
|
27
|
-
end
|
28
|
-
}
|
29
|
-
|
30
|
-
# Callback to strip extra spaces from the tagname before saving it. If you allow tags to be renamed later, you might want to use the <tt>before_save</tt> callback instead.
|
31
|
-
def before_create
|
32
|
-
self.name = name.downcase.strip.squeeze(" ")
|
33
|
-
end
|
34
|
-
|
35
|
-
# Tag::Error class. Raised by ActiveRecord::Base::TaggingExtensions if something goes wrong.
|
36
|
-
class Error < StandardError
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|