Module: Spree

Defined in:
app/models/spree/product.rb,
lib/spree/core.rb,
lib/spree/money.rb,
app/models/spree.rb,
app/models/spree/role.rb,
app/models/spree/zone.rb,
lib/spree/core/engine.rb,
lib/spree/core/scopes.rb,
app/models/spree/alert.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/taxon.rb,
lib/spree/core/version.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/tracker.rb,
app/models/spree/variant.rb,
lib/spree/core/responder.rb,
lib/spree/scopes/dynamic.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,
lib/spree/core/s3_support.rb,
lib/spree/product_filters.rb,
app/models/spree/activator.rb,
app/models/spree/line_item.rb,
app/models/spree/log_entry.rb,
app/models/spree/prototype.rb,
lib/spree/core/environment.rb,
lib/spree/core/search/base.rb,
lib/spree/core/url_helpers.rb,
app/models/spree/adjustment.rb,
app/models/spree/calculator.rb,
lib/spree/core/user_banners.rb,
app/models/spree/credit_card.rb,
app/models/spree/legacy_user.rb,
app/models/spree/mail_method.rb,
app/models/spree/option_type.rb,
app/models/spree/zone_member.rb,
lib/spree/core/gateway_error.rb,
lib/spree/core/mail_settings.rb,
lib/spree/core/store_helpers.rb,
app/helpers/spree/base_helper.rb,
app/mailers/spree/test_mailer.rb,
app/models/spree/option_value.rb,
app/models/spree/state_change.rb,
app/models/spree/tax_category.rb,
lib/spree/core/token_resource.rb,
app/mailers/spree/order_mailer.rb,
app/models/spree/configuration.rb,
app/models/spree/gateway/bogus.rb,
app/models/spree/order_updater.rb,
app/models/spree/shipping_rate.rb,
lib/spree/core/custom_fixtures.rb,
app/helpers/spree/taxons_helper.rb,
app/models/spree/inventory_unit.rb,
app/models/spree/order/checkout.rb,
app/models/spree/payment_method.rb,
app/models/spree/product/scopes.rb,
app/models/spree/variant/scopes.rb,
lib/spree/core/action_callbacks.rb,
lib/spree/core/mail_interceptor.rb,
app/models/spree/shipping_method.rb,
lib/spree/core/preference_rescue.rb,
app/helpers/spree/checkout_helper.rb,
app/helpers/spree/products_helper.rb,
app/mailers/spree/shipment_mailer.rb,
app/models/spree/product_property.rb,
app/models/spree/app_configuration.rb,
app/models/spree/shipping_category.rb,
app/helpers/spree/admin/base_helper.rb,
app/models/spree/payment/processing.rb,
app/models/spree/billing_integration.rb,
app/models/spree/calculator/per_item.rb,
app/models/spree/product_option_type.rb,
lib/spree/core/environment_extension.rb,
lib/spree/core/middleware/seo_assist.rb,
lib/spree/core/testing_support/flash.rb,
app/controllers/spree/home_controller.rb,
app/helpers/spree/admin/orders_helper.rb,
app/helpers/spree/admin/tables_helper.rb,
app/helpers/spree/admin/taxons_helper.rb,
app/models/spree/calculator/flat_rate.rb,
app/models/spree/gateway/bogus_simple.rb,
app/models/spree/payment_method/check.rb,
app/models/spree/product_scope/scopes.rb,
app/models/spree/return_authorization.rb,
app/models/spree/tokenized_permission.rb,
lib/spree/core/calculated_adjustments.rb,
app/controllers/spree/store_controller.rb,
app/models/spree/calculator/flexi_rate.rb,
app/models/spree/calculator/price_sack.rb,
lib/spree/core/controller_helpers/auth.rb,
lib/spree/core/environment/calculators.rb,
app/controllers/spree/locale_controller.rb,
app/controllers/spree/orders_controller.rb,
app/controllers/spree/states_controller.rb,
app/controllers/spree/taxons_controller.rb,
app/helpers/spree/admin/payments_helper.rb,
app/helpers/spree/admin/products_helper.rb,
app/models/spree/calculator/default_tax.rb,
lib/spree/core/controller_helpers/order.rb,
app/controllers/spree/content_controller.rb,
lib/spree/core/controller_helpers/common.rb,
app/controllers/spree/checkout_controller.rb,
app/controllers/spree/products_controller.rb,
app/helpers/spree/admin/navigation_helper.rb,
app/controllers/spree/countries_controller.rb,
lib/generators/spree/dummy/dummy_generator.rb,
lib/spree/core/testing_support/preferences.rb,
app/controllers/spree/admin/base_controller.rb,
app/controllers/spree/admin/zones_controller.rb,
app/controllers/spree/admin/images_controller.rb,
app/controllers/spree/admin/orders_controller.rb,
app/controllers/spree/admin/search_controller.rb,
app/controllers/spree/admin/states_controller.rb,
app/controllers/spree/admin/taxons_controller.rb,
app/controllers/spree/admin/banners_controller.rb,
app/controllers/spree/admin/reports_controller.rb,
lib/generators/spree/install/install_generator.rb,
lib/spree/core/controller_helpers/respond_with.rb,
app/controllers/spree/admin/overview_controller.rb,
app/controllers/spree/admin/payments_controller.rb,
app/controllers/spree/admin/products_controller.rb,
app/controllers/spree/admin/trackers_controller.rb,
app/controllers/spree/admin/variants_controller.rb,
app/helpers/spree/admin/general_settings_helper.rb,
app/controllers/spree/admin/countries_controller.rb,
app/controllers/spree/admin/shipments_controller.rb,
app/controllers/spree/admin/tax_rates_controller.rb,
app/controllers/spree/admin/line_items_controller.rb,
app/controllers/spree/admin/properties_controller.rb,
app/controllers/spree/admin/prototypes_controller.rb,
app/controllers/spree/admin/taxonomies_controller.rb,
app/helpers/spree/admin/inventory_settings_helper.rb,
app/controllers/spree/admin/adjustments_controller.rb,
lib/spree/core/testing_support/controller_requests.rb,
app/controllers/spree/admin/mail_methods_controller.rb,
app/controllers/spree/admin/option_types_controller.rb,
app/controllers/spree/admin/tax_settings_controller.rb,
app/models/spree/calculator/flat_percent_item_total.rb,
app/controllers/spree/admin/option_values_controller.rb,
app/controllers/spree/admin/image_settings_controller.rb,
app/controllers/spree/admin/tax_categories_controller.rb,
lib/spree/core/middleware/redirect_legacy_product_url.rb,
app/controllers/spree/admin/inventory_units_controller.rb,
app/controllers/spree/admin/payment_methods_controller.rb,
lib/generators/spree/custom_user/custom_user_generator.rb,
app/controllers/spree/admin/general_settings_controller.rb,
app/controllers/spree/admin/shipping_methods_controller.rb,
app/controllers/spree/admin/inventory_settings_controller.rb,
app/controllers/spree/admin/product_properties_controller.rb,
app/controllers/spree/admin/shipping_categories_controller.rb,
app/controllers/spree/admin/return_authorizations_controller.rb,
app/controllers/spree/admin/orders/customer_details_controller.rb

