Module: Stay::ControllerHelpers::Store

Extended by:
ActiveSupport::Concern
Included in:
Admin::BaseController, Property
Defined in:
lib/stay/controller_helpers/store.rb

Instance Method Summary collapse

Instance Method Details

#current_storeObject



14
15
16
# File 'lib/stay/controller_helpers/store.rb', line 14

def current_store
  @current_store ||= Stay::Store.default
end

#ensure_current_store(object) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/stay/controller_helpers/store.rb', line 22

def ensure_current_store(object)
  return if object.nil?

  if object.has_attribute?(:store_id)
    if object.store.present? && object.store != current_store
      raise I18n.t('errors.messages.store_is_already_set')
    else
      object.store = current_store
    end
  elsif object.class.method_defined?(:stores) && object.stores.exclude?(current_store)
    object.stores << current_store
  end
end

#store_localeObject



18
19
20
# File 'lib/stay/controller_helpers/store.rb', line 18

def store_locale
  current_store.default_locale
end