class Spree::AppConfiguration

Attributes

available_currencies[W]

Allows restricting what currencies will be available.

@!attribute [r] available_currencies

@return [Array] An array of available currencies from Money::Currency.all
order_number_generator[W]

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

payment_canceller[W]

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

admin_vat_location() click to toggle source

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
available_currencies() click to toggle source
# File lib/spree/app_configuration.rb, line 274
def available_currencies
  @available_currencies ||= ::Money::Currency.all
end
default_pricing_options() click to toggle source

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
environment() click to toggle source
# 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
events() click to toggle source
# File lib/spree/app_configuration.rb, line 558
def events
  @events_configuration ||= Spree::Event::Configuration.new
end
order_number_generator() click to toggle source
# File lib/spree/app_configuration.rb, line 535
def order_number_generator
  @order_number_generator ||= Spree::Order::NumberGenerator.new
end
payment_canceller() click to toggle source
# File lib/spree/app_configuration.rb, line 402
def payment_canceller
  @payment_canceller ||= Spree::Payment::Cancellation.new(
    reason: Spree::Payment::Cancellation::DEFAULT_REASON
  )
end
roles() click to toggle source
# 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
state_machines() click to toggle source
# File lib/spree/app_configuration.rb, line 539
def state_machines
  @state_machines ||= Spree::Core::StateMachines.new
end
static_model_preferences() click to toggle source
# File lib/spree/app_configuration.rb, line 543
def static_model_preferences
  @static_model_preferences ||= Spree::Preferences::StaticModelPreferences.new
end
stock() click to toggle source
# File lib/spree/app_configuration.rb, line 547
def stock
  @stock_configuration ||= Spree::Core::StockConfiguration.new
end
user_last_url_storer_rules() click to toggle source
# 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