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, CreditCard, CustomerReturn, InventoryUnit, LegacyUser, LineItem, LineItemAction, LogEntry, OptionType, OptionTypePrototype, OptionValue, OptionValuesVariant, Order, OrderMutex, OrderPromotion, OrderStockLocation, Payment, PaymentCaptureEvent, PaymentMethod, Preference, Price, Product, ProductOptionType, ProductPromotionRule, ProductProperty, Promotion, PromotionAction, PromotionCategory, PromotionCode, PromotionRule, PromotionRuleTaxon, PromotionRuleUser, Property, PropertyPrototype, Prototype, PrototypeTaxon, Refund, RefundReason, Reimbursement, Reimbursement::Credit, ReimbursementType, ReturnAuthorization, ReturnItem, ReturnReason, Role, RoleUser, Shipment, ShippingCategory, ShippingMethod, ShippingMethodCategory, ShippingMethodStockLocation, ShippingMethodZone, ShippingRate, State, StateChange, StockItem, StockLocation, StockMovement, StockTransfer, Store, StoreCredit, StoreCreditCategory, StoreCreditEvent, StoreCreditType, StoreCreditUpdateReason, StorePaymentMethod, TaxCategory, TaxRate, Taxon, Taxonomy, Tracker, TransferItem, UnitCancel, UserAddress, UserStockLocation, Variant, VariantPropertyRule, VariantPropertyRuleCondition, VariantPropertyRuleValue, 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
#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.
35 36 37 |
# File 'app/models/spree/base.rb', line 35 def self.display_includes where(nil) end |
.page(num) ⇒ Object
23 24 25 |
# File 'app/models/spree/base.rb', line 23 def self.page(num) 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.
15 16 17 18 19 20 |
# File 'app/models/spree/base.rb', line 15 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
7 8 9 10 11 |
# File 'app/models/spree/base.rb', line 7 def initialize_preference_defaults if has_attribute?(:preferences) self.preferences = default_preferences.merge(preferences) end end |