Module: Spree

Defined in:
app/models/spree/image.rb,
lib/spree/core.rb,
lib/spree/i18n.rb,
lib/spree/money.rb,
lib/spree/events.rb,
lib/spree/webhooks.rb,
lib/spree/analytics.rb,
lib/spree/migrations.rb,
app/models/spree/role.rb,
app/models/spree/zone.rb,
lib/spree/core/engine.rb,
lib/spree/core/routes.rb,
app/models/spree/asset.rb,
app/models/spree/event.rb,
app/models/spree/order.rb,
app/models/spree/price.rb,
app/models/spree/state.rb,
app/models/spree/store.rb,
app/models/spree/taxon.rb,
lib/spree/core/version.rb,
lib/spree/translations.rb,
app/jobs/spree/base_job.rb,
app/models/spree/export.rb,
app/models/spree/import.rb,
app/models/spree/locale.rb,
app/models/spree/market.rb,
app/models/spree/policy.rb,
app/models/spree/refund.rb,
app/models/spree/report.rb,
lib/spree/core/partials.rb,
app/models/spree/ability.rb,
app/models/spree/address.rb,
app/models/spree/api_key.rb,
app/models/spree/channel.rb,
app/models/spree/country.rb,
app/models/spree/current.rb,
app/models/spree/digital.rb,
app/models/spree/gateway.rb,
app/models/spree/payment.rb,
app/models/spree/product.rb,
app/models/spree/variant.rb,
lib/spree/service_module.rb,
app/models/spree/category.rb,
app/models/spree/currency.rb,
app/models/spree/exchange.rb,
app/models/spree/shipment.rb,
app/models/spree/tax_rate.rb,
app/models/spree/taxonomy.rb,
app/models/spree/wishlist.rb,
lib/spree/core/components.rb,
lib/spree/events/registry.rb,
app/models/spree/data_feed.rb,
app/models/spree/gift_card.rb,
app/models/spree/line_item.rb,
app/models/spree/log_entry.rb,
app/models/spree/metafield.rb,
app/models/spree/promotion.rb,
app/models/spree/prototype.rb,
app/models/spree/role_user.rb,
app/services/spree/locales.rb,
lib/spree/localized_number.rb,
app/models/spree/adjustment.rb,
app/models/spree/calculator.rb,
app/models/spree/import_row.rb,
app/models/spree/invitation.rb,
app/models/spree/price_list.rb,
app/models/spree/price_rule.rb,
app/models/spree/setup_task.rb,
app/models/spree/stock_item.rb,
app/models/spree/subscriber.rb,
app/models/spree/taxon_rule.rb,
lib/spree/core/dependencies.rb,
app/models/spree/coupon_code.rb,
app/models/spree/credit_card.rb,
app/models/spree/integration.rb,
app/models/spree/legacy_user.rb,
app/models/spree/option_type.rb,
app/models/spree/return_item.rb,
app/models/spree/setup_tasks.rb,
app/models/spree/wished_item.rb,
app/models/spree/zone_member.rb,
app/services/spree/seeds/all.rb,
lib/spree/core/configuration.rb,
app/finders/spree/base_finder.rb,
app/finders/spree/taxons/find.rb,
app/helpers/spree/base_helper.rb,
app/mailers/spree/base_mailer.rb,
app/models/spree/custom_field.rb,
app/models/spree/digital_link.rb,
app/models/spree/option_value.rb,
app/models/spree/order_merger.rb,
app/models/spree/state_change.rb,
app/models/spree/stock/packer.rb,
app/models/spree/store_credit.rb,
app/models/spree/tax_category.rb,
app/services/spree/cart/empty.rb,
app/sorters/spree/base_sorter.rb,
app/models/spree/checkout/step.rb,
app/models/spree/gateway/bogus.rb,
app/models/spree/import_schema.rb,
app/models/spree/order/digital.rb,
app/models/spree/order_updater.rb,
app/models/spree/price_history.rb,
app/models/spree/product/slugs.rb,
app/models/spree/refresh_token.rb,
app/models/spree/refund_reason.rb,
app/models/spree/reimbursement.rb,
app/models/spree/shipping_rate.rb,
app/models/spree/stock/package.rb,
app/models/spree/store_product.rb,
app/models/spree/user_identity.rb,
app/models/spree/variant_media.rb,
app/services/spree/cart/create.rb,
app/services/spree/cart/update.rb,
app/services/spree/seeds/roles.rb,
app/services/spree/seeds/zones.rb,
lib/spree/core/pricing/context.rb,
lib/spree/events/adapters/base.rb,
lib/spree/permitted_attributes.rb,
lib/spree/testing_support/i18n.rb,
app/finders/spree/products/find.rb,
app/finders/spree/variants/find.rb,
app/helpers/spree/images_helper.rb,
app/helpers/spree/locale_helper.rb,
app/jobs/spree/imports/base_job.rb,
app/mailers/spree/export_mailer.rb,
app/mailers/spree/import_mailer.rb,
app/mailers/spree/report_mailer.rb,
app/models/spree/allowed_origin.rb,
app/models/spree/channel/gating.rb,
app/models/spree/classification.rb,
app/models/spree/customer_group.rb,
app/models/spree/exports/orders.rb,
app/models/spree/import_mapping.rb,
app/models/spree/inventory_unit.rb,
app/models/spree/market_country.rb,
app/models/spree/order/checkout.rb,
app/models/spree/order/payments.rb,
app/models/spree/order/webhooks.rb,
app/models/spree/order_approval.rb,
app/models/spree/order_contents.rb,
app/models/spree/payment_method.rb,
app/models/spree/payment_source.rb,
app/models/spree/promotion_rule.rb,
app/models/spree/stock/adjuster.rb,
app/models/spree/stock_location.rb,
app/models/spree/stock_movement.rb,
app/models/spree/stock_transfer.rb,
app/services/spree/cart/destroy.rb,
app/services/spree/carts/create.rb,
app/services/spree/carts/update.rb,
app/services/spree/seeds/states.rb,
app/services/spree/seeds/stores.rb,
app/sorters/spree/products/sort.rb,
lib/spree/core/number_generator.rb,
lib/spree/core/pricing/resolver.rb,
app/finders/spree/addresses/find.rb,
app/finders/spree/countries/find.rb,
app/mailers/spree/webhook_mailer.rb,
app/models/spree/customer_return.rb,
app/models/spree/gift_card_batch.rb,
app/models/spree/metafields/json.rb,
app/models/spree/order/gift_card.rb,
app/models/spree/order_inventory.rb,
app/models/spree/order_promotion.rb,
app/models/spree/payment_session.rb,
app/models/spree/prototype_taxon.rb,
app/models/spree/shipping_method.rb,
app/models/spree/stock/estimator.rb,
app/models/spree/store_promotion.rb,
app/models/spree/taxon_rules/tag.rb,
app/services/spree/cart/add_item.rb,
app/services/spree/checkout/next.rb,
app/services/spree/orders/cancel.rb,
app/services/spree/orders/create.rb,
app/services/spree/orders/update.rb,
app/services/spree/tags/bulk_add.rb,
lib/spree/testing_support/kernel.rb,
lib/spree/translation_migrations.rb,
app/helpers/spree/currency_helper.rb,
app/helpers/spree/products_helper.rb,
app/helpers/spree/shipment_helper.rb,
app/jobs/spree/variants/touch_job.rb,
app/models/spree/data_feed/google.rb,
app/models/spree/exports/products.rb,
app/models/spree/gateway_customer.rb,
app/models/spree/imports/products.rb,
app/models/spree/payment/webhooks.rb,
app/models/spree/payment_response.rb,
app/models/spree/product/channels.rb,
app/models/spree/product/webhooks.rb,
app/models/spree/promotion_action.rb,
app/models/spree/report_line_item.rb,
app/models/spree/shipment_handler.rb,
app/models/spree/stock/quantifier.rb,
app/models/spree/taxon_rules/sale.rb,
app/models/spree/variant/webhooks.rb,
app/models/spree/webhook_delivery.rb,
app/models/spree/webhook_endpoint.rb,
app/services/spree/account/create.rb,
app/services/spree/account/update.rb,
app/services/spree/cart/associate.rb,
app/services/spree/carts/complete.rb,
app/services/spree/generate_token.rb,
app/services/spree/orders/approve.rb,
app/services/spree/seeds/api_keys.rb,
app/helpers/spree/addresses_helper.rb,
app/models/concerns/spree/metadata.rb,
app/models/spree/checkout/registry.rb,
app/models/spree/exports/customers.rb,
app/models/spree/imports/customers.rb,
app/models/spree/invitations/store.rb,
app/models/spree/legacy_admin_user.rb,
app/models/spree/metafields/number.rb,
app/models/spree/shipment/webhooks.rb,
app/models/spree/shipping_category.rb,
app/models/spree/stock/coordinator.rb,
app/models/spree/stock/prioritizer.rb,
app/models/spree/stock_reservation.rb,
app/models/spree/store_credit_type.rb,
app/services/spree/checkout/update.rb,
app/services/spree/orders/complete.rb,
app/services/spree/payments/create.rb,
app/services/spree/seeds/countries.rb,
app/validators/spree/url_validator.rb,
lib/spree/core/dependencies_helper.rb,
lib/spree/core/preferences/masking.rb,
app/finders/spree/credit_cards/find.rb,
app/jobs/spree/exports/generate_job.rb,
app/jobs/spree/reports/generate_job.rb,
app/mailers/spree/admin_user_mailer.rb,
app/mailers/spree/invitation_mailer.rb,
app/models/spree/exports/gift_cards.rb,
app/models/spree/fulfilment_changer.rb,
app/models/spree/metafields/boolean.rb,
app/models/spree/order/address_book.rb,
app/models/spree/order/store_credit.rb,
app/models/spree/order_cancellation.rb,
app/models/spree/order_routing_rule.rb,
app/models/spree/payment/processing.rb,
app/models/spree/promotion_category.rb,
app/models/spree/reimbursement_type.rb,
app/models/spree/returns_calculator.rb,
app/models/spree/stock/content_item.rb,
app/models/spree/store_credit_event.rb,
app/models/spree/translations/batch.rb,
app/services/spree/addresses/create.rb,
app/services/spree/addresses/helper.rb,
app/services/spree/addresses/update.rb,
app/services/spree/cart/recalculate.rb,
app/services/spree/cart/remove_item.rb,
app/services/spree/checkout/advance.rb,
app/services/spree/gift_cards/apply.rb,
app/services/spree/seeds/admin_user.rb,
app/services/spree/shipments/create.rb,
app/services/spree/shipments/helper.rb,
app/services/spree/shipments/update.rb,
app/services/spree/tags/bulk_remove.rb,
app/jobs/spree/events/subscriber_job.rb,
app/models/concerns/spree/display_on.rb,
app/models/concerns/spree/metafields.rb,
app/models/concerns/spree/named_type.rb,
app/models/concerns/spree/searchable.rb,
app/models/concerns/spree/user_roles.rb,
app/models/spree/customer_group_user.rb,
app/models/spree/product_option_type.rb,
app/models/spree/product_publication.rb,
app/models/spree/promotion_rule_user.rb,
app/models/spree/reports/sales_total.rb,
app/models/spree/shipping_calculator.rb,
app/models/spree/stock/splitter/base.rb,
app/models/spree/stock_item/webhooks.rb,
app/services/spree/cart/set_quantity.rb,
app/services/spree/checkout/complete.rb,
app/services/spree/gift_cards/redeem.rb,
app/services/spree/gift_cards/remove.rb,
app/services/spree/line_items/create.rb,
app/services/spree/line_items/helper.rb,
app/services/spree/line_items/update.rb,
app/services/spree/newsletter/verify.rb,
app/services/spree/themes/duplicator.rb,
lib/spree/core/previews/preview_data.rb,
lib/spree/core/ransack_configuration.rb,
app/finders/spree/orders/find_current.rb,
app/finders/spree/stores/find_default.rb,
app/helpers/spree/integrations_helper.rb,
app/models/concerns/spree/prefixed_id.rb,
app/models/concerns/spree/publishable.rb,
app/models/concerns/spree/unique_name.rb,
app/models/spree/calculator/flat_rate.rb,
app/models/spree/checkout/requirement.rb,
app/models/spree/exports/coupon_codes.rb,
app/models/spree/metafield_definition.rb,
app/models/spree/metafields/long_text.rb,
app/models/spree/metafields/rich_text.rb,
app/models/spree/option_value_variant.rb,
app/models/spree/payment_method/check.rb,
app/models/spree/permission_sets/base.rb,
app/models/spree/promotion/rules/user.rb,
app/models/spree/promotion_rule_taxon.rb,
app/models/spree/reimbursement/credit.rb,
app/models/spree/return_authorization.rb,
app/models/spree/search_provider/base.rb,
app/models/spree/shipping_method_zone.rb,
app/models/spree/stock/differentiator.rb,
app/models/spree/store_payment_method.rb,
app/services/spree/carts/upsert_items.rb,
app/services/spree/compare_line_items.rb,
app/services/spree/line_items/destroy.rb,
app/services/spree/prices/bulk_upsert.rb,
app/services/spree/sample_data/loader.rb,
app/services/spree/shipments/add_item.rb,
lib/spree/testing_support/preferences.rb,
lib/spree/testing_support/url_helpers.rb,
app/finders/spree/orders/find_complete.rb,
app/finders/spree/orders/finder_helper.rb,
app/jobs/spree/imports/assign_tags_job.rb,
app/jobs/spree/imports/create_rows_job.rb,
app/models/concerns/spree/stores/setup.rb,
app/models/concerns/spree/user_address.rb,
app/models/concerns/spree/user_methods.rb,
app/models/spree/calculator/flexi_rate.rb,
app/models/spree/calculator/price_sack.rb,
app/models/spree/checkout/requirements.rb,
app/models/spree/metafields/short_text.rb,
app/models/spree/newsletter_subscriber.rb,
app/models/spree/option_type_prototype.rb,
app/models/spree/payment/custom_events.rb,
app/models/spree/payment_capture_event.rb,
app/models/spree/payment_setup_session.rb,
app/models/spree/price_rules/user_rule.rb,
app/models/spree/price_rules/zone_rule.rb,
app/models/spree/promotion/rules/taxon.rb,
app/models/spree/stock/splitter/weight.rb,
app/models/spree/store_credit_category.rb,
app/presenters/spree/variant_presenter.rb,
app/services/spree/country_to_timezone.rb,
app/services/spree/fulfillments/create.rb,
app/services/spree/orders/upsert_items.rb,
app/services/spree/products/duplicator.rb,
app/services/spree/taxons/add_products.rb,
app/sorters/spree/classifications/sort.rb,
lib/spree/core/controller_helpers/auth.rb,
app/jobs/spree/images/save_from_url_job.rb,
app/jobs/spree/imports/process_rows_job.rb,
app/models/concerns/spree/default_price.rb,
app/models/concerns/spree/display_money.rb,
app/models/concerns/spree/image_methods.rb,
app/models/concerns/spree/memoized_data.rb,
app/models/spree/calculator/default_tax.rb,
app/models/spree/order/currency_updater.rb,
app/models/spree/payment_sessions/bogus.rb,
app/models/spree/product_promotion_rule.rb,
app/models/spree/promotion/rules/market.rb,
app/models/spree/promotion_handler/cart.rb,
app/models/spree/promotion_handler/page.rb,
app/models/spree/shipment/custom_events.rb,
app/models/spree/stock/splitter/digital.rb,
app/services/spree/cart/change_currency.rb,
app/services/spree/credit_cards/destroy.rb,
app/services/spree/newsletter/link_user.rb,
app/services/spree/newsletter/subscribe.rb,
app/services/spree/seeds/tax_categories.rb,
app/subscribers/spree/export_subscriber.rb,
app/subscribers/spree/report_subscriber.rb,
lib/spree/core/controller_helpers/order.rb,
lib/spree/core/controller_helpers/store.rb,
lib/spree/core/controller_helpers/turbo.rb,
lib/spree/core/permission_configuration.rb,
lib/spree/testing_support/image_helpers.rb,
app/helpers/spree/localized_names_helper.rb,
app/jobs/spree/imports/process_group_job.rb,
app/jobs/spree/products/touch_taxons_job.rb,
app/jobs/spree/search_provider/index_job.rb,
app/models/concerns/spree/product_scopes.rb,
app/models/concerns/spree/stores/markets.rb,
app/models/concerns/spree/user_reporting.rb,
app/models/spree/adjustable/adjuster/tax.rb,
app/models/spree/custom_field_definition.rb,
app/models/spree/import_schemas/products.rb,
app/models/spree/payment/gateway_options.rb,
app/models/spree/price_rules/market_rule.rb,
app/models/spree/price_rules/volume_rule.rb,
app/models/spree/promotion/rules/channel.rb,
app/models/spree/promotion/rules/country.rb,
app/models/spree/promotion/rules/product.rb,
app/models/spree/reimbursement_performer.rb,
app/models/spree/stock_movement/webhooks.rb,
app/services/spree/cart/remove_line_item.rb,
app/services/spree/seeds/allowed_origins.rb,
app/services/spree/seeds/payment_methods.rb,
app/services/spree/seeds/stock_locations.rb,
app/services/spree/shipments/remove_item.rb,
lib/spree/core/controller_helpers/locale.rb,
lib/spree/testing_support/locale_helpers.rb,
app/jobs/spree/search_provider/remove_job.rb,
app/models/concerns/spree/number_as_param.rb,
app/models/concerns/spree/stores/channels.rb,
app/models/concerns/spree/user_management.rb,
app/models/spree/adjustable/adjuster/base.rb,
app/models/spree/import_schemas/customers.rb,
app/models/spree/payment_connection_error.rb,
app/models/spree/price_rules/channel_rule.rb,
app/models/spree/promotion/rules/currency.rb,
app/models/spree/promotion_handler/coupon.rb,
app/models/spree/search_provider/database.rb,
app/models/spree/shipping_method_category.rb,
app/models/spree/taxon_rules/available_on.rb,
app/services/spree/orders/build_shipments.rb,
app/services/spree/seeds/digital_delivery.rb,
app/services/spree/shipments/change_state.rb,
app/services/spree/taxons/remove_products.rb,
app/jobs/spree/payments/handle_webhook_job.rb,
app/models/concerns/spree/multi_searchable.rb,
app/models/concerns/spree/search_indexable.rb,
app/models/spree/calculator/tiered_percent.rb,
app/models/spree/reimbursement_type/credit.rb,
app/presenters/spree/csv/formula_sanitizer.rb,
app/presenters/spree/csv/metafields_helper.rb,
app/services/spree/payments/handle_webhook.rb,
app/subscribers/spree/event_log_subscriber.rb,
lib/generators/spree/dummy/dummy_generator.rb,
lib/generators/spree/model/model_generator.rb,
lib/spree/core/controller_helpers/currency.rb,
app/jobs/spree/gift_cards/bulk_generate_job.rb,
app/jobs/spree/products/refresh_metrics_job.rb,
app/models/concerns/spree/adjustment_source.rb,
app/models/concerns/spree/number_identifier.rb,
app/models/concerns/spree/preference_schema.rb,
app/models/spree/permission_sets/super_user.rb,
app/models/spree/promotion/rules/item_total.rb,
app/models/spree/promotion_action_line_item.rb,
app/models/spree/stock/splitter/backordered.rb,
app/presenters/spree/csv/customer_presenter.rb,
app/services/spree/account/addresses/create.rb,
app/services/spree/account/addresses/update.rb,
app/finders/spree/line_items/find_by_variant.rb,
app/jobs/spree/addresses/geocode_address_job.rb,
app/jobs/spree/imports/create_categories_job.rb,
app/jobs/spree/stock_reservations/expire_job.rb,
app/jobs/spree/variants/remove_line_item_job.rb,
app/models/concerns/spree/admin_user_methods.rb,
app/models/concerns/spree/has_image_alt_text.rb,
app/models/concerns/spree/typed_associations.rb,
app/models/spree/calculator/tiered_flat_rate.rb,
app/models/spree/order_routing/strategy/base.rb,
app/models/spree/payment_method/store_credit.rb,
app/models/spree/promotion/rules/first_order.rb,
app/models/spree/return_authorization_reason.rb,
app/models/spree/search_provider/meilisearch.rb,
app/presenters/spree/csv/gift_card_presenter.rb,
app/services/spree/checkout/add_store_credit.rb,
app/services/spree/sample_data/import_runner.rb,
app/services/spree/seeds/returns_environment.rb,
app/services/spree/seeds/shipping_categories.rb,
app/services/spree/stock_reservations/extend.rb,
app/finders/concerns/spree/product_filterable.rb,
app/jobs/spree/coupon_codes/bulk_generate_job.rb,
app/jobs/spree/products/auto_match_taxons_job.rb,
app/models/concerns/spree/user_payment_source.rb,
app/models/spree/asset/support/active_storage.rb,
app/models/spree/base_analytics_event_handler.rb,
app/models/spree/calculator/shipping/per_item.rb,
app/models/spree/exports/product_translations.rb,
app/models/spree/imports/product_translations.rb,
app/models/spree/order_routing/strategy/rules.rb,
app/models/spree/payment_setup_sessions/bogus.rb,
app/models/spree/permission_sets/user_display.rb,
app/models/spree/promotion/rules/option_value.rb,
app/models/spree/reimbursement_tax_calculator.rb,
app/models/spree/reports/products_performance.rb,
app/models/spree/stock/availability_validator.rb,
app/models/spree/stock/inventory_unit_builder.rb,
app/models/spree/stock_movement/custom_events.rb,
app/services/spree/coupon_codes/bulk_generate.rb,
app/services/spree/orders/create_user_account.rb,
app/services/spree/products/auto_match_taxons.rb,
app/services/spree/stock_reservations/release.rb,
app/services/spree/stock_reservations/reserve.rb,
app/services/spree/taxons/regenerate_products.rb,
app/services/spree/variants/remove_line_items.rb,
app/subscribers/spree/import_email_subscriber.rb,
lib/spree/testing_support/controller_requests.rb,
app/finders/spree/option_values/find_available.rb,
app/finders/spree/variants/option_types_finder.rb,
app/models/concerns/spree/integrations_concern.rb,
app/models/concerns/spree/parameterizable_name.rb,
app/models/spree/adjustable/adjuster/promotion.rb,
app/models/spree/calculator/shipping/flat_rate.rb,
app/models/spree/checkout/default_requirements.rb,
app/models/spree/order_routing/strategy/legacy.rb,
app/models/spree/permission_sets/order_display.rb,
app/models/spree/permission_sets/stock_display.rb,
app/models/spree/report_line_items/sales_total.rb,
app/models/spree/search_provider/search_result.rb,
app/presenters/spree/csv/coupon_code_presenter.rb,
app/presenters/spree/data_feeds/base_presenter.rb,
app/presenters/spree/filters/options_presenter.rb,
app/services/spree/checkout/get_shipping_rates.rb,
app/services/spree/imports/row_processors/base.rb,
app/validators/spree/addresses/phone_validator.rb,
app/jobs/spree/media/migrate_product_assets_job.rb,
app/models/concerns/spree/single_store_resource.rb,
app/models/concerns/spree/store_scoped_resource.rb,
app/models/concerns/spree/translatable_resource.rb,
app/models/concerns/spree/vat_price_calculation.rb,
app/models/spree/adjustable/adjustments_updater.rb,
app/models/spree/calculator/shipping/flexi_rate.rb,
app/models/spree/calculator/shipping/price_sack.rb,
app/models/spree/exports/newsletter_subscribers.rb,
app/models/spree/order_routing/strategy/reducer.rb,
app/models/spree/promotion/rules/customer_group.rb,
app/models/spree/promotion/rules/user_logged_in.rb,
app/models/spree/search_provider/filters_result.rb,
app/services/spree/cart/estimate_shipping_rates.rb,
app/services/spree/checkout/remove_store_credit.rb,
app/services/spree/wallet/create_payment_source.rb,
lib/spree/testing_support/authorization_helpers.rb,
app/models/concerns/spree/calculated_adjustments.rb,
app/models/concerns/spree/payment_source_concern.rb,
app/models/spree/calculator/percent_on_line_item.rb,
app/models/spree/permission_sets/product_display.rb,
app/models/spree/permission_sets/role_management.rb,
app/models/spree/permission_sets/user_management.rb,
app/models/spree/price_rules/customer_group_rule.rb,
app/models/spree/promotion/actions/free_shipping.rb,
app/models/spree/promotion_handler/free_shipping.rb,
app/presenters/spree/data_feeds/google_presenter.rb,
app/services/spree/seeds/store_credit_categories.rb,
app/services/spree/tracking_numbers/base_service.rb,
app/subscribers/spree/product_metrics_subscriber.rb,
lib/spree/core/preferences/runtime_configuration.rb,
app/models/spree/adjustable/promotion_accumulator.rb,
app/models/spree/authentication/strategy_registry.rb,
app/models/spree/permission_sets/default_customer.rb,
app/models/spree/permission_sets/order_management.rb,
app/models/spree/permission_sets/stock_management.rb,
app/models/spree/promotion/rules/one_use_per_user.rb,
app/models/spree/stock/splitter/shipping_category.rb,
app/services/spree/cart/remove_out_of_stock_items.rb,
app/subscribers/spree/admin_user_email_subscriber.rb,
app/subscribers/spree/invitation_email_subscriber.rb,
app/models/spree/permission_sets/dashboard_display.rb,
app/presenters/spree/csv/order_line_item_presenter.rb,
app/presenters/spree/csv/product_variant_presenter.rb,
app/services/spree/checkout/select_shipping_method.rb,
app/services/spree/imports/row_processors/customer.rb,
app/models/concerns/spree/presentation_translatable.rb,
app/models/spree/calculator/flat_percent_item_total.rb,
app/models/spree/image/configuration/active_storage.rb,
app/models/spree/permission_sets/product_management.rb,
lib/spree/core/controller_helpers/strong_parameters.rb,
app/models/concerns/spree/legacy_multi_store_support.rb,
app/models/concerns/spree/translatable_resource_slug.rb,
app/models/spree/import_schemas/product_translations.rb,
app/models/spree/order_routing/rules/minimize_splits.rb,
app/models/spree/promotion/actions/create_adjustment.rb,
app/models/spree/promotion/actions/create_line_items.rb,
app/presenters/spree/variants/option_types_presenter.rb,
app/services/spree/coupon_codes/coupon_codes_handler.rb,
app/services/spree/orders/update_contact_information.rb,
app/services/spree/seeds/default_reimbursement_types.rb,
lib/generators/spree/subscriber/subscriber_generator.rb,
app/jobs/spree/stock_locations/stock_items/create_job.rb,
app/models/spree/calculator/shipping/digital_delivery.rb,
app/models/spree/gateway/custom_payment_source_method.rb,
app/models/spree/order_routing/rules/default_location.rb,
app/models/spree/permission_sets/promotion_management.rb,
app/services/spree/products/prepare_nested_attributes.rb,
app/services/spree/stock_locations/stock_items/create.rb,
app/models/concerns/spree/translatable_resource_scopes.rb,
app/models/spree/order_routing/has_strategy_preference.rb,
app/presenters/spree/csv/product_translation_presenter.rb,
app/presenters/spree/search_provider/product_presenter.rb,
app/services/spree/stores/settings_defaults_by_country.rb,
lib/generators/spree/dummy_model/dummy_model_generator.rb,
lib/spree/events/adapters/active_support_notifications.rb,
app/models/spree/order_routing/rules/preferred_location.rb,
app/models/spree/promotion_handler/promotion_duplicator.rb,
app/models/spree/report_line_items/products_performance.rb,
app/models/spree/authentication/strategies/base_strategy.rb,
app/models/spree/reimbursement/reimbursement_type_engine.rb,
app/presenters/spree/csv/newsletter_subscriber_presenter.rb,
app/services/spree/locales/set_fallback_locale_for_store.rb,
lib/generators/spree/api_resource/api_resource_generator.rb,
app/jobs/spree/variants/remove_from_incomplete_orders_job.rb,
app/models/spree/calculator/returns/default_refund_amount.rb,
app/models/spree/permission_sets/configuration_management.rb,
app/models/spree/reimbursement_type/reimbursement_helpers.rb,
app/services/spree/imports/row_processors/product_variant.rb,
lib/generators/spree/authentication/dummy/dummy_generator.rb,
app/models/spree/promotion/actions/create_item_adjustments.rb,
app/models/spree/return_item/eligibility_validator/default.rb,
app/models/spree/reimbursement/reimbursement_type_validator.rb,
lib/generators/spree/authentication/custom/custom_generator.rb,
lib/generators/spree/authentication/devise/devise_generator.rb,
app/models/spree/calculator/shipping/flat_percent_item_total.rb,
app/models/spree/stock_reservations/insufficient_stock_error.rb,
app/services/spree/imports/row_processors/product_translation.rb,
lib/generators/spree/model_decorator/model_decorator_generator.rb,
app/models/spree/return_item/eligibility_validator/rma_required.rb,
app/models/spree/return_item/eligibility_validator/base_validator.rb,
app/models/spree/authentication/strategies/email_password_strategy.rb,
app/models/spree/return_item/eligibility_validator/order_completed.rb,
app/models/spree/return_item/eligibility_validator/inventory_shipped.rb,
app/models/spree/return_item/eligibility_validator/no_reimbursements.rb,
app/models/spree/return_item/eligibility_validator/time_since_purchase.rb,
app/models/spree/return_item/exchange_variant_eligibility/same_product.rb,
lib/generators/spree/controller_decorator/controller_decorator_generator.rb,
app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb

