Sha256: 084a853a52ed2e5927a7be4980688790f7c8448b7d197ea34344ba8272662315

Contents?: true

Size: 829 Bytes

Versions: 3

Compression:

Stored size: 829 Bytes

Contents

# Returns root page in current lang
#
def page_root
  @current_page_root ||= Page.root( current_locale )
end

# Returns or sets current Page object being served.
#
def current_page( page = nil )
  @current_page = page if page.present?
  @current_page
end

# Returns current page url, if Page is served,
# plain ULR otherwise.
#
# If opts[:locale] is specified, tries to find closest page in other lang.
#
def current_page_url( opts = {} )
  if current_page.present?
    if !opts.key?(:locale) || opts[:locale] == current_page.lang
      current_page.url
    else
      # find this page in other lang
      other_page = Aerogel::Pages::Traversal.find_closest_in_other_lang( current_page, opts[:locale] )
      return nil unless other_page.present?
      url_to( other_page.url, opts )
    end
  else
    current_url opts
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aerogel-pages-1.4.16 app/helpers/pages.rb
aerogel-pages-1.4.14 app/helpers/pages.rb
aerogel-pages-1.4.12 app/helpers/pages.rb