solidus_core 4.6.2 → 4.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +13 -13
- data/app/controllers/spree/base_controller.rb +2 -2
- data/app/helpers/spree/base_helper.rb +24 -24
- data/app/helpers/spree/checkout_helper.rb +7 -7
- data/app/helpers/spree/core/controller_helpers/auth.rb +1 -1
- data/app/helpers/spree/core/controller_helpers/common.rb +3 -2
- data/app/helpers/spree/core/controller_helpers/order.rb +3 -5
- data/app/helpers/spree/core/controller_helpers/payment_parameters.rb +1 -2
- data/app/helpers/spree/core/controller_helpers/strong_parameters.rb +10 -10
- data/app/helpers/spree/products_helper.rb +5 -5
- data/app/helpers/spree/store_helper.rb +1 -1
- data/app/mailers/spree/carton_mailer.rb +3 -3
- data/app/mailers/spree/order_mailer.rb +4 -4
- data/app/mailers/spree/reimbursement_mailer.rb +2 -2
- data/app/models/concerns/spree/active_storage_adapter/attachment.rb +5 -5
- data/app/models/concerns/spree/active_storage_adapter/normalization.rb +5 -5
- data/app/models/concerns/spree/active_storage_adapter.rb +2 -2
- data/app/models/concerns/spree/adjustment_source.rb +4 -4
- data/app/models/concerns/spree/display_money.rb +2 -2
- data/app/models/concerns/spree/named_type.rb +1 -1
- data/app/models/concerns/spree/ordered_property_value_list.rb +2 -2
- data/app/models/concerns/spree/preferences/persistable.rb +1 -1
- data/app/models/concerns/spree/ransackable_attributes.rb +1 -0
- data/app/models/concerns/spree/soft_deletable.rb +2 -1
- data/app/models/concerns/spree/state_change_tracking.rb +1 -1
- data/app/models/concerns/spree/user_address_book.rb +12 -12
- data/app/models/concerns/spree/user_methods.rb +9 -9
- data/app/models/concerns/spree/user_reporting.rb +1 -0
- data/app/models/spree/ability.rb +1 -1
- data/app/models/spree/address/name.rb +1 -1
- data/app/models/spree/address.rb +7 -7
- data/app/models/spree/adjustment.rb +11 -10
- data/app/models/spree/adjustment_reason.rb +2 -2
- data/app/models/spree/billing_integration.rb +2 -2
- data/app/models/spree/calculator/default_tax.rb +2 -2
- data/app/models/spree/calculator/flat_fee.rb +1 -1
- data/app/models/spree/calculator/flat_rate.rb +2 -2
- data/app/models/spree/calculator/returns/default_refund_amount.rb +3 -3
- data/app/models/spree/calculator/shipping/flat_percent_item_total.rb +2 -2
- data/app/models/spree/calculator/shipping/flat_rate.rb +3 -3
- data/app/models/spree/calculator/shipping/flexi_rate.rb +8 -8
- data/app/models/spree/calculator/shipping/per_item.rb +3 -3
- data/app/models/spree/calculator/shipping/price_sack.rb +3 -3
- data/app/models/spree/calculator.rb +31 -6
- data/app/models/spree/carton.rb +4 -4
- data/app/models/spree/classification.rb +2 -2
- data/app/models/spree/core/state_machines/order/class_methods.rb +3 -3
- data/app/models/spree/core/state_machines/return_item/acceptance_status.rb +1 -1
- data/app/models/spree/country.rb +1 -1
- data/app/models/spree/credit_card.rb +27 -27
- data/app/models/spree/customer_return.rb +5 -4
- data/app/models/spree/distributed_amounts_handler.rb +1 -1
- data/app/models/spree/fulfilment_changer.rb +22 -22
- data/app/models/spree/image/active_storage_attachment.rb +2 -2
- data/app/models/spree/image/paperclip_attachment.rb +8 -8
- data/app/models/spree/in_memory_order_updater.rb +260 -0
- data/app/models/spree/inventory_unit.rb +11 -11
- data/app/models/spree/item_total.rb +1 -1
- data/app/models/spree/legacy_user.rb +2 -2
- data/app/models/spree/line_item.rb +22 -12
- data/app/models/spree/log_entry.rb +3 -3
- data/app/models/spree/mergeable_orders_finder.rb +44 -0
- data/app/models/spree/money.rb +2 -1
- data/app/models/spree/null_promotion_adjuster.rb +1 -1
- data/app/models/spree/option_type.rb +1 -1
- data/app/models/spree/option_value.rb +2 -2
- data/app/models/spree/order/number_generator.rb +1 -1
- data/app/models/spree/order.rb +66 -64
- data/app/models/spree/order_cancellations.rb +1 -3
- data/app/models/spree/order_inventory.rb +5 -8
- data/app/models/spree/order_mutex.rb +1 -1
- data/app/models/spree/order_shipping.rb +1 -1
- data/app/models/spree/order_updater.rb +60 -38
- data/app/models/spree/payment/cancellation.rb +2 -2
- data/app/models/spree/payment/processing.rb +22 -22
- data/app/models/spree/payment.rb +25 -25
- data/app/models/spree/payment_capture_event.rb +2 -2
- data/app/models/spree/payment_create.rb +1 -1
- data/app/models/spree/payment_method/bogus_credit_card.rb +18 -18
- data/app/models/spree/payment_method/check.rb +3 -3
- data/app/models/spree/payment_method/credit_card.rb +1 -1
- data/app/models/spree/payment_method/simple_bogus_credit_card.rb +3 -3
- data/app/models/spree/payment_method/store_credit.rb +13 -13
- data/app/models/spree/payment_method.rb +12 -11
- data/app/models/spree/payment_source.rb +2 -2
- data/app/models/spree/permission_sets/dashboard_display.rb +3 -3
- data/app/models/spree/permission_sets/default_customer.rb +4 -4
- data/app/models/spree/preference.rb +1 -1
- data/app/models/spree/price.rb +7 -6
- data/app/models/spree/product/scopes.rb +23 -23
- data/app/models/spree/product.rb +37 -41
- data/app/models/spree/product_option_type.rb +2 -2
- data/app/models/spree/product_property.rb +3 -3
- data/app/models/spree/refund.rb +10 -10
- data/app/models/spree/refund_reason.rb +2 -2
- data/app/models/spree/reimbursement/credit.rb +1 -1
- data/app/models/spree/reimbursement.rb +8 -8
- data/app/models/spree/reimbursement_tax_calculator.rb +1 -1
- data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +1 -1
- data/app/models/spree/reimbursement_type.rb +2 -2
- data/app/models/spree/return_authorization.rb +7 -6
- data/app/models/spree/return_item/eligibility_validator/base_validator.rb +2 -2
- data/app/models/spree/return_item/eligibility_validator/default.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/inventory_shipped.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/no_reimbursements.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/order_completed.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/rma_required.rb +1 -1
- data/app/models/spree/return_item/eligibility_validator/time_since_purchase.rb +1 -1
- data/app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb +6 -6
- data/app/models/spree/return_item.rb +31 -30
- data/app/models/spree/return_reason.rb +1 -1
- data/app/models/spree/role.rb +1 -1
- data/app/models/spree/role_user.rb +1 -1
- data/app/models/spree/shipment.rb +44 -31
- data/app/models/spree/shipping_manifest.rb +44 -9
- data/app/models/spree/shipping_method.rb +9 -9
- data/app/models/spree/shipping_method_category.rb +2 -2
- data/app/models/spree/shipping_rate.rb +12 -10
- data/app/models/spree/shipping_rate_tax.rb +5 -4
- data/app/models/spree/simple_order_contents.rb +2 -2
- data/app/models/spree/state.rb +1 -1
- data/app/models/spree/stock/availability.rb +9 -9
- data/app/models/spree/stock/availability_validator.rb +3 -3
- data/app/models/spree/stock/differentiator.rb +2 -2
- data/app/models/spree/stock/estimator.rb +5 -5
- data/app/models/spree/stock/inventory_validator.rb +1 -1
- data/app/models/spree/stock/package.rb +3 -3
- data/app/models/spree/stock_item.rb +5 -5
- data/app/models/spree/stock_location.rb +6 -6
- data/app/models/spree/stock_movement.rb +2 -2
- data/app/models/spree/stock_quantities.rb +2 -2
- data/app/models/spree/store.rb +4 -4
- data/app/models/spree/store_credit.rb +30 -29
- data/app/models/spree/store_credit_category.rb +2 -2
- data/app/models/spree/store_credit_event.rb +6 -6
- data/app/models/spree/store_credit_reason.rb +1 -1
- data/app/models/spree/store_credit_type.rb +3 -3
- data/app/models/spree/store_selector/by_server_name.rb +1 -1
- data/app/models/spree/store_selector/legacy.rb +1 -1
- data/app/models/spree/tax/item_tax.rb +1 -0
- data/app/models/spree/tax/order_tax.rb +1 -0
- data/app/models/spree/tax_category.rb +3 -3
- data/app/models/spree/tax_rate.rb +5 -5
- data/app/models/spree/tax_rate_tax_category.rb +2 -2
- data/app/models/spree/taxon/active_storage_attachment.rb +2 -2
- data/app/models/spree/taxon/paperclip_attachment.rb +4 -4
- data/app/models/spree/taxon.rb +16 -17
- data/app/models/spree/taxon_brand_selector.rb +3 -3
- data/app/models/spree/unauthorized_redirect_handler.rb +1 -1
- data/app/models/spree/unit_cancel.rb +4 -4
- data/app/models/spree/user_address.rb +3 -3
- data/app/models/spree/user_last_url_storer/rules/authentication_rule.rb +6 -8
- data/app/models/spree/user_last_url_storer.rb +1 -1
- data/app/models/spree/variant/price_selector.rb +1 -1
- data/app/models/spree/variant/pricing_options.rb +1 -1
- data/app/models/spree/variant/scopes.rb +9 -9
- data/app/models/spree/variant.rb +25 -25
- data/app/models/spree/variant_property_rule.rb +2 -2
- data/app/models/spree/variant_property_rule_condition.rb +1 -1
- data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +4 -4
- data/app/models/spree/wallet/default_payment_builder.rb +1 -1
- data/app/models/spree/wallet_payment_source.rb +2 -2
- data/app/models/spree/zone.rb +18 -18
- data/app/models/spree/zone_member.rb +1 -1
- data/app/subscribers/spree/carton_shipped_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/order_cancel_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/order_confirmation_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/order_inventory_cancellation_mailer_subscriber.rb +2 -2
- data/app/subscribers/spree/reimbursement_mailer_subscriber.rb +2 -2
- data/app/views/layouts/spree/base_mailer.html.erb +1 -0
- data/app/views/layouts/spree/ink.license.txt +28 -0
- data/config/initializers/assets.rb +1 -1
- data/config/initializers/db_query_matchers.rb +9 -0
- data/config/initializers/friendly_id.rb +2 -2
- data/config/initializers/inflections.rb +1 -1
- data/config/initializers/money.rb +1 -1
- data/config/locales/en.yml +1 -0
- data/db/default/spree/countries.rb +7 -7
- data/db/default/spree/return_reasons.rb +11 -11
- data/db/default/spree/stock_locations.rb +1 -1
- data/db/default/spree/store_credit.rb +3 -4
- data/db/default/spree/stores.rb +1 -1
- data/db/default/spree/zones.rb +5 -5
- data/db/migrate/20160101010000_solidus_one_four.rb +16 -16
- data/db/migrate/20160420044191_create_spree_wallet_payment_sources.rb +3 -3
- data/db/migrate/20160420181916_migrate_credit_cards_to_wallet_payment_sources.rb +7 -6
- data/db/migrate/20161014221052_add_available_to_columns_and_remove_display_on_from_payment_methods.rb +10 -10
- data/db/migrate/20161123154034_add_available_to_users_and_remove_display_on_from_shipping_methods.rb +6 -6
- data/db/migrate/20161129035810_add_index_to_spree_payments_number.rb +1 -1
- data/db/migrate/20170319191942_remove_order_id_from_inventory_units.rb +4 -4
- data/db/migrate/20180322142651_add_amount_remaining_to_store_credit_events.rb +9 -16
- data/db/migrate/20200320144521_add_default_billng_flag_to_user_addresses.rb +1 -0
- data/db/migrate/20210815004823_add_unique_index_to_option_values_variants.rb +3 -3
- data/db/migrate/20250207104016_add_primary_taxon_to_products.rb +1 -1
- data/db/migrate/20250214094207_add_reverse_charge_status_to_store.rb +1 -1
- data/db/migrate/20250225051308_add_vat_id_email_and_reverse_charge_status_to_addresses.rb +1 -1
- data/db/seeds.rb +3 -3
- data/lib/generators/solidus/install/app_templates/authentication/custom.rb +2 -2
- data/lib/generators/solidus/install/app_templates/authentication/devise.rb +3 -3
- data/lib/generators/solidus/install/app_templates/authentication/existing.rb +1 -1
- data/lib/generators/solidus/install/app_templates/frontend/starter.rb +1 -1
- data/lib/generators/solidus/install/app_templates/payment_method/braintree.rb +1 -1
- data/lib/generators/solidus/install/app_templates/payment_method/paypal.rb +1 -1
- data/lib/generators/solidus/install/app_templates/payment_method/stripe.rb +2 -2
- data/lib/generators/solidus/install/install_generator.rb +51 -51
- data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +3 -0
- data/lib/generators/solidus/update/update_generator.rb +29 -29
- data/lib/generators/spree/custom_user/custom_user_generator.rb +6 -6
- data/lib/generators/spree/dummy/dummy_generator.rb +22 -24
- data/lib/generators/spree/dummy/templates/rails/boot.rb +3 -3
- data/lib/generators/spree/dummy/templates/rails/test.rb +4 -4
- data/lib/solidus_core.rb +1 -1
- data/lib/spree/app_configuration.rb +59 -47
- data/lib/spree/bus.rb +1 -1
- data/lib/spree/config.rb +1 -1
- data/lib/spree/core/active_merchant_dependencies.rb +8 -8
- data/lib/spree/core/class_constantizer.rb +1 -1
- data/lib/spree/core/engine.rb +15 -15
- data/lib/spree/core/environment.rb +1 -1
- data/lib/spree/core/environment_extension.rb +2 -2
- data/lib/spree/core/importer/order.rb +15 -15
- data/lib/spree/core/importer/product.rb +4 -4
- data/lib/spree/core/importer.rb +2 -2
- data/lib/spree/core/null_promotion_configuration.rb +7 -7
- data/lib/spree/core/permalinks.rb +1 -1
- data/lib/spree/core/product_filters.rb +94 -93
- data/lib/spree/core/role_configuration.rb +3 -3
- data/lib/spree/core/search/base.rb +5 -6
- data/lib/spree/core/search/variant.rb +3 -3
- data/lib/spree/core/stock_configuration.rb +10 -49
- data/lib/spree/core/validators/email.rb +1 -1
- data/lib/spree/core/version.rb +3 -3
- data/lib/spree/core/versioned_value.rb +4 -6
- data/lib/spree/core.rb +49 -49
- data/lib/spree/deprecated_instance_variable_proxy.rb +1 -1
- data/lib/spree/deprecation.rb +1 -1
- data/lib/spree/deprecator.rb +2 -2
- data/lib/spree/i18n.rb +2 -2
- data/lib/spree/localized_number.rb +3 -3
- data/lib/spree/manipulative_query_monitor.rb +19 -0
- data/lib/spree/migrations.rb +2 -2
- data/lib/spree/permitted_attributes.rb +12 -11
- data/lib/spree/preferences/configuration.rb +5 -5
- data/lib/spree/preferences/preferable.rb +8 -10
- data/lib/spree/preferences/preferable_class_methods.rb +16 -16
- data/lib/spree/preferences/preference_differentiator.rb +1 -1
- data/lib/spree/preferences/scoped_store.rb +2 -2
- data/lib/spree/preferences/static_model_preferences.rb +2 -2
- data/lib/spree/preferences/store.rb +6 -6
- data/lib/spree/testing_support/ability_helpers.rb +30 -30
- data/lib/spree/testing_support/authorization_helpers.rb +6 -5
- data/lib/spree/testing_support/blacklist_urls.rb +1 -1
- data/lib/spree/testing_support/bus_helpers.rb +1 -1
- data/lib/spree/testing_support/capybara_driver.rb +1 -1
- data/lib/spree/testing_support/capybara_ext.rb +21 -13
- data/lib/spree/testing_support/common_rake.rb +17 -16
- data/lib/spree/testing_support/dummy_ability.rb +1 -1
- data/lib/spree/testing_support/dummy_app/migrations.rb +1 -1
- data/lib/spree/testing_support/dummy_app/rake_tasks.rb +5 -5
- data/lib/spree/testing_support/dummy_app/routes.rb +1 -1
- data/lib/spree/testing_support/dummy_app.rb +49 -34
- data/lib/spree/testing_support/extension_rake.rb +2 -2
- data/lib/spree/testing_support/factories/address_factory.rb +12 -12
- data/lib/spree/testing_support/factories/adjustment_factory.rb +7 -7
- data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/calculator_factory.rb +6 -6
- data/lib/spree/testing_support/factories/carton_factory.rb +1 -1
- data/lib/spree/testing_support/factories/country_factory.rb +3 -3
- data/lib/spree/testing_support/factories/credit_card_factory.rb +3 -3
- data/lib/spree/testing_support/factories/customer_return_factory.rb +2 -2
- data/lib/spree/testing_support/factories/image_factory.rb +2 -2
- data/lib/spree/testing_support/factories/inventory_unit_factory.rb +4 -4
- data/lib/spree/testing_support/factories/line_item_factory.rb +2 -2
- data/lib/spree/testing_support/factories/option_type_factory.rb +2 -2
- data/lib/spree/testing_support/factories/option_value_factory.rb +2 -2
- data/lib/spree/testing_support/factories/order_factory.rb +16 -16
- data/lib/spree/testing_support/factories/payment_factory.rb +9 -9
- data/lib/spree/testing_support/factories/payment_method_factory.rb +10 -10
- data/lib/spree/testing_support/factories/price_factory.rb +2 -2
- data/lib/spree/testing_support/factories/product_factory.rb +2 -2
- data/lib/spree/testing_support/factories/product_option_type_factory.rb +1 -1
- data/lib/spree/testing_support/factories/product_property_factory.rb +1 -1
- data/lib/spree/testing_support/factories/property_factory.rb +3 -3
- data/lib/spree/testing_support/factories/refund_factory.rb +2 -2
- data/lib/spree/testing_support/factories/refund_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -1
- data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +1 -1
- data/lib/spree/testing_support/factories/return_authorization_factory.rb +3 -3
- data/lib/spree/testing_support/factories/return_item_factory.rb +1 -1
- data/lib/spree/testing_support/factories/return_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/role_factory.rb +2 -2
- data/lib/spree/testing_support/factories/shipment_factory.rb +3 -3
- data/lib/spree/testing_support/factories/shipping_category_factory.rb +1 -1
- data/lib/spree/testing_support/factories/shipping_method_factory.rb +7 -7
- data/lib/spree/testing_support/factories/shipping_rate_factory.rb +1 -1
- data/lib/spree/testing_support/factories/state_factory.rb +4 -4
- data/lib/spree/testing_support/factories/stock_item_factory.rb +1 -1
- data/lib/spree/testing_support/factories/stock_location_factory.rb +7 -7
- data/lib/spree/testing_support/factories/stock_movement_factory.rb +3 -3
- data/lib/spree/testing_support/factories/stock_package_factory.rb +3 -3
- data/lib/spree/testing_support/factories/store_credit_category_factory.rb +1 -1
- data/lib/spree/testing_support/factories/store_credit_event_factory.rb +8 -8
- data/lib/spree/testing_support/factories/store_credit_factory.rb +1 -1
- data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +1 -1
- data/lib/spree/testing_support/factories/store_credit_type_factory.rb +6 -6
- data/lib/spree/testing_support/factories/store_factory.rb +2 -2
- data/lib/spree/testing_support/factories/tax_category_factory.rb +1 -1
- data/lib/spree/testing_support/factories/tax_rate_factory.rb +1 -1
- data/lib/spree/testing_support/factories/taxon_factory.rb +3 -3
- data/lib/spree/testing_support/factories/taxonomy_factory.rb +1 -1
- data/lib/spree/testing_support/factories/user_factory.rb +2 -2
- data/lib/spree/testing_support/factories/variant_factory.rb +2 -2
- data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +1 -1
- data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +1 -1
- data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +1 -1
- data/lib/spree/testing_support/factories/zone_factory.rb +3 -3
- data/lib/spree/testing_support/factory_bot.rb +1 -1
- data/lib/spree/testing_support/flaky.rb +3 -2
- data/lib/spree/testing_support/flash.rb +2 -2
- data/lib/spree/testing_support/order_walkthrough.rb +7 -7
- data/lib/spree/testing_support/preferences.rb +1 -1
- data/lib/spree/testing_support/rake.rb +1 -1
- data/lib/spree/testing_support/shared_examples/calculator.rb +1 -1
- data/lib/spree/testing_support/shared_examples/gallery.rb +7 -7
- data/lib/spree/testing_support/shared_examples/order_factory.rb +9 -9
- data/lib/spree/testing_support/shared_examples/working_factory.rb +1 -1
- data/lib/spree/testing_support/translations.rb +1 -1
- data/lib/spree_core.rb +1 -1
- data/lib/tasks/payment_method.rake +2 -2
- data/solidus_core.gemspec +49 -49
- data/vendor/assets/javascripts/jquery.payment.license.txt +25 -0
- data/vendor/assets/javascripts/jsuri.license.txt +12 -0
- metadata +60 -53
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "rails/generators/rails/app/app_generator"
|
|
4
|
-
require
|
|
5
|
-
require
|
|
4
|
+
require "active_support/core_ext/hash"
|
|
5
|
+
require "spree/core/version"
|
|
6
6
|
|
|
7
7
|
module Spree
|
|
8
8
|
# @private
|
|
9
9
|
class DummyGenerator < Rails::Generators::Base
|
|
10
10
|
desc "Creates blank Rails application, installs Solidus and all sample data"
|
|
11
11
|
|
|
12
|
-
class_option :lib_name, default:
|
|
13
|
-
class_option :database, default:
|
|
12
|
+
class_option :lib_name, default: ""
|
|
13
|
+
class_option :database, default: ""
|
|
14
14
|
|
|
15
15
|
def self.source_paths
|
|
16
16
|
paths = superclass.source_paths
|
|
17
|
-
paths << File.expand_path(
|
|
17
|
+
paths << File.expand_path("templates", __dir__)
|
|
18
18
|
paths.flatten
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -30,7 +30,7 @@ module Spree
|
|
|
30
30
|
# calling slice on a Thor::CoreExtensions::HashWithIndifferentAccess
|
|
31
31
|
# object has been known to return nil
|
|
32
32
|
opts = {}.merge(options).slice(*PASSTHROUGH_OPTIONS)
|
|
33
|
-
opts[:database] =
|
|
33
|
+
opts[:database] = "sqlite3" if opts[:database].blank?
|
|
34
34
|
opts[:force] = true
|
|
35
35
|
opts[:skip_bundle] = true
|
|
36
36
|
opts[:skip_gemfile] = true
|
|
@@ -68,9 +68,9 @@ module Spree
|
|
|
68
68
|
def test_dummy_inject_extension_requirements
|
|
69
69
|
if DummyGeneratorHelper.inject_extension_requirements
|
|
70
70
|
inside dummy_path do
|
|
71
|
-
inject_require_for(
|
|
72
|
-
inject_require_for(
|
|
73
|
-
inject_require_for(
|
|
71
|
+
inject_require_for("spree_frontend")
|
|
72
|
+
inject_require_for("spree_backend")
|
|
73
|
+
inject_require_for("spree_api")
|
|
74
74
|
end
|
|
75
75
|
end
|
|
76
76
|
end
|
|
@@ -98,23 +98,21 @@ module Spree
|
|
|
98
98
|
protected
|
|
99
99
|
|
|
100
100
|
def inject_require_for(requirement)
|
|
101
|
-
inject_into_file
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
RUBY
|
|
109
|
-
), before: /require '#{@lib_name}'/, verbose: true
|
|
101
|
+
inject_into_file "config/application.rb", <<~RUBY, before: /require '#{@lib_name}'/, verbose: true
|
|
102
|
+
begin
|
|
103
|
+
require '#{requirement}'
|
|
104
|
+
rescue LoadError
|
|
105
|
+
# #{requirement} is not available.
|
|
106
|
+
end
|
|
107
|
+
RUBY
|
|
110
108
|
end
|
|
111
109
|
|
|
112
110
|
def dummy_path
|
|
113
|
-
ENV[
|
|
111
|
+
ENV["DUMMY_PATH"] || "spec/dummy"
|
|
114
112
|
end
|
|
115
113
|
|
|
116
114
|
def module_name
|
|
117
|
-
|
|
115
|
+
"Dummy"
|
|
118
116
|
end
|
|
119
117
|
|
|
120
118
|
def application_definition
|
|
@@ -126,10 +124,10 @@ module Spree
|
|
|
126
124
|
end
|
|
127
125
|
end
|
|
128
126
|
end
|
|
129
|
-
|
|
127
|
+
alias_method :store_application_definition!, :application_definition
|
|
130
128
|
|
|
131
129
|
def camelized
|
|
132
|
-
@camelized ||= name.gsub(/\W/,
|
|
130
|
+
@camelized ||= name.gsub(/\W/, "_").squeeze("_").camelize
|
|
133
131
|
end
|
|
134
132
|
|
|
135
133
|
def remove_directory_if_exists(path)
|
|
@@ -140,9 +138,9 @@ module Spree
|
|
|
140
138
|
core_gems = ["spree/core", "spree/api", "spree/backend", "spree/frontend"]
|
|
141
139
|
|
|
142
140
|
if core_gems.include?(lib_name)
|
|
143
|
-
|
|
141
|
+
"../../../../../Gemfile"
|
|
144
142
|
else
|
|
145
|
-
|
|
143
|
+
"../../../../Gemfile"
|
|
146
144
|
end
|
|
147
145
|
end
|
|
148
146
|
end
|
|
@@ -9,16 +9,16 @@ Dummy::Application.configure do
|
|
|
9
9
|
|
|
10
10
|
# Configure static asset server for tests with Cache-Control for performance
|
|
11
11
|
config.public_file_server.enabled = true
|
|
12
|
-
config.public_file_server.headers = {
|
|
12
|
+
config.public_file_server.headers = {"Cache-Control" => "public, max-age=3600"}
|
|
13
13
|
|
|
14
14
|
# Show full error reports and disable caching
|
|
15
|
-
config.consider_all_requests_local
|
|
15
|
+
config.consider_all_requests_local = true
|
|
16
16
|
config.action_controller.perform_caching = false
|
|
17
17
|
|
|
18
18
|
config.eager_load = false
|
|
19
19
|
|
|
20
20
|
# Raise exceptions instead of rendering exception templates
|
|
21
|
-
if Rails.gem_version >= Gem::Version.new(
|
|
21
|
+
if Rails.gem_version >= Gem::Version.new("7.1")
|
|
22
22
|
config.action_controller.raise_on_missing_callback_actions = true
|
|
23
23
|
config.action_dispatch.show_exceptions = :none
|
|
24
24
|
else
|
|
@@ -37,7 +37,7 @@ Dummy::Application.configure do
|
|
|
37
37
|
config.active_storage.service = :test
|
|
38
38
|
|
|
39
39
|
# Raise on deprecation warnings
|
|
40
|
-
if ENV[
|
|
40
|
+
if ENV["SOLIDUS_RAISE_DEPRECATIONS"].present?
|
|
41
41
|
Spree.deprecator.behavior = :raise
|
|
42
42
|
end
|
|
43
43
|
end
|
data/lib/solidus_core.rb
CHANGED
|
@@ -19,14 +19,15 @@
|
|
|
19
19
|
#
|
|
20
20
|
require "spree/core/search/base"
|
|
21
21
|
require "spree/core/search/variant"
|
|
22
|
-
require
|
|
23
|
-
require
|
|
22
|
+
require "spree/preferences/configuration"
|
|
23
|
+
require "spree/core/environment"
|
|
24
24
|
|
|
25
|
-
require
|
|
25
|
+
require "uri"
|
|
26
26
|
|
|
27
27
|
module Spree
|
|
28
28
|
class AppConfiguration < Preferences::Configuration
|
|
29
29
|
include Spree::Core::EnvironmentExtension
|
|
30
|
+
|
|
30
31
|
# Preferences (alphabetized to more easily lookup particular preferences)
|
|
31
32
|
|
|
32
33
|
# @!attribute [rw] address_requires_phone
|
|
@@ -39,7 +40,7 @@ module Spree
|
|
|
39
40
|
|
|
40
41
|
# @!attribute [rw] admin_interface_logo
|
|
41
42
|
# @return [String] URL of logo used in admin (default: +'logo/solidus.svg'+)
|
|
42
|
-
preference :admin_interface_logo, :string, default:
|
|
43
|
+
preference :admin_interface_logo, :string, default: "logo/solidus.svg"
|
|
43
44
|
|
|
44
45
|
# @!attribute [rw] admin_products_per_page
|
|
45
46
|
# @return [Integer] Number of products to display in admin (default: +10+)
|
|
@@ -146,7 +147,7 @@ module Spree
|
|
|
146
147
|
# @!attribute [rw] default_country_iso
|
|
147
148
|
# Default customer country ISO code
|
|
148
149
|
# @return [String] Two-letter ISO code of a {Spree::Country} to assumed as the country of an unidentified customer (default: "US")
|
|
149
|
-
preference :default_country_iso, :string, default:
|
|
150
|
+
preference :default_country_iso, :string, default: "US"
|
|
150
151
|
|
|
151
152
|
# @!attribute [rw] default_email_regexp
|
|
152
153
|
# @return [Regexp] Regex to be used in email validations, for example in Spree::EmailValidator
|
|
@@ -166,7 +167,7 @@ module Spree
|
|
|
166
167
|
|
|
167
168
|
# @!attribute [rw] layout
|
|
168
169
|
# @return [String] template to use for layout on the frontend (default: +"spree/layouts/spree_application"+)
|
|
169
|
-
preference :layout, :string, default:
|
|
170
|
+
preference :layout, :string, default: "spree/layouts/spree_application"
|
|
170
171
|
|
|
171
172
|
# !@attribute [rw] line_item_comparison_hooks
|
|
172
173
|
# @return [Array<Symbol>] An array of methods to call on {Spree::Order} to determine if a line item is equal to another
|
|
@@ -177,7 +178,7 @@ module Spree
|
|
|
177
178
|
|
|
178
179
|
# @!attribute [rw] logo
|
|
179
180
|
# @return [String] URL of logo used on frontend (default: +'logo/solidus.svg'+)
|
|
180
|
-
preference :logo, :string, default:
|
|
181
|
+
preference :logo, :string, default: "logo/solidus.svg"
|
|
181
182
|
|
|
182
183
|
# @!attribute [rw] log_entry_permitted_classes
|
|
183
184
|
# @return [Array<String>] An array of extra classes that are allowed to be
|
|
@@ -245,6 +246,10 @@ module Spree
|
|
|
245
246
|
# @return [Integer] Products to show per-page in the frontend (default: +12+)
|
|
246
247
|
preference :products_per_page, :integer, default: 12
|
|
247
248
|
|
|
249
|
+
# @!attribute [rw] recalculate_cart_prices
|
|
250
|
+
# @return [Boolean] Whether to recalculate cart prices when recalculating (default: +false+)
|
|
251
|
+
versioned_preference :recalculate_cart_prices, :boolean, initial_value: false, boundaries: {"5.0.0.alpha" => true}
|
|
252
|
+
|
|
248
253
|
# @!attribute [rw] require_master_price
|
|
249
254
|
# @return [Boolean] Require a price on the master variant of a product (default: +true+)
|
|
250
255
|
preference :require_master_price, :boolean, default: true
|
|
@@ -261,7 +266,7 @@ module Spree
|
|
|
261
266
|
# @return [Array] An array of roles where generating an api key for a user
|
|
262
267
|
# at role_user creation is desired when user has one of these roles.
|
|
263
268
|
# (default: +['admin']+)
|
|
264
|
-
preference :roles_for_auto_api_key, :array, default: [
|
|
269
|
+
preference :roles_for_auto_api_key, :array, default: ["admin"]
|
|
265
270
|
|
|
266
271
|
# @!attribute [rw] countries_that_use_nested_subregions
|
|
267
272
|
# @return [Array] An array of countries that use nested subregions, instead
|
|
@@ -269,7 +274,7 @@ module Spree
|
|
|
269
274
|
# to ensure the correct states are generated, and when running the states
|
|
270
275
|
# regenerate rake task.
|
|
271
276
|
# (default: +['IT']+)
|
|
272
|
-
preference :countries_that_use_nested_subregions, :array, default: [
|
|
277
|
+
preference :countries_that_use_nested_subregions, :array, default: ["IT"]
|
|
273
278
|
|
|
274
279
|
# @!attribute [rw] send_core_emails
|
|
275
280
|
# @return [Boolean] Whether to send transactional emails (default: true)
|
|
@@ -318,14 +323,14 @@ module Spree
|
|
|
318
323
|
end
|
|
319
324
|
|
|
320
325
|
# searcher_class allows spree extension writers to provide their own Search class
|
|
321
|
-
class_name_attribute :searcher_class, default:
|
|
326
|
+
class_name_attribute :searcher_class, default: "Spree::Core::Search::Base"
|
|
322
327
|
|
|
323
328
|
# Allows implementing custom pricing for variants
|
|
324
329
|
# @!attribute [rw] variant_price_selector_class
|
|
325
330
|
# @see Spree::Variant::PriceSelector
|
|
326
331
|
# @return [Class] an object that conforms to the API of
|
|
327
332
|
# the standard variant price selector class Spree::Variant::PriceSelector.
|
|
328
|
-
class_name_attribute :variant_price_selector_class, default:
|
|
333
|
+
class_name_attribute :variant_price_selector_class, default: "Spree::Variant::PriceSelector"
|
|
329
334
|
|
|
330
335
|
# Shortcut for getting the variant price selector's pricing options class
|
|
331
336
|
#
|
|
@@ -339,7 +344,7 @@ module Spree
|
|
|
339
344
|
pricing_options_class.new
|
|
340
345
|
end
|
|
341
346
|
|
|
342
|
-
class_name_attribute :variant_search_class, default:
|
|
347
|
+
class_name_attribute :variant_search_class, default: "Spree::Core::Search::Variant"
|
|
343
348
|
|
|
344
349
|
# Allows implementing custom vat prices generation
|
|
345
350
|
# @!attribute [rw] variant_vat_prices_generator_class
|
|
@@ -347,20 +352,20 @@ module Spree
|
|
|
347
352
|
# @return [Class] an object that conforms to the API of
|
|
348
353
|
# the standard variant vat prices generator class
|
|
349
354
|
# Spree::Variant::VatPriceGenerator.
|
|
350
|
-
class_name_attribute :variant_vat_prices_generator_class, default:
|
|
355
|
+
class_name_attribute :variant_vat_prices_generator_class, default: "Spree::Variant::VatPriceGenerator"
|
|
351
356
|
|
|
352
|
-
class_name_attribute :allocator_class, default:
|
|
357
|
+
class_name_attribute :allocator_class, default: "Spree::Stock::Allocator::OnHandFirst"
|
|
353
358
|
|
|
354
|
-
class_name_attribute :shipping_rate_sorter_class, default:
|
|
359
|
+
class_name_attribute :shipping_rate_sorter_class, default: "Spree::Stock::ShippingRateSorter"
|
|
355
360
|
|
|
356
|
-
class_name_attribute :shipping_rate_selector_class, default:
|
|
361
|
+
class_name_attribute :shipping_rate_selector_class, default: "Spree::Stock::ShippingRateSelector"
|
|
357
362
|
|
|
358
363
|
# Allows providing your own class for calculating taxes on a shipping rate.
|
|
359
364
|
#
|
|
360
365
|
# @!attribute [rw] shipping_rate_tax_calculator_class
|
|
361
366
|
# @return [Class] a class with the same public interfaces as
|
|
362
367
|
# Spree::TaxCalculator::ShippingRate
|
|
363
|
-
class_name_attribute :shipping_rate_tax_calculator_class, default:
|
|
368
|
+
class_name_attribute :shipping_rate_tax_calculator_class, default: "Spree::TaxCalculator::ShippingRate"
|
|
364
369
|
|
|
365
370
|
# Allows providing your own Mailer for order mailer.
|
|
366
371
|
#
|
|
@@ -369,14 +374,14 @@ module Spree
|
|
|
369
374
|
# "cancel_email" and "inventory_cancellation_email"
|
|
370
375
|
# (e.g. an ActionMailer with a "confirm_email" method) with the same
|
|
371
376
|
# signature as Spree::OrderMailer.confirm_email.
|
|
372
|
-
class_name_attribute :order_mailer_class, default:
|
|
377
|
+
class_name_attribute :order_mailer_class, default: "Spree::OrderMailer"
|
|
373
378
|
|
|
374
379
|
# Allows providing your own order update attributes class for checkout.
|
|
375
380
|
#
|
|
376
381
|
# @!attribute [rw] order_update_attributes_class
|
|
377
382
|
# @return [Class] a class that responds to "call"
|
|
378
383
|
# with the same signature as Spree::OrderUpdateAttributes.
|
|
379
|
-
class_name_attribute :order_update_attributes_class, default:
|
|
384
|
+
class_name_attribute :order_update_attributes_class, default: "Spree::OrderUpdateAttributes"
|
|
380
385
|
|
|
381
386
|
# Allows providing a different order recalculator.
|
|
382
387
|
# @!attribute [rw] order_recalculator_class
|
|
@@ -384,7 +389,7 @@ module Spree
|
|
|
384
389
|
# @return [Class] an object that conforms to the API of
|
|
385
390
|
# the standard order recalculator class
|
|
386
391
|
# Spree::OrderUpdater.
|
|
387
|
-
class_name_attribute :order_recalculator_class, default:
|
|
392
|
+
class_name_attribute :order_recalculator_class, default: "Spree::OrderUpdater"
|
|
388
393
|
|
|
389
394
|
# Allows providing your own Mailer for reimbursement mailer.
|
|
390
395
|
#
|
|
@@ -392,7 +397,7 @@ module Spree
|
|
|
392
397
|
# @return [ActionMailer::Base] an object that responds to "reimbursement_email"
|
|
393
398
|
# (e.g. an ActionMailer with a "reimbursement_email" method) with the same
|
|
394
399
|
# signature as Spree::ReimbursementMailer.reimbursement_email.
|
|
395
|
-
class_name_attribute :reimbursement_mailer_class, default:
|
|
400
|
+
class_name_attribute :reimbursement_mailer_class, default: "Spree::ReimbursementMailer"
|
|
396
401
|
|
|
397
402
|
# Allows providing your own Mailer for shipped cartons.
|
|
398
403
|
#
|
|
@@ -400,14 +405,21 @@ module Spree
|
|
|
400
405
|
# @return [ActionMailer::Base] an object that responds to "shipped_email"
|
|
401
406
|
# (e.g. an ActionMailer with a "shipped_email" method) with the same
|
|
402
407
|
# signature as Spree::CartonMailer.shipped_email.
|
|
403
|
-
class_name_attribute :carton_shipped_email_class, default:
|
|
408
|
+
class_name_attribute :carton_shipped_email_class, default: "Spree::CartonMailer"
|
|
404
409
|
|
|
405
410
|
# Allows providing your own class for merging two orders.
|
|
406
411
|
#
|
|
407
412
|
# @!attribute [rw] order_merger_class
|
|
408
413
|
# @return [Class] a class with the same public interfaces
|
|
409
414
|
# as Spree::OrderMerger.
|
|
410
|
-
class_name_attribute :order_merger_class, default:
|
|
415
|
+
class_name_attribute :order_merger_class, default: "Spree::OrderMerger"
|
|
416
|
+
|
|
417
|
+
# Allows providing your own class for selecting which orders to merge.
|
|
418
|
+
#
|
|
419
|
+
# @!attribute [rw] mergeable_orders_finder_class
|
|
420
|
+
# @return [Class] a class with the same public interfaces as
|
|
421
|
+
# Spree::MergeableOrdersFinder.
|
|
422
|
+
class_name_attribute :mergeable_orders_finder_class, default: "Spree::MergeableOrdersFinder"
|
|
411
423
|
|
|
412
424
|
# Allows providing your own class for adding default payments to a user's
|
|
413
425
|
# order from their "wallet".
|
|
@@ -415,21 +427,21 @@ module Spree
|
|
|
415
427
|
# @!attribute [rw] default_payment_builder_class
|
|
416
428
|
# @return [Class] a class with the same public interfaces as
|
|
417
429
|
# Spree::Wallet::DefaultPaymentBuilder.
|
|
418
|
-
class_name_attribute :default_payment_builder_class, default:
|
|
430
|
+
class_name_attribute :default_payment_builder_class, default: "Spree::Wallet::DefaultPaymentBuilder"
|
|
419
431
|
|
|
420
432
|
# Allows providing your own class for managing the contents of an order.
|
|
421
433
|
#
|
|
422
434
|
# @!attribute [rw] order_contents_class
|
|
423
435
|
# @return [Class] a class with the same public interfaces as
|
|
424
436
|
# Spree::OrderContents.
|
|
425
|
-
class_name_attribute :order_contents_class, default:
|
|
437
|
+
class_name_attribute :order_contents_class, default: "Spree::SimpleOrderContents"
|
|
426
438
|
|
|
427
439
|
# Allows providing your own class for shipping an order.
|
|
428
440
|
#
|
|
429
441
|
# @!attribute [rw] order_shipping_class
|
|
430
442
|
# @return [Class] a class with the same public interfaces as
|
|
431
443
|
# Spree::OrderShipping.
|
|
432
|
-
class_name_attribute :order_shipping_class, default:
|
|
444
|
+
class_name_attribute :order_shipping_class, default: "Spree::OrderShipping"
|
|
433
445
|
|
|
434
446
|
# Allows providing your own class for managing the inventory units of a
|
|
435
447
|
# completed order.
|
|
@@ -437,7 +449,7 @@ module Spree
|
|
|
437
449
|
# @!attribute [rw] order_cancellations_class
|
|
438
450
|
# @return [Class] a class with the same public interfaces as
|
|
439
451
|
# Spree::OrderCancellations.
|
|
440
|
-
class_name_attribute :order_cancellations_class, default:
|
|
452
|
+
class_name_attribute :order_cancellations_class, default: "Spree::OrderCancellations"
|
|
441
453
|
|
|
442
454
|
# Allows providing your own class for canceling payments.
|
|
443
455
|
#
|
|
@@ -456,14 +468,14 @@ module Spree
|
|
|
456
468
|
# @!attribute [rw] add_payment_sources_to_wallet_class
|
|
457
469
|
# @return [Class] a class with the same public interfaces
|
|
458
470
|
# as Spree::Wallet::AddPaymentSourcesToWallet.
|
|
459
|
-
class_name_attribute :add_payment_sources_to_wallet_class, default:
|
|
471
|
+
class_name_attribute :add_payment_sources_to_wallet_class, default: "Spree::Wallet::AddPaymentSourcesToWallet"
|
|
460
472
|
|
|
461
473
|
# Allows providing your own class for recalculating totals on an item.
|
|
462
474
|
#
|
|
463
475
|
# @!attribute [rw] item_total_class
|
|
464
476
|
# @return [Class] a class with the same public interfaces as
|
|
465
477
|
# Spree::ItemTotal
|
|
466
|
-
class_name_attribute :item_total_class, default:
|
|
478
|
+
class_name_attribute :item_total_class, default: "Spree::ItemTotal"
|
|
467
479
|
|
|
468
480
|
# Allows providing your own class for calculating taxes on an order.
|
|
469
481
|
#
|
|
@@ -472,42 +484,42 @@ module Spree
|
|
|
472
484
|
# @!attribute [rw] tax_adjuster_class
|
|
473
485
|
# @return [Class] a class with the same public interfaces as
|
|
474
486
|
# Spree::Tax::OrderAdjuster
|
|
475
|
-
class_name_attribute :tax_adjuster_class, default:
|
|
487
|
+
class_name_attribute :tax_adjuster_class, default: "Spree::Tax::OrderAdjuster"
|
|
476
488
|
|
|
477
489
|
# Allows providing your own class for calculating taxes on an order.
|
|
478
490
|
#
|
|
479
491
|
# @!attribute [rw] tax_calculator_class
|
|
480
492
|
# @return [Class] a class with the same public interfaces as
|
|
481
493
|
# Spree::TaxCalculator::Default
|
|
482
|
-
class_name_attribute :tax_calculator_class, default:
|
|
494
|
+
class_name_attribute :tax_calculator_class, default: "Spree::TaxCalculator::Default"
|
|
483
495
|
|
|
484
496
|
# Allows providing your own class for choosing which store to use.
|
|
485
497
|
#
|
|
486
498
|
# @!attribute [rw] current_store_selector_class
|
|
487
499
|
# @return [Class] a class with the same public interfaces as
|
|
488
500
|
# Spree::CurrentStoreSelector
|
|
489
|
-
class_name_attribute :current_store_selector_class, default:
|
|
501
|
+
class_name_attribute :current_store_selector_class, default: "Spree::StoreSelector::ByServerName"
|
|
490
502
|
|
|
491
503
|
# Allows providing your own class for creating urls on taxons
|
|
492
504
|
#
|
|
493
505
|
# @!attribute [rw] taxon_url_parametizer_class
|
|
494
506
|
# @return [Class] a class that provides a `#parameterize` method that
|
|
495
507
|
# returns a String
|
|
496
|
-
class_name_attribute :taxon_url_parametizer_class, default:
|
|
508
|
+
class_name_attribute :taxon_url_parametizer_class, default: "ActiveSupport::Inflector"
|
|
497
509
|
|
|
498
510
|
# Allows providing your own class for image galleries on Variants
|
|
499
511
|
#
|
|
500
512
|
# @!attribute [rw] variant_gallery_class
|
|
501
513
|
# @return [Class] a class that implements an `images` method and returns an
|
|
502
514
|
# Enumerable of images adhering to the present_image_class interface
|
|
503
|
-
class_name_attribute :variant_gallery_class, default:
|
|
515
|
+
class_name_attribute :variant_gallery_class, default: "Spree::Gallery::VariantGallery"
|
|
504
516
|
|
|
505
517
|
# Allows providing your own class for image galleries on Products
|
|
506
518
|
#
|
|
507
519
|
# @!attribute [rw] product_gallery_class
|
|
508
520
|
# @return [Class] a class that implements an `images` method and returns an
|
|
509
521
|
# Enumerable of images adhering to the present_image_class interface
|
|
510
|
-
class_name_attribute :product_gallery_class, default:
|
|
522
|
+
class_name_attribute :product_gallery_class, default: "Spree::Gallery::ProductGallery"
|
|
511
523
|
|
|
512
524
|
# Allows switching attachment library for Image
|
|
513
525
|
#
|
|
@@ -525,7 +537,7 @@ module Spree
|
|
|
525
537
|
# `%w(image/jpeg image/jpg image/png image/gif).freeze` is the default.
|
|
526
538
|
#
|
|
527
539
|
# @return [Array]
|
|
528
|
-
class_name_attribute :allowed_image_mime_types, default: %w
|
|
540
|
+
class_name_attribute :allowed_image_mime_types, default: %w[image/jpeg image/jpg image/png image/gif].freeze
|
|
529
541
|
|
|
530
542
|
# @!attribute [rw] product_image_style_default
|
|
531
543
|
#
|
|
@@ -544,10 +556,10 @@ module Spree
|
|
|
544
556
|
# large: '1200x1200>' } is the default.
|
|
545
557
|
#
|
|
546
558
|
# @return [Hash]
|
|
547
|
-
class_name_attribute :product_image_styles, default: {
|
|
548
|
-
small:
|
|
549
|
-
product:
|
|
550
|
-
large:
|
|
559
|
+
class_name_attribute :product_image_styles, default: {mini: "48x48>",
|
|
560
|
+
small: "400x400>",
|
|
561
|
+
product: "680x680>",
|
|
562
|
+
large: "1200x1200>"}
|
|
551
563
|
|
|
552
564
|
# Allows to provide your own class for tracking state changes of stateful models
|
|
553
565
|
#
|
|
@@ -562,14 +574,14 @@ module Spree
|
|
|
562
574
|
# @!attribute [rw] store_credit_prioritizer_class
|
|
563
575
|
# @return [Class] a class with the same public interfaces as
|
|
564
576
|
# Spree::StoreCreditPrioritizer.
|
|
565
|
-
class_name_attribute :store_credit_prioritizer_class, default:
|
|
577
|
+
class_name_attribute :store_credit_prioritizer_class, default: "Spree::StoreCreditPrioritizer"
|
|
566
578
|
|
|
567
579
|
# Allows finding brand for product.
|
|
568
580
|
#
|
|
569
581
|
# @!attribute [rw] brand_selector_class
|
|
570
582
|
# @return [Class] a class with the same public interfaces as
|
|
571
583
|
# Spree::TaxonBrandSelector.
|
|
572
|
-
class_name_attribute :brand_selector_class, default:
|
|
584
|
+
class_name_attribute :brand_selector_class, default: "Spree::TaxonBrandSelector"
|
|
573
585
|
|
|
574
586
|
# @!attribute [rw] taxon_image_style_default
|
|
575
587
|
#
|
|
@@ -588,7 +600,7 @@ module Spree
|
|
|
588
600
|
# large: '1200x1200>' } is the default.
|
|
589
601
|
#
|
|
590
602
|
# @return [Hash]
|
|
591
|
-
class_name_attribute :taxon_image_styles, default: {
|
|
603
|
+
class_name_attribute :taxon_image_styles, default: {mini: "32x32>", normal: "128x128>"}
|
|
592
604
|
|
|
593
605
|
# Allows switching attachment library for Taxon
|
|
594
606
|
#
|
|
@@ -618,7 +630,7 @@ module Spree
|
|
|
618
630
|
# @return [Pathname] the configured path. (default: `Rails.root.join('db', 'migrate')`)
|
|
619
631
|
attr_writer :migration_path
|
|
620
632
|
def migration_path
|
|
621
|
-
@migration_path ||= ::Rails.root.join(
|
|
633
|
+
@migration_path ||= ::Rails.root.join("db", "migrate")
|
|
622
634
|
end
|
|
623
635
|
|
|
624
636
|
# Allows providing your own class instance for generating order numbers.
|
|
@@ -694,14 +706,14 @@ module Spree
|
|
|
694
706
|
|
|
695
707
|
def roles
|
|
696
708
|
@roles ||= Spree::RoleConfiguration.new.tap do |roles|
|
|
697
|
-
roles.assign_permissions :default, [
|
|
698
|
-
roles.assign_permissions :admin, [
|
|
709
|
+
roles.assign_permissions :default, ["Spree::PermissionSets::DefaultCustomer"]
|
|
710
|
+
roles.assign_permissions :admin, ["Spree::PermissionSets::SuperUser"]
|
|
699
711
|
end
|
|
700
712
|
end
|
|
701
713
|
|
|
702
714
|
def user_last_url_storer_rules
|
|
703
715
|
@user_last_url_storer_rules ||= ::Spree::Core::ClassConstantizer::Set.new.tap do |set|
|
|
704
|
-
set <<
|
|
716
|
+
set << "Spree::UserLastUrlStorer::Rules::AuthenticationRule"
|
|
705
717
|
end
|
|
706
718
|
end
|
|
707
719
|
|
data/lib/spree/bus.rb
CHANGED
data/lib/spree/config.rb
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
3
|
+
require "active_merchant/errors"
|
|
4
4
|
|
|
5
|
-
require
|
|
5
|
+
require "active_merchant/billing/base"
|
|
6
6
|
|
|
7
|
-
require
|
|
8
|
-
require
|
|
9
|
-
require
|
|
7
|
+
require "active_merchant/billing/avs_result"
|
|
8
|
+
require "active_merchant/billing/cvv_result"
|
|
9
|
+
require "active_merchant/billing/response"
|
|
10
10
|
|
|
11
|
-
require
|
|
12
|
-
require
|
|
13
|
-
require
|
|
11
|
+
require "active_merchant/billing/credit_card_methods"
|
|
12
|
+
require "active_merchant/billing/credit_card_formatting"
|
|
13
|
+
require "active_merchant/billing/credit_card"
|
data/lib/spree/core/engine.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
3
|
+
require "spree/core"
|
|
4
4
|
|
|
5
5
|
module Spree
|
|
6
6
|
module Core
|
|
@@ -9,7 +9,7 @@ module Spree
|
|
|
9
9
|
CREDIT_CARD_VERIFICATION_VALUE_PARAM = /payment.*source.*\.verification_value$/
|
|
10
10
|
|
|
11
11
|
isolate_namespace Spree
|
|
12
|
-
engine_name
|
|
12
|
+
engine_name "spree"
|
|
13
13
|
|
|
14
14
|
config.generators do |generator|
|
|
15
15
|
generator.test_framework :rspec
|
|
@@ -31,15 +31,15 @@ module Spree
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# leave empty initializers for backwards-compatability. Other apps might still rely on these events
|
|
34
|
-
initializer
|
|
35
|
-
initializer
|
|
36
|
-
initializer
|
|
37
|
-
initializer
|
|
38
|
-
initializer
|
|
39
|
-
initializer
|
|
40
|
-
initializer
|
|
41
|
-
initializer
|
|
42
|
-
initializer
|
|
34
|
+
initializer("spree.default_permissions", before: :load_config_initializers) {}
|
|
35
|
+
initializer("spree.register.calculators", before: :load_config_initializers) {}
|
|
36
|
+
initializer("spree.register.stock_splitters", before: :load_config_initializers) {}
|
|
37
|
+
initializer("spree.register.payment_methods", before: :load_config_initializers) {}
|
|
38
|
+
initializer("spree.promo.environment", before: :load_config_initializers) {}
|
|
39
|
+
initializer("spree.promo.register.promotion.calculators", before: :load_config_initializers) {}
|
|
40
|
+
initializer("spree.promo.register.promotion.rules", before: :load_config_initializers) {}
|
|
41
|
+
initializer("spree.promo.register.promotions.actions", before: :load_config_initializers) {}
|
|
42
|
+
initializer("spree.promo.register.promotions.shipping_actions", before: :load_config_initializers) {}
|
|
43
43
|
|
|
44
44
|
# Filter sensitive information during logging
|
|
45
45
|
initializer "spree.params.filter", before: :load_config_initializers do |app|
|
|
@@ -47,7 +47,7 @@ module Spree
|
|
|
47
47
|
%r{^password$},
|
|
48
48
|
%r{^password_confirmation$},
|
|
49
49
|
CREDIT_CARD_NUMBER_PARAM,
|
|
50
|
-
CREDIT_CARD_VERIFICATION_VALUE_PARAM
|
|
50
|
+
CREDIT_CARD_VERIFICATION_VALUE_PARAM
|
|
51
51
|
]
|
|
52
52
|
end
|
|
53
53
|
|
|
@@ -56,7 +56,7 @@ module Spree
|
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
# Setup pub/sub
|
|
59
|
-
initializer
|
|
59
|
+
initializer "spree.core.pub_sub" do |app|
|
|
60
60
|
app.reloader.to_prepare do
|
|
61
61
|
Spree::Bus.clear
|
|
62
62
|
|
|
@@ -95,13 +95,13 @@ module Spree
|
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
config.after_initialize do
|
|
98
|
-
Spree::Config.check_load_defaults_called(
|
|
98
|
+
Spree::Config.check_load_defaults_called("Spree::Config")
|
|
99
99
|
Spree::Config.static_model_preferences.validate!
|
|
100
100
|
end
|
|
101
101
|
|
|
102
102
|
config.after_initialize do
|
|
103
103
|
if defined?(Spree::Auth::Engine) &&
|
|
104
|
-
Gem::Version.new(Spree::Auth::VERSION) < Gem::Version.new(
|
|
104
|
+
Gem::Version.new(Spree::Auth::VERSION) < Gem::Version.new("2.5.4") &&
|
|
105
105
|
defined?(Spree::UsersController)
|
|
106
106
|
Spree::UsersController.protect_from_forgery with: :exception
|
|
107
107
|
end
|