Overview

Permission set for managing store configuration and settings.

This permission set provides access to manage store settings, payment methods, shipping methods, and other configuration.

Examples:

Spree.permissions.assign(:store_admin, Spree::PermissionSets::ConfigurationManagement)

Defined Under Namespace

Modules: Account, Addresses, AddressesHelper, Adjustable, AdjustmentSource, AdminUserMethods, Analytics, Authentication, BaseHelper, CSV, CalculatedAdjustments, Cart, Carts, Checkout, Classifications, Core, Countries, CouponCodes, CreditCards, CurrencyHelper, DataFeeds, DefaultPrice, DependenciesHelper, DisplayMoney, DisplayOn, DummyGeneratorHelper, Events, Exports, Filters, Fulfillments, GiftCards, HasImageAltText, ImageMethods, Images, ImagesHelper, ImportSchemas, Imports, IntegrationsConcern, IntegrationsHelper, Invitations, LegacyMultiStoreSupport, LineItems, LocaleHelper, Locales, LocalizedNamesHelper, Media, MemoizedData, Metadata, Metafields, NamedType, Newsletter, NumberAsParam, NumberIdentifier, OptionValues, OrderRouting, Orders, ParameterizableName, PaymentSourceConcern, Payments, PermissionSets, PermittedAttributes, PreferenceSchema, Preferences, PrefixedId, PresentationTranslatable, PreviewData, PriceRules, Prices, Pricing, ProductFilterable, ProductScopes, Products, ProductsHelper, PromotionHandler, Publishable, RansackableAttributes, ReportLineItems, Reports, SampleData, SearchIndexable, SearchProvider, Searchable, Seeds, ServiceModule, ShipmentHelper, Shipments, SingleStoreResource, Stock, StockLocations, StockReservations, StoreScopedResource, Stores, Tags, TaxonRules, Taxons, TestingSupport, Themes, TrackingNumbers, TranslatableResource, TranslatableResourceScopes, TranslatableResourceSlug, Translations, TypedAssociations, UniqueName, UserAddress, UserManagement, UserMethods, UserPaymentSource, UserReporting, UserRoles, Variants, VatPriceCalculation, Wallet, Webhooks Classes: Ability, Address, Adjustment, AdminUserEmailSubscriber, AdminUserMailer, AdminUserPreview, AllowedOrigin, AnalyticsConfig, ApiKey, ApiResourceGenerator, Asset, Base, BaseAnalyticsEventHandler, BaseController, BaseFinder, BaseJob, BaseMailer, BaseSorter, Calculator, Category, Channel, Classification, CompareLineItems, ControllerDecoratorGenerator, Country, CountryToTimezone, CouponCode, CreditCard, Currency, Current, CustomerGroup, CustomerGroupUser, CustomerReturn, DataFeed, DependencyError, Digital, DigitalLink, DummyGenerator, DummyModelGenerator, Event, EventLogSubscriber, Exchange, Export, ExportMailer, ExportPreview, ExportSubscriber, FulfilmentChanger, Gateway, GatewayCustomer, GenerateToken, GiftCard, GiftCardBatch, Image, Import, ImportEmailSubscriber, ImportMailer, ImportMapping, ImportRow, ImportSchema, Integration, InventoryUnit, Invitation, InvitationEmailSubscriber, InvitationMailer, InvitationPreview, LegacyAdminUser, LegacyUser, LineItem, Locale, LocalizedNumber, LogEntry, Market, MarketCountry, Metafield, MetafieldDefinition, Migrations, ModelDecoratorGenerator, ModelGenerator, Money, NewsletterSubscriber, OptionType, OptionTypePrototype, OptionValue, OptionValueVariant, Order, OrderApproval, OrderCancellation, OrderContents, OrderInventory, OrderMerger, OrderPromotion, OrderRoutingRule, OrderUpdater, Payment, PaymentCaptureEvent, PaymentConnectionError, PaymentMethod, PaymentResponse, PaymentSession, PaymentSetupSession, PaymentSource, PermissionConfiguration, Policy, Preference, Price, PriceHistory, PriceList, PriceRule, Product, ProductMetricsSubscriber, ProductOptionType, ProductPromotionRule, ProductPublication, Promotion, PromotionAction, PromotionActionLineItem, PromotionCategory, PromotionRule, PromotionRuleTaxon, PromotionRuleUser, Prototype, PrototypeTaxon, RansackConfiguration, RefreshToken, Refund, RefundReason, Reimbursement, ReimbursementPerformer, ReimbursementTaxCalculator, ReimbursementType, Report, ReportLineItem, ReportMailer, ReportPreview, ReportSubscriber, ReturnAuthorization, ReturnAuthorizationReason, ReturnItem, ReturnsCalculator, Role, RoleUser, SetupTask, SetupTasks, Shipment, ShipmentHandler, ShippingCalculator, ShippingCategory, ShippingMethod, ShippingMethodCategory, ShippingMethodZone, ShippingRate, State, StateChange, StockItem, StockLocation, StockMovement, StockReservation, StockTransfer, Store, StoreCredit, StoreCreditCategory, StoreCreditEvent, StoreCreditType, StorePaymentMethod, StoreProduct, StorePromotion, Subscriber, SubscriberGenerator, TaxCategory, TaxRate, Taxon, TaxonRule, Taxonomy, TranslationHelperWrapper, TranslationMigrations, UrlValidator, UserIdentity, Variant, VariantMedia, VariantPresenter, WebhookDelivery, WebhookEndpoint, WebhookMailer, WebhookPreview, WishedItem, Wishlist, Zone, ZoneMember

