Sha256: 0913c133d3e5afa5fa64605a8451ed2dbbe941507284b6dd80a453b26a268033

Contents?: true

Size: 1.93 KB

Versions: 11

Compression:

Stored size: 1.93 KB

Contents

module ThemeHelper
  # This allows you to generate a page-header component
  def page_header(data, presenter = nil)
    data = ThemePresentation.wrap(data, PageHeaderPresenter, presenter)
    render 'woople-theme/page_header', header: data
  end

  def content_items(items, presenter = nil)
    collection = ThemePresentation.wrap_collection(items, ContentItemPresenter, presenter)
    render partial: 'woople-theme/content_item', collection: collection
  end

  def video_modal(video, presenter = nil)
    video = ThemePresentation.wrap(video, presenter)
    render 'woople-theme/video_modal', video: video
  end

  def content_item_header
    render partial: 'woople-theme/content_item_header'
  end

  def outline(item, &block)
    presenter = ThemePresentation.wrap(item, OutlinePresenter)
    presenter.view_context = self

    render partial: 'woople-theme/outline', locals: { outline: presenter, block: block }
  end

  def profile
    if !respond_to?(WoopleTheme.configuration.profile_helper)
      raise "#{WoopleTheme.configuration.profile_helper} helper_method does not exist. WoopleTheme.configuration.profile_helper must point to a valid helper_method."
    end

    model = ThemePresentation.wrap(send(WoopleTheme.configuration.profile_helper), ProfilePresenter)
    render 'woople-theme/profile', profile: model
  end

  def menu
    if !respond_to?(WoopleTheme.configuration.menu_helper)
      raise "#{WoopleTheme.configuration.menu_helper} helper_method does not exist. WoopleTheme.configuration.menu_helper must point to a valid helper_method."
    end

    model = ThemePresentation.wrap(send(WoopleTheme.configuration.menu_helper), MenuPresenter)
    render 'woople-theme/menu', menu: model
  end

  def results_header(title, path = nil)
    output = ""
    output << content_tag(:h2, title, class: 'results-header')
    output << content_tag(:a, I18n.t('woople_theme.search_results_more'), href: path) unless path.nil?
    output.html_safe
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
woople-theme-0.2.39 app/helpers/theme_helper.rb
woople-theme-0.2.38 app/helpers/theme_helper.rb
woople-theme-0.2.37 app/helpers/theme_helper.rb
woople-theme-0.2.36 app/helpers/theme_helper.rb
woople-theme-0.2.35 app/helpers/theme_helper.rb
woople-theme-0.2.34 app/helpers/theme_helper.rb
woople-theme-0.2.33 app/helpers/theme_helper.rb
woople-theme-0.2.32 app/helpers/theme_helper.rb
woople-theme-0.2.31 app/helpers/theme_helper.rb
woople-theme-0.2.30 app/helpers/theme_helper.rb
woople-theme-0.2.29 app/helpers/theme_helper.rb