Module: Spree
- Defined in:
- lib/spree/core/current_store.rb,
lib/spree/core.rb,
lib/spree/i18n.rb,
lib/spree/money.rb,
lib/spree/responder.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,
lib/spree/deprecation.rb,
app/models/spree/asset.rb,
app/models/spree/image.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,
app/models/spree/refund.rb,
lib/spree/core/importer.rb,
app/models/spree/ability.rb,
app/models/spree/address.rb,
app/models/spree/country.rb,
app/models/spree/gateway.rb,
app/models/spree/payment.rb,
app/models/spree/product.rb,
app/models/spree/tracker.rb,
app/models/spree/variant.rb,
app/models/spree/exchange.rb,
app/models/spree/property.rb,
app/models/spree/shipment.rb,
app/models/spree/tax_rate.rb,
app/models/spree/tax_rate.rb,
app/models/spree/taxonomy.rb,
lib/spree/core/permalinks.rb,
app/models/spree/line_item.rb,
app/models/spree/log_entry.rb,
app/models/spree/promotion.rb,
app/models/spree/prototype.rb,
app/models/spree/role_user.rb,
lib/spree/core/environment.rb,
lib/spree/core/search/base.rb,
lib/spree/localized_number.rb,
app/models/spree/adjustment.rb,
app/models/spree/calculator.rb,
app/models/spree/stock_item.rb,
lib/spree/promo/environment.rb,
app/models/spree/credit_card.rb,
app/models/spree/legacy_user.rb,
app/models/spree/option_type.rb,
app/models/spree/order_mutex.rb,
app/models/spree/return_item.rb,
app/models/spree/zone_member.rb,
app/helpers/spree/base_helper.rb,
app/mailers/spree/base_mailer.rb,
app/mailers/spree/test_mailer.rb,
app/models/spree/option_value.rb,
app/models/spree/state_change.rb,
app/models/spree/stock/packer.rb,
app/models/spree/tax_category.rb,
app/models/spree/user_address.rb,
lib/spree/core/importer/order.rb,
lib/spree/core/search/variant.rb,
app/helpers/spree/store_helper.rb,
app/mailers/spree/order_mailer.rb,
app/models/spree/gateway/bogus.rb,
app/models/spree/order_updater.rb,
app/models/spree/refund_reason.rb,
app/models/spree/reimbursement.rb,
app/models/spree/return_reason.rb,
app/models/spree/shipping_rate.rb,
app/models/spree/stock/package.rb,
app/models/spree/transfer_item.rb,
lib/spree/core/product_filters.rb,
lib/spree/permission_sets/base.rb,
lib/spree/permitted_attributes.rb,
lib/spree/testing_support/i18n.rb,
app/helpers/spree/orders_helper.rb,
app/helpers/spree/taxons_helper.rb,
app/mailers/spree/carton_mailer.rb,
app/models/spree/classification.rb,
app/models/spree/inventory_unit.rb,
app/models/spree/order/checkout.rb,
app/models/spree/order/payments.rb,
app/models/spree/order_contents.rb,
app/models/spree/payment_method.rb,
app/models/spree/product/scopes.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/models/spree/variant/scopes.rb,
lib/spree/core/importer/product.rb,
lib/spree/testing_support/flash.rb,
app/models/spree/customer_return.rb,
app/models/spree/order_inventory.rb,
app/models/spree/order_promotion.rb,
app/models/spree/prototype_taxon.rb,
app/models/spree/shipping_method.rb,
app/models/spree/stock/estimator.rb,
app/helpers/spree/checkout_helper.rb,
app/helpers/spree/products_helper.rb,
app/models/spree/item_adjustments.rb,
app/models/spree/line_item_action.rb,
app/models/spree/product_property.rb,
app/models/spree/promotion_action.rb,
app/models/spree/stock/quantifier.rb,
lib/spree/core/product_duplicator.rb,
lib/spree/core/role_configuration.rb,
lib/spree/testing_support/caching.rb,
app/models/spree/adjustment_reason.rb,
app/models/spree/app_configuration.rb,
app/models/spree/promotion_chooser.rb,
app/models/spree/shipping_category.rb,
app/models/spree/stock/coordinator.rb,
app/models/spree/stock/prioritizer.rb,
app/models/spree/store_credit_type.rb,
app/models/spree/user_class_handle.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/concerns/spree/named_type.rb,
app/models/spree/billing_integration.rb,
app/models/spree/product_option_type.rb,
app/models/spree/promotion_rule_user.rb,
app/models/spree/shipping_calculator.rb,
app/models/spree/stock/splitter/base.rb,
app/models/spree/user_stock_location.rb,
lib/spree/core/environment_extension.rb,
lib/spree/permission_sets/super_user.rb,
app/models/spree/calculator/flat_rate.rb,
app/models/spree/gateway/bogus_simple.rb,
app/models/spree/order_stock_location.rb,
app/models/spree/payment_method/check.rb,
app/models/spree/product_scope/scopes.rb,
app/models/spree/promotion/rules/user.rb,
app/models/spree/reimbursement/credit.rb,
app/models/spree/return_authorization.rb,
app/models/spree/shipping_method_zone.rb,
app/models/spree/stock/differentiator.rb,
app/models/spree/store_payment_method.rb,
lib/spree/testing_support/preferences.rb,
lib/spree/testing_support/url_helpers.rb,
app/mailers/spree/reimbursement_mailer.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/option_values_variant.rb,
app/models/spree/payment_capture_event.rb,
app/models/spree/promotion/rules/taxon.rb,
app/models/spree/stock/splitter/weight.rb,
app/models/spree/variant_property_rule.rb,
lib/spree/core/controller_helpers/auth.rb,
lib/spree/core/environment/calculators.rb,
lib/spree/core/unreturned_item_charger.rb,
lib/spree/permission_sets/user_display.rb,
app/models/concerns/spree/default_price.rb,
app/models/concerns/spree/display_money.rb,
app/models/spree/calculator/default_tax.rb,
app/models/spree/order/currency_updater.rb,
app/models/spree/product_promotion_rule.rb,
app/models/spree/promotion_handler/cart.rb,
app/models/spree/promotion_handler/page.rb,
lib/spree/core/controller_helpers/order.rb,
lib/spree/core/controller_helpers/store.rb,
lib/spree/mailer_previews/order_preview.rb,
lib/spree/permission_sets/order_display.rb,
lib/spree/permission_sets/stock_display.rb,
app/models/concerns/spree/user_reporting.rb,
app/models/spree/promotion/rules/product.rb,
app/models/spree/reimbursement_performer.rb,
lib/spree/core/controller_helpers/common.rb,
lib/spree/core/controller_helpers/search.rb,
lib/spree/mailer_previews/carton_preview.rb,
lib/spree/permission_sets/report_display.rb,
app/models/spree/calculator/free_shipping.rb,
app/models/spree/promotion_handler/coupon.rb,
app/models/spree/shipping_method_category.rb,
lib/spree/permission_sets/product_display.rb,
lib/spree/permission_sets/user_management.rb,
app/models/spree/calculator/tiered_percent.rb,
app/models/spree/promotion/rules/nth_order.rb,
app/models/spree/reimbursement_type/credit.rb,
app/models/spree/stock/inventory_validator.rb,
lib/generators/spree/dummy/dummy_generator.rb,
lib/spree/permission_sets/default_customer.rb,
lib/spree/permission_sets/order_management.rb,
lib/spree/permission_sets/stock_management.rb,
app/models/concerns/spree/adjustment_source.rb,
app/models/concerns/spree/user_address_book.rb,
app/models/spree/promotion/rules/item_total.rb,
app/models/spree/stock/splitter/backordered.rb,
lib/spree/permission_sets/dashboard_display.rb,
lib/spree/permission_sets/promotion_display.rb,
app/models/spree/calculator/percent_per_item.rb,
app/models/spree/calculator/tiered_flat_rate.rb,
app/models/spree/payment_method/store_credit.rb,
app/models/spree/promotion/rules/first_order.rb,
app/models/spree/variant_property_rule_value.rb,
lib/spree/permission_sets/product_management.rb,
app/models/concerns/spree/user_payment_source.rb,
app/models/spree/calculator/shipping/per_item.rb,
app/models/spree/promotion/rules/option_value.rb,
app/models/spree/reimbursement_tax_calculator.rb,
app/models/spree/stock/availability_validator.rb,
app/models/spree/stock/inventory_unit_builder.rb,
lib/spree/testing_support/controller_requests.rb,
app/models/spree/calculator/shipping/flat_rate.rb,
lib/generators/spree/install/install_generator.rb,
lib/spree/core/controller_helpers/respond_with.rb,
lib/spree/permission_sets/promotion_management.rb,
app/models/spree/calculator/shipping/flexi_rate.rb,
app/models/spree/calculator/shipping/price_sack.rb,
app/models/spree/promotion/rules/user_logged_in.rb,
lib/spree/permission_sets/configuration_display.rb,
lib/spree/testing_support/authorization_helpers.rb,
app/models/concerns/spree/calculated_adjustments.rb,
app/models/spree/calculator/percent_on_line_item.rb,
app/models/spree/promotion/actions/free_shipping.rb,
app/models/spree/promotion_handler/free_shipping.rb,
app/models/spree/variant_property_rule_condition.rb,
lib/spree/permission_sets/stock_transfer_display.rb,
app/models/concerns/spree/user_api_authentication.rb,
app/models/spree/promotion/rules/one_use_per_user.rb,
app/models/spree/stock/splitter/shipping_category.rb,
lib/spree/permission_sets/configuration_management.rb,
lib/spree/permission_sets/restricted_stock_display.rb,
app/models/spree/calculator/flat_percent_item_total.rb,
lib/spree/core/controller_helpers/strong_parameters.rb,
lib/spree/permission_sets/stock_transfer_management.rb,
app/models/spree/preferences/statically_configurable.rb,
app/models/spree/promotion/actions/create_adjustment.rb,
lib/spree/core/controller_helpers/payment_parameters.rb,
app/models/concerns/spree/ordered_property_value_list.rb,
app/models/spree/preferences/static_model_preferences.rb,
lib/spree/permission_sets/restricted_stock_management.rb,
lib/generators/spree/custom_user/custom_user_generator.rb,
app/models/spree/reimbursement/reimbursement_type_engine.rb,
app/models/spree/validations/db_maximum_length_validator.rb,
app/models/spree/calculator/returns/default_refund_amount.rb,
app/models/spree/reimbursement_type/reimbursement_helpers.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/spree/permission_sets/restricted_stock_transfer_display.rb,
app/models/spree/calculator/shipping/flat_percent_item_total.rb,
app/models/spree/promotion/rules/first_repeat_purchase_since.rb,
lib/spree/permission_sets/restricted_stock_transfer_management.rb,
app/models/spree/return_item/eligibility_validator/rma_required.rb,
app/models/spree/return_item/eligibility_validator/base_validator.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,
app/models/spree/return_item/exchange_variant_eligibility/same_option_value.rb
Overview
The reason for variant properties not being associated with variants (either directly or through an association table) is performance.
Variant properties are intended to be applied to a group of variants based on their option values. If there were thousands of variants that shared the same option value, attempting to associate a variant property with that group of variants would be problematic in terms of performance.
An added benefit to this approach is not having to associate existing variant properties with newly created variants. If the variant has the option values targeted by the rule, the properties will automatically apply to the variant.
Defined Under Namespace
Modules: AdjustmentSource, BaseHelper, CalculatedAdjustments, CheckoutHelper, Core, DefaultPrice, DisplayMoney, DummyGeneratorHelper, NamedType, OrderedPropertyValueList, OrdersHelper, PermissionSets, PermittedAttributes, Preferences, ProductsHelper, Promo, PromotionHandler, RansackableAttributes, Stock, StoreHelper, TaxonsHelper, TestingSupport, UserAddressBook, UserApiAuthentication, UserMethods, UserPaymentSource, UserReporting, Validations Classes: Ability, Address, Adjustment, AdjustmentReason, AppConfiguration, Asset, Base, BaseController, BaseMailer, BillingIntegration, Calculator, Carton, CartonMailer, Classification, Country, CreditCard, CustomUserGenerator, CustomerReturn, DefaultTaxZoneValidator, DummyGenerator, Exchange, Gateway, Image, InstallGenerator, InventoryUnit, ItemAdjustments, LegacyUser, LineItem, LineItemAction, LocalizedNumber, LogEntry, MailerPreviews, Migrations, Money, OptionType, OptionValue, OptionValuesVariant, Order, OrderCancellations, OrderCapturing, OrderCapturingFailures, OrderContents, OrderInventory, OrderMailer, OrderMutex, OrderPromotion, OrderShipping, OrderStockLocation, OrderUpdater, Payment, PaymentCaptureEvent, PaymentMethod, Preference, Price, Product, ProductDuplicator, ProductOptionType, ProductPromotionRule, ProductProperty, ProductScope, Promotion, PromotionAction, PromotionBuilder, PromotionCategory, PromotionChooser, PromotionCode, PromotionRule, PromotionRuleUser, Property, Prototype, PrototypeTaxon, Refund, RefundReason, Reimbursement, ReimbursementMailer, ReimbursementPerformer, ReimbursementTaxCalculator, ReimbursementType, Responder, ReturnAuthorization, ReturnItem, ReturnReason, ReturnsCalculator, Role, RoleConfiguration, RoleUser, Shipment, ShippingCalculator, ShippingCategory, ShippingManifest, ShippingMethod, ShippingMethodCategory, ShippingMethodZone, ShippingRate, State, StateChange, StockItem, StockLocation, StockMovement, StockTransfer, Store, StoreCredit, StoreCreditCategory, StoreCreditEvent, StoreCreditType, StoreCreditUpdateReason, StorePaymentMethod, TaxCategory, TaxRate, Taxon, Taxonomy, TestMailer, Tracker, TransferItem, TranslationHelperWrapper, UnitCancel, UnreturnedItemCharger, UserAddress, UserClassHandle, UserStockLocation, Variant, VariantPropertyRule, VariantPropertyRuleCondition, VariantPropertyRuleValue, Zone, ZoneMember
Constant Summary collapse
- Deprecation =
ActiveSupport::Deprecation.new('2.0', 'Solidus')
Class Attribute Summary collapse
-
.missing_translation_messages ⇒ Object
Returns the value of attribute missing_translation_messages.
-
.unused_translation_messages ⇒ Object
Returns the value of attribute unused_translation_messages.
-
.unused_translations ⇒ Object
Returns the value of attribute unused_translations.
-
.used_translations ⇒ Object
Returns the value of attribute used_translations.
Class Method Summary collapse
- .check_missing_translations ⇒ Object
- .check_unused_translations ⇒ Object
-
.config {|Spree::Config| ... } ⇒ Object
Used to configure Spree.
-
.normal_t ⇒ Object
Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality.
-
.translate(key, options = {}) ⇒ Object
(also: t)
Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality.
- .user_class ⇒ Object
- .version ⇒ Object
Class Attribute Details
.missing_translation_messages ⇒ Object
Returns the value of attribute missing_translation_messages.
13 14 15 |
# File 'lib/spree/testing_support/i18n.rb', line 13 def @missing_translation_messages end |
.unused_translation_messages ⇒ Object
Returns the value of attribute unused_translation_messages.
13 14 15 |
# File 'lib/spree/testing_support/i18n.rb', line 13 def @unused_translation_messages end |
.unused_translations ⇒ Object
Returns the value of attribute unused_translations.
13 14 15 |
# File 'lib/spree/testing_support/i18n.rb', line 13 def unused_translations @unused_translations end |
.used_translations ⇒ Object
Returns the value of attribute used_translations.
13 14 15 |
# File 'lib/spree/testing_support/i18n.rb', line 13 def used_translations @used_translations end |
Class Method Details
.check_missing_translations ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/spree/testing_support/i18n.rb', line 29 def self.check_missing_translations self. = [] self.used_translations ||= [] used_translations.map { |a| a.split('.') }.each do |translation_keys| root = translations processed_keys = [] translation_keys.each do |key| begin root = root.fetch(key.to_sym) processed_keys << key.to_sym rescue KeyError error = "#{(processed_keys << key).join('.')} (#{I18n.locale})" unless Spree..include?(error) Spree. << error end end end end end |
.check_unused_translations ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/spree/testing_support/i18n.rb', line 49 def self.check_unused_translations self.used_translations ||= [] self. = [] self.unused_translations = [] self.load_translations(translations) translation_diff = unused_translations - used_translations translation_diff.each do |translation| Spree. << "#{translation} (#{I18n.locale})" end end |
.config {|Spree::Config| ... } ⇒ Object
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.
44 45 46 |
# File 'lib/spree/core.rb', line 44 def self.config(&block) yield(Spree::Config) end |
.normal_t ⇒ Object
Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality. e.g return reasonable strings for missing translations
15 16 17 18 |
# File 'lib/spree/testing_support/i18n.rb', line 15 def translate(key, ={}) [:scope] = [:spree, *[:scope]] TranslationHelperWrapper.new.translate(key, ) 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
12 13 14 15 |
# File 'lib/spree/i18n.rb', line 12 def translate(key, ={}) [:scope] = [:spree, *[:scope]] TranslationHelperWrapper.new.translate(key, ) end |
.user_class ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/spree/core.rb', line 26 def self.user_class 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) @@user_class.to_s.constantize end end |
.version ⇒ Object
2 3 4 5 |
# File 'lib/spree/core/version.rb', line 2 def self.version ActiveSupport::Deprecation.warn("Spree.version does not work and will be removed from solidus") "2.4.6.beta" end |