Constant Summary collapse

VERSION =
'5.6.0.rc2'.freeze
CustomField =

Constant alias for the legacy Spree::Metafield class. Lets controllers, serializers, and 5.5+ extensions reference the model by its 6.0-bound name without the actual class rename (which lands with the table rename in 6.0).

This is a true constant alias — the underlying class, table, STI subclasses, and model_name are all Spree::Metafield. Only the constant name differs.

Metafield
CustomFieldDefinition =

Constant alias for the legacy Spree::MetafieldDefinition class. Lets controllers, serializers, and 5.5+ extensions reference the model by its 6.0-bound name without the actual class rename (which lands with the table rename in 6.0).

MetafieldDefinition
MultiSearchable =

Constant alias for Spree::Searchable — remove in Spree 6.0.

Lets legacy code and extensions reference the concern by its former name after the Searchable rename. The concern itself lives in Spree::Searchable; keeping the alias in its own file lets Zeitwerk manage (and reload) it, avoiding the "already initialized constant" warning that a second constant defined inside searchable.rb would raise.

Searchable

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.missing_translation_messagesObject

Returns the value of attribute missing_translation_messages.



12
13
14
# File 'lib/spree/testing_support/i18n.rb', line 12

def missing_translation_messages
  @missing_translation_messages
end

