Class: Journeybook::PageResolver
- Inherits:
-
Object
- Object
- Journeybook::PageResolver
- Defined in:
- app/services/journeybook/page_resolver.rb
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(host:, path:, locale: nil) ⇒ PageResolver
constructor
A new instance of PageResolver.
- #site ⇒ Object
Constructor Details
#initialize(host:, path:, locale: nil) ⇒ PageResolver
Returns a new instance of PageResolver.
7 8 9 10 11 |
# File 'app/services/journeybook/page_resolver.rb', line 7 def initialize(host:, path:, locale: nil) @host = host @path = path @locale = locale end |
Class Method Details
.from_request(request, path: nil, locale: nil) ⇒ Object
3 4 5 |
# File 'app/services/journeybook/page_resolver.rb', line 3 def self.from_request(request, path: nil, locale: nil) new(host: request.host, path: path, locale: locale) end |
Instance Method Details
#call ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'app/services/journeybook/page_resolver.rb', line 13 def call matched_site = site return unless matched_site pages = matched_site.pages.published.by_path(matched_site.relative_path_for(normalized_path)) pages = pages.where(locale: @locale) if @locale.present? pages.first end |
#site ⇒ Object
22 23 24 |
# File 'app/services/journeybook/page_resolver.rb', line 22 def site @site ||= find_site end |