Sha256: d6a4924de0070e53d9ee6ebd42d2ad8cd302159d7384bbb101dd8094ee1f2790

Contents?: true

Size: 1.61 KB

Versions: 26

Compression:

Stored size: 1.61 KB

Contents

module Pulitzer
  module ContentElementHelper

    def render_cms_element(element,options = {})
      if element.image_type?
        render_image(element,options)
      elsif element.video_type?
        render_video(element,options)
      else
        render_body(element,options)
      end
    end

    def render_image(element,options = {})
      pulitzer_options = {'data-pulitzer-element' => element.id}
      if options.is_a? Hash
        pulitzer_options.merge!(options)
      end
      image_tag element.image_url(:cms), pulitzer_options
    end

    def render_picture_source(element,options = {})
      content_tag(:source, nil, options.merge(srcset: element.image_url(:cms)))
    end

    def render_img_srcset(element,options = {})
      content_tag(:img, nil, options.merge(srcset: element.image_url(:cms)))
    end

    def render_cms_image_path(element,options = {})
      element.image_url(:cms)
    end

    def render_video(element, options = {})
      content_tag(:iframe, nil, options.merge(src: element.video_link)) if element.video_link
    end

    def render_body(element, options = {})
      content_tag(:span, element.body.html_safe, options) if element.body
    end

    def render_cms_html(element, options = {})
      content_tag(:span, element.html, options) if element.html
    end

    def render_cms_url(element, options ={})
       element.body.html_safe if element.html
    end

    def render_cms_section(post_type, section_name)
      post_type.section(section_name).partials.collect do |partial|
        render partial: partial.full_view_path, locals: {partial: partial}
      end.join.html_safe
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
pulitzer-0.10.3 lib/pulitzer/content_element_helper.rb
pulitzer-0.10.2 lib/pulitzer/content_element_helper.rb
pulitzer-0.10.1 lib/pulitzer/content_element_helper.rb
pulitzer-0.10.0 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.14 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.13 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.11 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.10 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.9 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.8 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.7 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.6 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.5 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.4 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.3 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.2 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.1 lib/pulitzer/content_element_helper.rb
pulitzer-0.5.0 lib/pulitzer/content_element_helper.rb
pulitzer-0.4.16 lib/pulitzer/content_element_helper.rb
pulitzer-0.4.15 lib/pulitzer/content_element_helper.rb