.unused_translation_messagesObject

Returns the value of attribute unused_translation_messages.



12
13
14
# File 'lib/spree/testing_support/i18n.rb', line 12

def unused_translation_messages
  @unused_translation_messages
end

.unused_translationsObject

Returns the value of attribute unused_translations.



12
13
14
# File 'lib/spree/testing_support/i18n.rb', line 12

def unused_translations
  @unused_translations
end

.used_translationsObject

Returns the value of attribute used_translations.



12
13
14
# File 'lib/spree/testing_support/i18n.rb', line 12

def used_translations
  @used_translations
end

Class Method Details

.adjustersObject



257
258
259
# File 'lib/spree/core.rb', line 257

def self.adjusters
  Rails.application.config.spree.adjusters
end

.adjusters=(value) ⇒ Object



261
262
263
# File 'lib/spree/core.rb', line 261

def self.adjusters=(value)
  Rails.application.config.spree.adjusters = value
end

.admin_authentication_strategiesSpree::Authentication::StrategyRegistry

Registry of authentication strategy classes for the Admin API.

Examples:

Registering an SSO strategy for admin users

Spree.admin_authentication_strategies.add(:okta, MyApp::Auth::OktaStrategy)

Returns:



421
422
423
# File 'lib/spree/core.rb', line 421

