module Maglev::FetchersConcern
def fallback_to_default_locale
def fallback_to_default_locale false end
def fetch_maglev_page
def fetch_maglev_page @fetch_maglev_page ||= maglev_services.fetch_page.call( path: maglev_page_path_from_params, locale: content_locale, default_locale: default_content_locale, fallback_to_default_locale: fallback_to_default_locale, only_visible: maglev_rendering_mode == :live ) end
def fetch_maglev_page_content
def fetch_maglev_page_content fetch_maglev_site fetch_maglev_theme fetch_maglev_page raise ActionController::RoutingError, 'Maglev page not found' unless fetch_maglev_page fetch_maglev_page_sections end
def fetch_maglev_page_sections(section_id: nil)
def fetch_maglev_page_sections(section_id: nil) @fetch_maglev_page_sections ||= maglev_services.get_page_sections.call( page: fetch_maglev_page, section_id: section_id, locale: content_locale ) end
def fetch_maglev_sections_path
def fetch_maglev_sections_path @fetch_maglev_sections_path ||= maglev_services.fetch_sections_path.call end
def fetch_maglev_site
def fetch_maglev_site @fetch_maglev_site ||= maglev_services.fetch_site.call end
def fetch_maglev_theme
def fetch_maglev_theme @fetch_maglev_theme ||= maglev_services.fetch_theme.call end
def fetch_maglev_theme_layout
def fetch_maglev_theme_layout @fetch_maglev_theme_layout ||= maglev_services.fetch_theme_layout.call( page: fetch_maglev_page ) end
def maglev_page
def maglev_page fetch_maglev_page end
def maglev_page_fullpaths
def maglev_page_fullpaths maglev_site.locale_prefixes.inject({}) do |memo, locale| memo.merge(locale => maglev_services.get_page_fullpath.call( page: maglev_page, locale: locale, preview_mode: maglev_rendering_mode != :live )) end end
def maglev_page_path_from_params
def maglev_page_path_from_params maglev_page_path_segments.join('/') end
def maglev_page_path_segments
def maglev_page_path_segments # we drop the path after the "_" segment params[:path].split('/').reduce([]) do |memo, segment| return memo if segment == '_' memo.push(segment) end end
def maglev_page_sections
def maglev_page_sections fetch_maglev_page_sections end
def maglev_sections_path
def maglev_sections_path fetch_maglev_sections_path end
def maglev_site
def maglev_site fetch_maglev_site end
def maglev_site_root_fullpath
def maglev_site_root_fullpath maglev_services.get_page_fullpath.call( path: 'index', locale: content_locale, preview_mode: maglev_rendering_mode != :live ) end
def maglev_style
def maglev_style maglev_services.fetch_style.call end
def maglev_theme
def maglev_theme fetch_maglev_theme end