class Spree::AppConfiguration
Attributes
Allows restricting what currencies will be available.
@!attribute [r] available_currencies
@return [Array] An array of available currencies from Money::Currency.all
Allows providing your own class instance for generating order numbers.
@!attribute [rw] order_number_generator
@return [Class] a class instance with the same public interfaces as
Spree::Order::NumberGenerator
@api experimental
Allows providing your own class for canceling payments.
@!attribute [rw] payment_canceller
@return [Class] a class instance that responds to `cancel!(payment)`
Public Instance Methods
Default admin VAT location
An object that responds to :state_id and :country_id so it can double as a Spree::Address in Spree::Zone.for_address. Takes the `admin_vat_country_iso` as input.
@see admin_vat_country_iso The admin VAT country @return [Spree::Tax::TaxLocation] default tax location
# File lib/spree/app_configuration.rb, line 650 def admin_vat_location @default_tax_location ||= Spree::Tax::TaxLocation.new( country: Spree::Country.find_by(iso: admin_vat_country_iso) ) end
# File lib/spree/app_configuration.rb, line 274 def available_currencies @available_currencies ||= ::Money::Currency.all end
Shortcut for the default pricing options @return [variant_price_selector_class] An instance of the pricing options class with default desired
attributes
# File lib/spree/app_configuration.rb, line 296 def default_pricing_options pricing_options_class.new end
# File lib/spree/app_configuration.rb, line 568 def environment @environment ||= Spree::Core::Environment.new(self).tap do |env| env.calculators.promotion_actions_create_adjustments = %w[ Spree::Calculator::FlatPercentItemTotal Spree::Calculator::FlatRate Spree::Calculator::FlexiRate Spree::Calculator::TieredPercent Spree::Calculator::TieredFlatRate ] env.calculators.promotion_actions_create_item_adjustments = %w[ Spree::Calculator::DistributedAmount Spree::Calculator::FlatRate Spree::Calculator::FlexiRate Spree::Calculator::PercentOnLineItem Spree::Calculator::TieredPercent ] env.calculators.promotion_actions_create_quantity_adjustments = %w[ Spree::Calculator::PercentOnLineItem Spree::Calculator::FlatRate ] env.calculators.shipping_methods = %w[ Spree::Calculator::Shipping::FlatPercentItemTotal Spree::Calculator::Shipping::FlatRate Spree::Calculator::Shipping::FlexiRate Spree::Calculator::Shipping::PerItem Spree::Calculator::Shipping::PriceSack ] env.calculators.tax_rates = %w[ Spree::Calculator::DefaultTax ] env.payment_methods = %w[ Spree::PaymentMethod::BogusCreditCard Spree::PaymentMethod::SimpleBogusCreditCard Spree::PaymentMethod::StoreCredit Spree::PaymentMethod::Check ] env.promotions.rules = %w[ Spree::Promotion::Rules::ItemTotal Spree::Promotion::Rules::Product Spree::Promotion::Rules::User Spree::Promotion::Rules::FirstOrder Spree::Promotion::Rules::UserLoggedIn Spree::Promotion::Rules::OneUsePerUser Spree::Promotion::Rules::Taxon Spree::Promotion::Rules::NthOrder Spree::Promotion::Rules::OptionValue Spree::Promotion::Rules::FirstRepeatPurchaseSince Spree::Promotion::Rules::UserRole Spree::Promotion::Rules::Store ] env.promotions.actions = %w[ Spree::Promotion::Actions::CreateAdjustment Spree::Promotion::Actions::CreateItemAdjustments Spree::Promotion::Actions::CreateQuantityAdjustments Spree::Promotion::Actions::FreeShipping ] env.promotions.shipping_actions = %w[ Spree::Promotion::Actions::FreeShipping ] env.stock_splitters = %w[ Spree::Stock::Splitter::ShippingCategory Spree::Stock::Splitter::Backordered ] end end
# File lib/spree/app_configuration.rb, line 558 def events @events_configuration ||= Spree::Event::Configuration.new end
# File lib/spree/app_configuration.rb, line 535 def order_number_generator @order_number_generator ||= Spree::Order::NumberGenerator.new end
# File lib/spree/app_configuration.rb, line 402 def payment_canceller @payment_canceller ||= Spree::Payment::Cancellation.new( reason: Spree::Payment::Cancellation::DEFAULT_REASON ) end
# File lib/spree/app_configuration.rb, line 551 def roles @roles ||= Spree::RoleConfiguration.new.tap do |roles| roles.assign_permissions :default, ['Spree::PermissionSets::DefaultCustomer'] roles.assign_permissions :admin, ['Spree::PermissionSets::SuperUser'] end end
# File lib/spree/app_configuration.rb, line 539 def state_machines @state_machines ||= Spree::Core::StateMachines.new end
# File lib/spree/app_configuration.rb, line 543 def static_model_preferences @static_model_preferences ||= Spree::Preferences::StaticModelPreferences.new end
# File lib/spree/app_configuration.rb, line 547 def stock @stock_configuration ||= Spree::Core::StockConfiguration.new end
# File lib/spree/app_configuration.rb, line 562 def user_last_url_storer_rules @user_last_url_storer_rules ||= ::Spree::Core::ClassConstantizer::Set.new.tap do |set| set << 'Spree::UserLastUrlStorer::Rules::AuthenticationRule' end end