def self.admin_authentication_strategies
  Rails.application.config.spree.admin_authentication_strategies
end

.admin_authentication_strategies=(value) ⇒ Spree::Authentication::StrategyRegistry

Returns the assigned registry.

Parameters:

Returns:



427
428
429
# File 'lib/spree/core.rb', line 427

def self.admin_authentication_strategies=(value)
  Rails.application.config.spree.admin_authentication_strategies = value
end

.admin_user_class(constantize: true) ⇒ Object



64
65
66
67
68
69
70
# File 'lib/spree/core.rb', line 64

def self.admin_user_class(constantize: true)
  if @@admin_user_class.is_a?(Class)
    raise 'Spree.admin_user_class MUST be a String or Symbol object, not a Class object.'
  elsif @@admin_user_class.is_a?(String) || @@admin_user_class.is_a?(Symbol)
    constantize ? @@admin_user_class.to_s.constantize : @@admin_user_class.to_s
  end
end

.always_use_translations?Boolean

Returns:

  • (Boolean)


163
164
165
# File 'lib/spree/core.rb', line 163

def self.always_use_translations?
  Spree::Config.always_use_translations
end

.analyticsObject



431
432
433
# File 'lib/spree/core.rb', line 431

def self.analytics
  @analytics ||= AnalyticsConfig.new
