Module: Spree::PreviewData
- Defined in:
- lib/spree/core/previews/preview_data.rb
Defined Under Namespace
Modules: LocaleParam
Class Method Summary collapse
-
.admin_user ⇒ Object
An admin user for previews that need
user.email/user.first_name. -
.customer ⇒ Object
A customer for previews of customer-facing account emails.
-
.store(locale = nil) ⇒ Spree::Store
The store previews render for.
Class Method Details
.admin_user ⇒ Object
An admin user for previews that need user.email / user.first_name.
Falls back to an unsaved instance when the database has no admin users.
20 21 22 23 |
# File 'lib/spree/core/previews/preview_data.rb', line 20 def admin_user Spree.admin_user_class.first || Spree.admin_user_class.new(email: 'admin@example.com', first_name: 'Alex', last_name: 'Doe') end |
.customer ⇒ Object
A customer for previews of customer-facing account emails. Falls back to an unsaved instance when the database has no users.
27 28 29 30 31 32 |
# File 'lib/spree/core/previews/preview_data.rb', line 27 def customer Spree.user_class.first || Spree.user_class.new(email: 'customer@example.com').tap do |user| user.first_name = 'Alex' if user.respond_to?(:first_name=) end end |
.store(locale = nil) ⇒ Spree::Store
The store previews render for. When the preview toolbar's locale dropdown
sets ?locale=, return an unsaved copy of the default store with that
default_locale, so mailers that render in store.default_locale honour
the toggle without mutating the real store.
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/spree/core/previews/preview_data.rb', line 41 def store(locale = nil) store = Spree::Store.default return store if locale.blank? || store.nil? dup = store.dup dup.id = store.id # keep prefixed-id / URL helpers working dup.default_locale = locale.to_s.downcase dup.readonly! dup end |