Class: Spree::Base
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Spree::Base
- Includes:
- Preferences::Preferable, RansackableAttributes
- Defined in:
- app/models/spree/base.rb
Direct Known Subclasses
Address, Adjustment, AdjustmentReason, Asset, Calculator, Carton, Classification, Country, CustomerReturn, InventoryUnit, LegacyUser, LineItem, LineItemAction, LogEntry, OptionType, OptionValue, OptionValuesVariant, Order, OrderMutex, OrderPromotion, Payment, PaymentCaptureEvent, PaymentMethod, PaymentSource, Preference, Price, Product, ProductOptionType, ProductPromotionRule, ProductProperty, Promotion, PromotionAction, PromotionCategory, PromotionCode, PromotionRule, PromotionRuleStore, PromotionRuleTaxon, PromotionRuleUser, Property, Refund, RefundReason, Reimbursement, Reimbursement::Credit, ReimbursementType, ReturnAuthorization, ReturnItem, ReturnReason, Role, RoleUser, Shipment, ShippingCategory, ShippingMethod, ShippingMethodCategory, ShippingMethodStockLocation, ShippingMethodZone, ShippingRate, State, StateChange, StockItem, StockLocation, StockMovement, Store, StoreCreditCategory, StoreCreditEvent, StoreCreditReason, StoreCreditType, StorePaymentMethod, StoreShippingMethod, TaxCategory, TaxRate, TaxRateTaxCategory, Taxon, Taxonomy, UnitCancel, UserAddress, UserStockLocation, Variant, VariantPropertyRule, VariantPropertyRuleCondition, VariantPropertyRuleValue, WalletPaymentSource, Zone, ZoneMember
Class Method Summary collapse
-
.display_includes ⇒ Object
Provides a scope that should be included any time products are fetched with the intention of displaying to the user.
- .page(num) ⇒ Object
-
.preference(*args) ⇒ Object
Only run preference initialization on models which requires it.
Instance Method Summary collapse
Methods included from Preferences::Preferable
#admin_form_preference_names, #default_preferences, #defined_preferences, #get_preference, #has_preference!, #has_preference?, #preference_default, #preference_type, #set_preference
Class Method Details
.display_includes ⇒ Object
Provides a scope that should be included any time products are fetched with the intention of displaying to the user.
Allows individual stores to include any active record scopes or joins when products are displayed.
41 42 43 |
# File 'app/models/spree/base.rb', line 41 def self.display_includes where(nil) end |
.page(num) ⇒ Object
25 26 27 28 29 30 31 |
# File 'app/models/spree/base.rb', line 25 def self.page(num) Spree::Deprecation.warn \ "Redefining Spree::Base.page for a different kaminari page name is better done inside " \ "your own app. This will be removed from future versions of solidus." send Kaminari.config.page_method_name, num end |
.preference(*args) ⇒ Object
Only run preference initialization on models which requires it. Improves performance of record initialization slightly.
17 18 19 20 21 22 |
# File 'app/models/spree/base.rb', line 17 def self.preference(*args) # after_initialize can be called multiple times with the same symbol, it # will only be called once on initialization. after_initialize :initialize_preference_defaults super end |
Instance Method Details
#initialize_preference_defaults ⇒ Object
9 10 11 12 13 |
# File 'app/models/spree/base.rb', line 9 def initialize_preference_defaults if has_attribute?(:preferences) self.preferences = default_preferences.merge(preferences) end end |