end

.available_localesObject



19
20
21
22
23
24
25
26
# File 'lib/spree/i18n.rb', line 19

def available_locales
  locales = defined?(SpreeI18n) ? SpreeI18n::Locale.all.map(&:to_sym) : []
  locales << :en
  locales << I18n.locale
  locales << Rails.application.config.i18n.default_locale

  locales.uniq.compact
end

.base_class(constantize: true) ⇒ Object



47
48
49
50
51
52
53
54
# File 'lib/spree/core.rb', line 47

def self.base_class(constantize: true)
  @@base_class ||= 'Spree::Base'
  if @@base_class.is_a?(Class)
    raise 'Spree.base_class MUST be a String or Symbol object, not a Class object.'
  elsif @@base_class.is_a?(String) || @@base_class.is_a?(Symbol)
    constantize ? @@base_class.to_s.constantize : @@base_class.to_s
  end
end

.calculatorsObject

Environment accessors for easier configuration access Instead of Rails.application.config.spree.payment_methods you can use Spree.payment_methods



233
234
235
# File 'lib/spree/core.rb', line 233

def self.calculators
  Rails.application.config.spree.calculators
end

.calculators=(value) ⇒ Object



237
238
239
# File 'lib/spree/core.rb', line 237

def self.calculators=(value)
  Rails.application.config.spree.calculators = value
end

.check_missing_translationsObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/spree/testing_support/i18n.rb', line 28

def self.check_missing_translations
  self.missing_translation_messages = []
  self.used_translations ||= []
  used_translations.map { |a| a.split('.') }.each do |translation_keys|
    root = translations
    processed_keys = []
    translation_keys.each do |key|
      root = root.fetch(key.to_sym)
      processed_keys << key.to_sym
    rescue KeyError
      error = "#{(processed_keys << key).join('.')} (#{I18n.locale})"
      unless Spree.missing_translation_messages.include?(error)
        Spree.missing_translation_messages << error
      end
    end
  end
end

.check_unused_translationsObject



46
47
48
49
50
51
52
53
54
55
# File 'lib/spree/testing_support/i18n.rb', line 46

def self.check_unused_translations
  self.used_translations ||= []
  self.unused_translation_messages = []
  self.unused_translations = []
  load_translations(translations)
  translation_diff = unused_translations - used_translations
  translation_diff.each do |translation|
    Spree.unused_translation_messages << "#{translation} (#{I18n.locale})"
  end
end

.configObject

Used to configure Spree.

Example:

Spree.config do |config|
config.track_inventory_levels = false
end

This method is defined within the core gem on purpose. Some people may only wish to use the Core part of Spree.



209
210
211
212
213
# File 'lib/spree/core.rb', line 209

def self.config
  Rails.application.config.after_initialize do
    yield(Spree::Config)
  end
end

.data_feed_typesObject



297
298
299
# File 'lib/spree/core.rb', line 297

def self.data_feed_types
  Rails.application.config.spree.data_feed_types
end

.data_feed_types=(value) ⇒ Object



301
302
303
# File 'lib/spree/core.rb', line 301

def self.data_feed_types=(value)
  Rails.application.config.spree.data_feed_types = value
end

.dependencies {|Spree::Dependencies| ... } ⇒ Object

Used to set dependencies for Spree.

Example:

Spree.dependencies do |dependency|
dependency.cart_add_item_service = MyCustomAddToCart
end

This method is defined within the core gem on purpose. Some people may only wish to use the Core part of Spree.

Yields:

  • (Spree::Dependencies)


225
226
227
# File 'lib/spree/core.rb', line 225

def self.dependencies
  yield(Spree::Dependencies)
end

.events_adapter_class(constantize: true) ⇒ Class, String

Returns the events adapter class used for publishing and subscribing to events.

Examples:

Using a custom adapter

Spree.events_adapter_class = 'MyApp::Events::KafkaAdapter'

Parameters:

  • constantize (Boolean) (defaults to: true)

    whether to return the class or the string

Returns:

  • (Class, String)

    the adapter class or its name



149
150
151
152
153
154
155
156
157
# File 'lib/spree/core.rb', line 149

def self.events_adapter_class(constantize: true)
  @@events_adapter_class ||= 'Spree::Events::Adapters::ActiveSupportNotifications'

  if @@events_adapter_class.is_a?(Class)
    raise 'Spree.events_adapter_class MUST be a String or Symbol object, not a Class object.'
  elsif @@events_adapter_class.is_a?(String) || @@events_adapter_class.is_a?(Symbol)
    constantize ? @@events_adapter_class.to_s.constantize : @@events_adapter_class.to_s
  end
end

.export_typesObject



305
306
307
# File 'lib/spree/core.rb', line 305

def self.export_types
  Rails.application.config.spree.export_types
end

.export_types=(value) ⇒ Object



309
310
311
# File 'lib/spree/core.rb', line 309