Overview

Use this module to easily test Spree actions within Spree components or inside your application to test routes for the mounted Spree engine.

Inside your spec_helper.rb, include this module inside the RSpec.configure block by doing this:

require 'spree/core/testing_support/controller_requests'
RSpec.configure do |c|
  c.include Spree::Core::TestingSupport::ControllerRequests, :type => :controller
end

Then, in your controller tests, you can access spree routes like this:

require 'spec_helper'

describe Spree::ProductsController do
  it "can see all the products" do
    spree_get :index
  end
end

Use spree_get, spree_post, spree_put or spree_delete to make requests to the Spree engine, and use regular get, post, put or delete to make requests to your application.

Defined Under Namespace

Modules: Admin, BaseHelper, CheckoutHelper, Core, Preferences, ProductFilters, ProductsHelper, Scopes, TaxonsHelper Classes: Ability, ActionCallbacks, Activator, Address, Adjustment, Alert, AppConfiguration, Asset, BaseController, BillingIntegration, Calculator, CheckoutController, Configuration, ContentController, CountriesController, Country, CreditCard, CustomUserGenerator, DefaultTaxZoneValidator, DummyGenerator, Gateway, HomeController, Image, InstallGenerator, InventoryUnit, LegacyUser, LineItem, LocaleController, LogEntry, MailMethod, Money, OldPrefs, OptionType, OptionValue, Order, OrderMailer, OrderUpdater, OrdersController, Payment, PaymentMethod, Preference, PreferenceRescue, Price, Product, ProductOptionType, ProductProperty, ProductScope, ProductsController, Property, Prototype, Responder, ReturnAuthorization, Role, Shipment, ShipmentMailer, ShippingCategory, ShippingMethod, ShippingRate, State, StateChange, StatesController, StoreController, TaxCategory, TaxRate, Taxon, Taxonomy, TaxonsController, TestMailer, TokenizedPermission, Tracker, Variant, Zone, ZoneMember

Class Method Summary collapse

Class Method Details

.config {|Spree::Config| ... } ⇒ Object

Used to configure Spree.

Example:

Spree.config do |config|
  config.site_name = "An awesome Spree site"
end

This method is defined within the core gem on purpose. Some people may only wish to use the Core part of Spree.

Yields:

  • (Spree::Config)


70
71
72
# File 'lib/spree/core.rb', line 70

def self.config(&block)
  yield(Spree::Config)
end

.table_name_prefixObject



2
3
4
# File 'app/models/spree.rb', line 2

def self.table_name_prefix
  'spree_'
end

.user_classObject



49
50
51
52
53
54
55
# File 'lib/spree/core.rb', line 49

def self.user_class
  if @@user_class.is_a?(Class)
    raise "Spree.user_class MUST be a String object, not a Class object."
  elsif @@user_class.is_a?(String)
    @@user_class.constantize
  end
end

.versionObject



2
3
4
# File 'lib/spree/core/version.rb', line 2

def self.version
  "1.3.0"
end