Class: Plum::ThemeResolver
- Inherits:
-
Object
- Object
- Plum::ThemeResolver
- Defined in:
- app/services/plum/theme_resolver.rb
Instance Method Summary collapse
- #find_asset(theme_handle, asset_name) ⇒ Object
- #find_layout(theme_handle, layout_name = "base") ⇒ Object
- #find_template(theme_handle, template_name) ⇒ Object
-
#initialize(registry: ThemeRegistry.new, fallback_handle: ThemeRegistry::DEFAULT_THEME_HANDLE) ⇒ ThemeResolver
constructor
A new instance of ThemeResolver.
- #theme(handle) ⇒ Object
Constructor Details
#initialize(registry: ThemeRegistry.new, fallback_handle: ThemeRegistry::DEFAULT_THEME_HANDLE) ⇒ ThemeResolver
Returns a new instance of ThemeResolver.
3 4 5 6 |
# File 'app/services/plum/theme_resolver.rb', line 3 def initialize(registry: ThemeRegistry.new, fallback_handle: ThemeRegistry::DEFAULT_THEME_HANDLE) @registry = registry @fallback_handle = fallback_handle end |
Instance Method Details
#find_asset(theme_handle, asset_name) ⇒ Object
20 21 22 |
# File 'app/services/plum/theme_resolver.rb', line 20 def find_asset(theme_handle, asset_name) themes_for(theme_handle).filter_map { |theme| theme.asset_path(asset_name) }.find(&:file?) end |
#find_layout(theme_handle, layout_name = "base") ⇒ Object
16 17 18 |
# File 'app/services/plum/theme_resolver.rb', line 16 def find_layout(theme_handle, layout_name = "base") themes_for(theme_handle).map { |theme| theme.layout_path(layout_name) }.find(&:file?) end |
#find_template(theme_handle, template_name) ⇒ Object
12 13 14 |
# File 'app/services/plum/theme_resolver.rb', line 12 def find_template(theme_handle, template_name) template_candidates(theme_handle, template_name).find(&:file?) end |
#theme(handle) ⇒ Object
8 9 10 |
# File 'app/services/plum/theme_resolver.rb', line 8 def theme(handle) registry.fetch(handle) end |