def self.export_types=(value)
  Rails.application.config.spree.export_types = value
end

.google_places_api_keyObject



159
160
161
# File 'lib/spree/core.rb', line 159

def self.google_places_api_key
  @@google_places_api_key
end

.import_typesObject



313
314
315
# File 'lib/spree/core.rb', line 313

def self.import_types
  Rails.application.config.spree.import_types
end

.import_types=(value) ⇒ Object



317
318
319
# File 'lib/spree/core.rb', line 317

def self.import_types=(value)
  Rails.application.config.spree.import_types = value
end

.install_idString

Stable anonymous identifier for this Spree installation. Generated once, persisted in the preferences store and reused afterwards. It identifies the installation only

Deliberately not memoized: the persisted preference is the single source of truth, so processes that race to generate the first value converge on the winning row at the next read instead of each holding a different id for their lifetime.

Returns:

  • (String)

    UUID



193
194
195
196
197
# File 'lib/spree/core.rb', line 193

def self.install_id
  store = Spree::Preferences::Store.instance
  store.get('spree/install_id') { nil }.presence ||
    SecureRandom.uuid.tap { |id| store.set('spree/install_id', id) }
end

.integrationsObject



372
373
374
# File 'lib/spree/core.rb', line 372

def self.integrations
  Rails.application.config.spree.integrations
end

.integrations=(value) ⇒ Object



376
377
378
# File 'lib/spree/core.rb', line 376

def self.integrations=(value)
  Rails.application.config.spree.integrations = value
end

.line_item_comparison_hooksObject



289
290
291
# File 'lib/spree/core.rb', line 289

def self.line_item_comparison_hooks
  Rails.application.config.spree.line_item_comparison_hooks
end

.line_item_comparison_hooks=(value) ⇒ Object



293
294
295
# File 'lib/spree/core.rb', line 293

def self.line_item_comparison_hooks=(value)
  Rails.application.config.spree.line_item_comparison_hooks = value
end

.load_translations(hash, root = []) ⇒ Object



59
60
61
62
63
64
65
66
67
68
# File 'lib/spree/testing_support/i18n.rb', line 59

def self.load_translations(hash, root = [])
  hash.each do |k, v|
    if v.is_a?(Hash)
      load_translations(v, root.dup << k)
    else
      key = (root + [k]).join('.')
      unused_translations << key
    end
  end
end

.metafieldsObject



368
369
370
# File 'lib/spree/core.rb', line 368

def self.metafields
  Rails.application.config.spree.metafields
end

.method_missing(method_name, *args, &block) ⇒ Object

Dynamic methods for core dependencies

Examples:

Getting a dependency (returns resolved class)

Spree.cart_add_item_service.call(order: order, variant: variant)

Setting a dependency

Spree.cart_add_item_service = MyApp::CartAddItem


491
492
493
494
495
496
497
498
499
500
501
502
# File 'lib/spree/core.rb', line 491

def method_missing(method_name, *args, &block)
  base_name = method_name.to_s.chomp('=').to_sym

  return super unless core_dependency?(base_name)

  if method_name.to_s.end_with?('=')
    Spree::Dependencies.send(method_name, args.first)
  else
    # Returns resolved class (not string)
    Spree::Dependencies.send("#{method_name}_class")
  end
end

.mobility_column_fallbackObject

Mobility column_fallback option shared by every translatable model: read, write and query the base (untranslated) column when the target locale is the request's content locale — see Spree::Current#content_locale. Evaluated on every translated attribute read, so it must stay allocation-free and must not touch the database (Symbol#name returns the frozen interned string; Mobility always passes Symbol locales).



177
178
179
180
181
# File 'lib/spree/core.rb', line 177

def self.mobility_column_fallback
  return false if always_use_translations?

  ->(locale) { locale.name == Spree::Current.content_locale }
end

.normal_tObject

Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality. e.g return reasonable strings for missing translations



14
15
16
17
18
# File 'lib/spree/testing_support/i18n.rb', line 14

def translate(key, options = {})
  options[:scope] = [*options[:scope]].unshift(:spree).uniq

  TranslationHelperWrapper.new.translate(key, **options)
end

.order_routingObject



273
274
275
# File 'lib/spree/core.rb', line 273

def self.order_routing
  Rails.application.config.spree.order_routing
end

.order_routing=(value) ⇒ Object



277
278
279
# File 'lib/spree/core.rb', line 277

def self.order_routing=(value)
  Rails.application.config.spree.order_routing = value
end

.payment_methodsObject



249
250
251
# File 'lib/spree/core.rb', line 249

def self.payment_methods
  Rails.application.config.spree.payment_methods
end

.payment_methods=(value) ⇒ Object



253
254
255
# File 'lib/spree/core.rb', line 253

def self.payment_methods=(value)
  Rails.application.config.spree.payment_methods = value
end

.permissionsSpree::PermissionConfiguration

Permission configuration accessor for managing role-to-permission-set mappings.

Examples:

Assigning permission sets to a role

Spree.permissions.assign(:customer_service, [
  Spree::PermissionSets::OrderDisplay,
  Spree::PermissionSets::UserManagement
])

Clearing permission sets from a role

Spree.permissions.clear(:customer_service)

Returns:



466
467
468
# File 'lib/spree/core.rb', line 466

def self.permissions
  @permissions ||= PermissionConfiguration.new
end

.pricingObject



393
394
395
# File 'lib/spree/core.rb', line 393

def self.pricing
  Rails.application.config.spree.pricing
end

.pricing=(value) ⇒ Object



397
398
399
# File 'lib/spree/core.rb', line 397

def self.pricing=(value)
  Rails.application.config.spree.pricing = value
end

.private_storage_service_nameObject



72
73
74
75
76
77
78
79
80
# File 'lib/spree/core.rb', line 72

def self.private_storage_service_name
  if @@private_storage_service_name
    if @@private_storage_service_name.is_a?(String) || @@private_storage_service_name.is_a?(Symbol)
      @@private_storage_service_name.to_sym
    end
  else
    Rails.application.config.active_storage.service
  end
end

.promotionsObject



281
282
283
# File 'lib/spree/core.rb', line 281

def self.promotions
  Rails.application.config.spree.promotions
end

.promotions=(value) ⇒ Object



285
286
287
# File 'lib/spree/core.rb', line 285

def self.promotions=(value)
  Rails.application.config.spree.promotions = value
end

.public_storage_service_nameObject



82
83
84
85
86
87
88
89
90
# File 'lib/spree/core.rb', line 82

def self.public_storage_service_name
  if @@public_storage_service_name
    if @@public_storage_service_name.is_a?(String) || @@public_storage_service_name.is_a?(Symbol)
      @@public_storage_service_name.to_sym
    end
  else
    Rails.application.config.active_storage.service
  end
end

.queuesObject



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/spree/core.rb', line 96

def self.queues
  @@queues ||= OpenStruct.new(
    default: :default,
    events: :default,
    exports: :default,
    images: :default,
    imports: :default,
    products: :default,
    reports: :default,
    variants: :default,
    taxons: :default,
    stock_location_stock_items: :default,
    coupon_codes: :default,
    themes: :default,
    addresses: :default,
    gift_cards: :default,
    webhooks: :default,
    payment_webhooks: :default,
    api_keys: :default,
    search: :default,
    stock_reservations: :default
  )
end

.ransackSpree::RansackConfiguration

