Module: Spree
- Extended by:
- ActionView::Helpers::TagHelper, ActionView::Helpers::TranslationHelper
- Defined in:
- app/models/spree/product.rb,
lib/spree/core.rb,
lib/spree/i18n.rb,
lib/spree/money.rb,
lib/spree/i18n/base.rb,
lib/spree/responder.rb,
lib/spree/migrations.rb,
app/models/spree/role.rb,
app/models/spree/zone.rb,
lib/spree/core/engine.rb,
lib/spree/core/routes.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,
lib/spree/core/importer.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,
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,
app/models/spree/line_item.rb,
app/models/spree/log_entry.rb,
app/models/spree/promotion.rb,
app/models/spree/prototype.rb,
lib/spree/core/environment.rb,
lib/spree/core/mail_method.rb,
lib/spree/core/search/base.rb,
app/models/spree/adjustment.rb,
app/models/spree/calculator.rb,
app/models/spree/stock_item.rb,
lib/spree/core/user_address.rb,
lib/spree/promo/environment.rb,
app/models/spree/credit_card.rb,
app/models/spree/legacy_user.rb,
app/models/spree/option_type.rb,
app/models/spree/zone_member.rb,
lib/spree/core/mail_settings.rb,
app/helpers/spree/base_helper.rb,
app/mailers/spree/base_mailer.rb,
app/mailers/spree/test_mailer.rb,
app/models/spree/option_value.rb,
app/models/spree/state_change.rb,
app/models/spree/stock/packer.rb,
app/models/spree/tax_category.rb,
lib/spree/core/importer/order.rb,
lib/spree/core/token_resource.rb,
app/helpers/spree/store_helper.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,
app/models/spree/stock/package.rb,
lib/spree/core/product_filters.rb,
lib/spree/permitted_attributes.rb,
lib/spree/testing_support/i18n.rb,
app/helpers/spree/orders_helper.rb,
app/helpers/spree/taxons_helper.rb,
app/models/spree/classification.rb,
app/models/spree/inventory_unit.rb,
app/models/spree/order/checkout.rb,
app/models/spree/order_contents.rb,
app/models/spree/payment_method.rb,
app/models/spree/product/scopes.rb,
app/models/spree/promotion_rule.rb,
app/models/spree/stock/adjuster.rb,
app/models/spree/stock_location.rb,
app/models/spree/stock_movement.rb,
app/models/spree/stock_transfer.rb,
app/models/spree/variant/scopes.rb,
lib/spree/core/mail_interceptor.rb,
lib/spree/testing_support/flash.rb,
app/models/spree/order_inventory.rb,
app/models/spree/order_populator.rb,
app/models/spree/shipping_method.rb,
app/models/spree/stock/estimator.rb,
lib/spree/core/adjustment_source.rb,
app/helpers/spree/checkout_helper.rb,
app/helpers/spree/products_helper.rb,
app/mailers/spree/shipment_mailer.rb,
app/models/spree/item_adjustments.rb,
app/models/spree/product_property.rb,
app/models/spree/promotion_action.rb,
app/models/spree/stock/quantifier.rb,
lib/spree/core/controller_helpers.rb,
lib/spree/core/product_duplicator.rb,
lib/spree/testing_support/caching.rb,
app/models/spree/app_configuration.rb,
app/models/spree/shipping_category.rb,
app/models/spree/stock/coordinator.rb,
app/models/spree/stock/prioritizer.rb,
lib/spree/core/user_payment_source.rb,
app/models/spree/payment/processing.rb,
app/models/spree/billing_integration.rb,
app/models/spree/product_option_type.rb,
app/models/spree/shipping_calculator.rb,
app/models/spree/stock/order_counter.rb,
app/models/spree/stock/splitter/base.rb,
lib/spree/core/environment_extension.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/promotion/rules/user.rb,
app/models/spree/return_authorization.rb,
app/models/spree/stock/differentiator.rb,
app/models/spree/tokenized_permission.rb,
lib/spree/core/calculated_adjustments.rb,
lib/spree/core/controller_helpers/ssl.rb,
lib/spree/testing_support/preferences.rb,
lib/spree/testing_support/url_helpers.rb,
app/models/spree/calculator/flexi_rate.rb,
app/models/spree/calculator/price_sack.rb,
app/models/spree/payment_capture_event.rb,
app/models/spree/stock/splitter/weight.rb,
lib/spree/core/controller_helpers/auth.rb,
lib/spree/core/environment/calculators.rb,
app/models/spree/calculator/default_tax.rb,
app/models/spree/order/currency_updater.rb,
app/models/spree/promotion_handler/cart.rb,
app/models/spree/promotion_handler/page.rb,
lib/spree/core/controller_helpers/order.rb,
app/models/concerns/spree/user_reporting.rb,
app/models/spree/promotion/rules/product.rb,
lib/spree/core/controller_helpers/common.rb,
lib/spree/core/controller_helpers/search.rb,
app/models/spree/calculator/free_shipping.rb,
app/models/spree/promotion_handler/coupon.rb,
app/models/spree/shipping_method_category.rb,
lib/generators/spree/dummy/dummy_generator.rb,
app/models/spree/promotion/rules/item_total.rb,
app/models/spree/promotion_action_line_item.rb,
app/models/spree/stock/splitter/backordered.rb,
app/models/spree/calculator/percent_per_item.rb,
app/models/spree/promotion/rules/first_order.rb,
app/models/spree/calculator/shipping/per_item.rb,
app/models/spree/stock/availability_validator.rb,
lib/spree/testing_support/controller_requests.rb,
app/models/spree/calculator/shipping/flat_rate.rb,
lib/generators/spree/install/install_generator.rb,
lib/spree/core/controller_helpers/respond_with.rb,
app/models/spree/calculator/shipping/flexi_rate.rb,
app/models/spree/calculator/shipping/price_sack.rb,
app/models/spree/promotion/rules/user_logged_in.rb,
lib/spree/testing_support/authorization_helpers.rb,
app/models/spree/calculator/percent_on_line_item.rb,
app/models/spree/promotion/actions/free_shipping.rb,
app/models/spree/promotion_handler/free_shipping.rb,
app/models/concerns/spree/user_api_authentication.rb,
app/models/spree/stock/splitter/shipping_category.rb,
app/models/spree/calculator/flat_percent_item_total.rb,
lib/spree/core/controller_helpers/strong_parameters.rb,
app/models/spree/promotion/actions/create_adjustment.rb,
app/models/spree/promotion/actions/create_line_items.rb,
lib/generators/spree/custom_user/custom_user_generator.rb,
app/models/spree/promotion/actions/create_item_adjustments.rb,
app/models/spree/calculator/shipping/flat_percent_item_total.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/testing_support/controller_requests'
RSpec.configure do |c|
c.include Spree::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: BaseHelper, CheckoutHelper, Core, DummyGeneratorHelper, OrdersHelper, PermittedAttributes, Preferences, ProductsHelper, Promo, PromotionHandler, Stock, StoreHelper, TaxonsHelper, TestingSupport, UserApiAuthentication, UserReporting, ViewContext Classes: Ability, Address, Adjustment, Alert, AppConfiguration, Asset, BaseController, BaseMailer, BillingIntegration, Calculator, Classification, Configuration, Country, CreditCard, CustomUserGenerator, DefaultTaxZoneValidator, DummyGenerator, Gateway, Image, InstallGenerator, InventoryUnit, ItemAdjustments, LegacyUser, LineItem, LogEntry, Migrations, Money, OptionType, OptionValue, Order, OrderContents, OrderInventory, OrderMailer, OrderPopulator, OrderUpdater, Payment, PaymentCaptureEvent, PaymentMethod, Preference, Price, Product, ProductDuplicator, ProductOptionType, ProductProperty, ProductScope, Promotion, PromotionAction, PromotionActionLineItem, PromotionRule, Property, Prototype, Responder, ReturnAuthorization, Role, Shipment, ShipmentMailer, ShippingCalculator, ShippingCategory, ShippingMethod, ShippingMethodCategory, ShippingRate, State, StateChange, StockItem, StockLocation, StockMovement, StockTransfer, TaxCategory, TaxRate, Taxon, Taxonomy, TestMailer, TokenizedPermission, Tracker, Variant, Zone, ZoneMember
Class Attribute Summary collapse
-
.missing_translation_messages ⇒ Object
Returns the value of attribute missing_translation_messages.
-
.unused_translation_messages ⇒ Object
Returns the value of attribute unused_translation_messages.
-
.unused_translations ⇒ Object
Returns the value of attribute unused_translations.
-
.used_translations ⇒ Object
Returns the value of attribute used_translations.
Class Method Summary collapse
- .check_missing_translations ⇒ Object
- .check_unused_translations ⇒ Object
-
.config {|Spree::Config| ... } ⇒ Object
Used to configure Spree.
- .context ⇒ Object
-
.normal_t ⇒ Object
Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality.
-
.translate(*args) ⇒ Object
(also: t)
Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality.
- .user_class ⇒ Object
- .version ⇒ Object
- .virtual_path ⇒ Object
Class Attribute Details
.missing_translation_messages ⇒ Object
Returns the value of attribute missing_translation_messages.
12 13 14 |
# File 'lib/spree/testing_support/i18n.rb', line 12 def @missing_translation_messages end |
.unused_translation_messages ⇒ Object
Returns the value of attribute unused_translation_messages.
12 13 14 |
# File 'lib/spree/testing_support/i18n.rb', line 12 def @unused_translation_messages end |
.unused_translations ⇒ Object
Returns the value of attribute unused_translations.
12 13 14 |
# File 'lib/spree/testing_support/i18n.rb', line 12 def unused_translations @unused_translations end |
.used_translations ⇒ Object
Returns the value of attribute used_translations.
12 13 14 |
# File 'lib/spree/testing_support/i18n.rb', line 12 def used_translations @used_translations end |
Class Method Details
.check_missing_translations ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/spree/testing_support/i18n.rb', line 28 def self.check_missing_translations self. = [] self.used_translations ||= [] used_translations.map { |a| a.split('.') }.each do |translation_keys| root = translations processed_keys = [] translation_keys.each do |key| begin root = root.fetch(key.to_sym) processed_keys << key.to_sym rescue KeyError error = "#{(processed_keys << key).join('.')} (#{I18n.locale})" unless Spree..include?(error) Spree. << error end end end end end |
.check_unused_translations ⇒ Object
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/spree/testing_support/i18n.rb', line 48 def self.check_unused_translations self.used_translations ||= [] self. = [] self.unused_translations = [] self.load_translations(translations) translation_diff = unused_translations - used_translations translation_diff.each do |translation| Spree. << "#{translation} (#{I18n.locale})" end end |
.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.
38 39 40 |
# File 'lib/spree/core.rb', line 38 def self.config(&block) yield(Spree::Config) end |
.context ⇒ Object
23 24 25 |
# File 'lib/spree/i18n.rb', line 23 def context Spree::ViewContext.context end |
.normal_t ⇒ Object
Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality. e.g return reasonable strings for missing translations
14 15 16 17 18 19 20 21 |
# File 'lib/spree/testing_support/i18n.rb', line 14 def translate(*args) @virtual_path = virtual_path = args. [:scope] = [*[:scope]].unshift(:spree) args << super(*args) end |
.translate(*args) ⇒ Object Also known as: t
Add spree namespace and delegate to Rails TranslationHelper for some nice extra functionality. e.g return reasonable strings for missing translations
12 13 14 15 16 17 18 19 |
# File 'lib/spree/i18n.rb', line 12 def translate(*args) @virtual_path = virtual_path = args. [:scope] = [*[:scope]].unshift(:spree) args << super(*args) end |
.user_class ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/spree/core.rb', line 20 def self.user_class if @@user_class.is_a?(Class) raise "Spree.user_class MUST be a String or Symbol object, not a Class object." elsif @@user_class.is_a?(String) || @@user_class.is_a?(Symbol) @@user_class.to_s.constantize end end |
.version ⇒ Object
2 3 4 |
# File 'lib/spree/core/version.rb', line 2 def self.version "2.2.5" end |
.virtual_path ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/spree/i18n.rb', line 27 def virtual_path if context path = context.instance_variable_get("@virtual_path") if path path.gsub(/spree/, '') end end end |