class SpreeMultiDomain::Engine
Public Class Methods
activate()
click to toggle source
# File lib/spree_multi_domain/engine.rb, line 8 def activate ['app', 'lib'].each do |dir| Dir.glob(File.join(File.dirname(__FILE__), "../../#{dir}/**/*_decorator*.rb")) do |c| Rails.application.config.cache_classes ? require(c) : load(c) end end Spree::Config.searcher_class = Spree::Search::MultiDomain ApplicationController.send :include, SpreeMultiDomain::MultiDomainHelpers end
admin_available?()
click to toggle source
# File lib/spree_multi_domain/engine.rb, line 19 def admin_available? const_defined?('Spree::Backend::Engine') end
api_available?()
click to toggle source
# File lib/spree_multi_domain/engine.rb, line 23 def api_available? const_defined?('Spree::Api::Engine') end
frontend_available?()
click to toggle source
# File lib/spree_multi_domain/engine.rb, line 27 def frontend_available? const_defined?('Spree::Frontend::Engine') end
Public Instance Methods
current_order_with_multi_domain(options = {})
click to toggle source
# File lib/spree_multi_domain/engine.rb, line 61 def current_order_with_multi_domain(options = {}) options[:create_order_if_necessary] ||= false current_order_without_multi_domain(options) if @current_order and current_store and @current_order.store.blank? @current_order.update_attribute(:store_id, current_store.id) end @current_order end
find_layout_with_multi_store(layout, *args)
click to toggle source
# File lib/spree_multi_domain/engine.rb, line 36 def find_layout_with_multi_store(layout, *args) if @view.respond_to?(:current_store) && @view.current_store && !@view.controller.is_a?(Spree::Admin::BaseController) store_layout = if layout.is_a?(String) layout.gsub("layouts/", "layouts/#{@view.current_store.code}/") else layout.call.try(:gsub, "layouts/", "layouts/#{@view.current_store.code}/") end begin find_layout_without_multi_store(store_layout, *args) rescue ::ActionView::MissingTemplate find_layout_without_multi_store(layout, *args) end else find_layout_without_multi_store(layout, *args) end end