Ransack configuration accessor for managing custom ransackable attributes, associations, and scopes across Spree models.

Examples:

Adding custom searchable fields

Spree.ransack.add_attribute(Spree::Product, :vendor_id)
Spree.ransack.add_scope(Spree::Product, :by_vendor)
Spree.ransack.add_association(Spree::Product, :vendor)

Returns:



479
480
481
# File 'lib/spree/core.rb', line 479

def self.ransack
  @ransack ||= RansackConfiguration.new
end

.reportsObject



344
345
346
# File 'lib/spree/core.rb', line 344

def self.reports
  Rails.application.config.spree.reports
end

.reports=(value) ⇒ Object



348
349
350
# File 'lib/spree/core.rb', line 348

def self.reports=(value)
  Rails.application.config.spree.reports = value
end

.respond_to_missing?(method_name, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


504
505
506
507
# File 'lib/spree/core.rb', line 504

def respond_to_missing?(method_name, include_private = false)
  base_name = method_name.to_s.chomp('=').to_sym
  core_dependency?(base_name) || super
end

.root_domainObject



92
93
94
# File 'lib/spree/core.rb', line 92

def self.root_domain
  @@root_domain
end

.search_providerObject

Search provider class name. Controls product search, filtering, and faceted navigation.

Spree.search_provider = 'Spree::SearchProvider::Meilisearch'


134
135
136
# File 'lib/spree/core.rb', line 134

def self.search_provider
  @@search_provider ||= 'Spree::SearchProvider::Database'
end

.search_provider=(value) ⇒ Object



138
139
140
# File 'lib/spree/core.rb', line 138

def self.search_provider=(value)
  @@search_provider = value.to_s
end

.searcher_class(constantize: true) ⇒ Object



126
127
128
# File 'lib/spree/core.rb', line 126

def self.searcher_class(constantize: true)
  @@searcher_class
end

.searcher_class=(value) ⇒ Object

Deprecated.

Spree.searcher_class is deprecated and will be removed in Spree 5.5. Use Spree.search_provider instead.



121
122
123
124
# File 'lib/spree/core.rb', line 121

def self.searcher_class=(value)
  Spree::Deprecation.warn('Spree.searcher_class is deprecated and will be removed in Spree 5.5. Use Spree.search_provider instead.')
  @@searcher_class = value
end

.stock_splittersObject



265
266
267
# File 'lib/spree/core.rb', line 265

def self.stock_splitters
  Rails.application.config.spree.stock_splitters
end

.stock_splitters=(value) ⇒ Object



269
270
271
# File 'lib/spree/core.rb', line 269

def self.stock_splitters=(value)
  Rails.application.config.spree.stock_splitters = value
end

.store_authentication_strategiesSpree::Authentication::StrategyRegistry

Registry of authentication strategy classes for the Store API.

Examples:

Registering a third-party identity provider

Spree.store_authentication_strategies.add(:auth0, MyApp::Auth::Auth0Strategy)

Removing a strategy

Spree.store_authentication_strategies.remove(:email)

Returns:



407
408
409
# File 'lib/spree/core.rb', line 407

def self.store_authentication_strategies
  Rails.application.config.spree.store_authentication_strategies
end

.store_authentication_strategies=(value) ⇒ Spree::Authentication::StrategyRegistry

Returns the assigned registry.

Parameters:

Returns:



413
414
415
# File 'lib/spree/core.rb', line 413

def self.store_authentication_strategies=(value)
  Rails.application.config.spree.store_authentication_strategies = value
end

.store_setup_tasksSpree::SetupTasks

Registry of the Getting Started onboarding tasks shown on the admin dashboard. See SetupTasks for the extension API.

Returns:



356
357
358
# File 'lib/spree/core.rb', line 356

def self.store_setup_tasks
  @store_setup_tasks ||= Spree::SetupTasks.new
end

.subscribersObject

Event subscribers that handle lifecycle and custom events

Examples:

Adding a custom subscriber

Spree.subscribers << MyApp::OrderNotificationSubscriber

Removing a built-in subscriber

Spree.subscribers.delete(Spree::ExportSubscriber)


385
386
387
# File 'lib/spree/core.rb', line 385

def self.subscribers
  Rails.application.config.spree.subscribers
end

.subscribers=(value) ⇒ Object



389
390
391
# File 'lib/spree/core.rb', line 389

def self.subscribers=(value)
  Rails.application.config.spree.subscribers = value
end

.taggable_typesObject

Class-name strings ('Spree::Product', 'Spree::Order', Spree.user_class.to_s, plus any registered by apps) for resources that expose tags via acts_as_taggable_on :tags. Used by the Admin API /tags autocomplete endpoint to validate taggable_type. Apps extend the list in an initializer:

Spree.taggable_types << 'MyApp::Vendor'


336
337
338
# File 'lib/spree/core.rb', line 336

def self.taggable_types
  Rails.application.config.spree.taggable_types
end

.taggable_types=(value) ⇒ Object



340
341
342
# File 'lib/spree/core.rb', line 340

def self.taggable_types=(value)
  Rails.application.config.spree.taggable_types = value
end

.taxon_rulesObject



321
322
323
# File 'lib/spree/core.rb', line 321

def self.taxon_rules
  Rails.application.config.spree.taxon_rules
end

.taxon_rules=(value) ⇒ Object



325
326
327
# File 'lib/spree/core.rb', line 325

def self.taxon_rules=(value)
  Rails.application.config.spree.taxon_rules = value
end

.translatable_resourcesObject



360
361
362
# File 'lib/spree/core.rb', line 360

def self.translatable_resources
  Rails.application.config.spree.translatable_resources
end

.translatable_resources=(value) ⇒ Object



364
365
366
# File 'lib/spree/core.rb', line 364

def self.translatable_resources=(value)
  Rails.application.config.spree.translatable_resources = value
end

.translate(key, options = {}) ⇒ Object Also known as: t

Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality. e.g return reasonable strings for missing translations



13
14
15
16
17
# File 'lib/spree/i18n.rb', line 13

def translate(key, options = {})
  options[:scope] = [*options[:scope]].unshift(:spree).uniq

  TranslationHelperWrapper.new.translate(key, **options)
end

.translationsObject



70
71
72
# File 'lib/spree/testing_support/i18n.rb', line 70

def self.translations
  @translations ||= I18n.backend.send(:translations)[I18n.locale][:spree]
end

.use_translations?Boolean

Returns:

  • (Boolean)


167
168
169
# File 'lib/spree/core.rb', line 167

def self.use_translations?
  Spree::Config.always_use_translations || Spree::Current.content_locale != I18n.locale.name
end

.user_class(constantize: true) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/spree/core.rb', line 56

def self.user_class(constantize: true)
  if @@user_class.is_a?(Class)
    raise 'Spree.user_class MUST be a String or Symbol object, not a Class object.'
  elsif @@user_class.is_a?(String) || @@user_class.is_a?(Symbol)
    constantize ? @@user_class.to_s.constantize : @@user_class.to_s
  end
end

.validatorsObject



241
242
243
# File 'lib/spree/core.rb', line 241

def self.validators
  Rails.application.config.spree.validators
end

.validators=(value) ⇒ Object



245
246
247
# File 'lib/spree/core.rb', line 245

def self.validators=(value)
  Rails.application.config.spree.validators = value
end

.versionObject



4
5
6
# File 'lib/spree/core/version.rb', line 4

def self.version
  VERSION
end