Class: Cms::PageResolver
- Inherits:
-
Object
- Object
- Cms::PageResolver
- Defined in:
- app/services/cms/page_resolver.rb
Defined Under Namespace
Classes: Result
Class Method Summary collapse
-
.resolve(site:, slug: nil, locale: nil) ⇒ Result?
Finds a published page by slug within a site and resolves the best available locale using the fallback chain: requested locale → site.default_locale → I18n.default_locale → any.
Instance Method Summary collapse
-
#initialize(site:, slug:, locale:) ⇒ PageResolver
constructor
A new instance of PageResolver.
- #resolve ⇒ Object
Constructor Details
#initialize(site:, slug:, locale:) ⇒ PageResolver
Returns a new instance of PageResolver.
20 21 22 23 24 |
# File 'app/services/cms/page_resolver.rb', line 20 def initialize(site:, slug:, locale:) @site = site @slug = slug.to_s @locale = locale.to_s.presence end |
Class Method Details
.resolve(site:, slug: nil, locale: nil) ⇒ Result?
Finds a published page by slug within a site and resolves the best available locale using the fallback chain:
requested locale → site.default_locale → I18n.default_locale → any
16 17 18 |
# File 'app/services/cms/page_resolver.rb', line 16 def self.resolve(site:, slug: nil, locale: nil) new(site: site, slug: slug, locale: locale).resolve end |