Module: Mosaico
- Defined in:
- lib/mosaico.rb,
lib/mosaico/engine.rb,
lib/mosaico/version.rb,
lib/mosaico/template.rb,
app/models/mosaico/image.rb,
lib/mosaico/local_backend.rb,
app/models/mosaico/project.rb,
lib/mosaico/versafix_template.rb,
lib/mosaico/local_image_backend.rb,
app/models/mosaico/uploaded_image.rb,
app/models/mosaico/placeholder_image.rb,
lib/mosaico/local_placeholder_backend.rb,
app/helpers/mosaico/application_helper.rb,
app/controllers/mosaico/images_controller.rb,
app/controllers/mosaico/projects_controller.rb,
app/controllers/mosaico/templates_controller.rb,
app/controllers/mosaico/application_controller.rb
Defined Under Namespace
Modules: ApplicationHelper
Classes: ApplicationController, Engine, Image, ImagesController, LocalBackend, LocalImageBackend, LocalPlaceholderBackend, PlaceholderImage, Project, ProjectsController, Template, TemplatesController, UploadedImage, VersafixTemplate
Constant Summary
collapse
- DEFAULT_LOCALE =
:en
- VERSION =
'1.0.0'
- MOSAICO_VERSION =
'0.16.0'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.default_locale ⇒ Object
96
97
98
|
# File 'lib/mosaico.rb', line 96
def default_locale
@default_locale ||= DEFAULT_LOCALE
end
|
Class Method Details
.available_locales ⇒ Object
74
75
76
77
78
79
80
81
82
|
# File 'lib/mosaico.rb', line 74
def available_locales
@available_locales ||= begin
Dir.chdir(vendor_lang_root) do
Dir.glob('*.json').map do |file|
file.chomp(File.extname(file)).sub('mosaico-', '').to_sym
end
end
end
end
|
.find_template(name) ⇒ Object
22
23
24
|
# File 'lib/mosaico.rb', line 22
def find_template(name)
templates[name]
end
|
.locale ⇒ Object
84
85
86
|
# File 'lib/mosaico.rb', line 84
def locale
@locale ||= default_locale
end
|
.locale=(new_locale) ⇒ Object
88
89
90
91
92
93
94
|
# File 'lib/mosaico.rb', line 88
def locale=(new_locale)
@locale = if available_locales.include?(new_locale.to_sym)
new_locale.to_sym
else
default_locale
end
end
|
.register_template(name, dir, subdirs: ['edres', 'img'], template_class: Template) ⇒ Object
18
19
20
|
# File 'lib/mosaico.rb', line 18
def register_template(name, dir, subdirs: ['edres', 'img'], template_class: Template)
templates[name] = template_class.new(name, dir, subdirs).tap(&:register!)
end
|
.resolve_asset(asset_path) ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/mosaico.rb', line 60
def resolve_asset(asset_path)
if Rails.application.config.assets.compile
asset = Rails.application.assets.find_asset(asset_path)
if Rails.application.config.assets.digest
asset.try(&:digest_path)
else
asset.try(&:logical_path)
end
else
Rails.application.assets_manifest.assets[asset_path]
end
end
|
.templates ⇒ Object
26
27
28
|
# File 'lib/mosaico.rb', line 26
def templates
@templates ||= {}
end
|
.url_join(*segments) ⇒ Object
50
51
52
53
54
55
56
57
58
|
# File 'lib/mosaico.rb', line 50
def url_join(*segments)
segments.compact!
joined = segments.map { |p| p.sub(/\A\/?(.*?)\/?\z/, "\\1") }.join('/')
segments.first.start_with?('/') ? "/#{joined}" : joined
end
|
.vendor_asset_root ⇒ Object
.vendor_font_root ⇒ Object
44
45
46
47
48
|
# File 'lib/mosaico.rb', line 44
def vendor_font_root
@vendor_font_root ||= Mosaico::Engine.root.join(
'vendor', 'assets', 'fonts'
)
end
|
.vendor_lang_root ⇒ Object
40
41
42
|
# File 'lib/mosaico.rb', line 40
def vendor_lang_root
@vendor_lang_root ||= vendor_asset_root.join('mosaico', 'dist', 'lang')
end
|
.vendor_template_root ⇒ Object
36
37
38
|
# File 'lib/mosaico.rb', line 36
def vendor_template_root
@vendor_template_root ||= vendor_asset_root.join('mosaico', 'templates')
end
|