Module: LadyJosephine::SirTrevorHelper
- Included in:
- Renderer::SirTrevorRenderer, SirTrevorView
- Defined in:
- app/helpers/lady_josephine/sir_trevor_helper.rb
Instance Method Summary collapse
- #component_attributes_for(block, classes) ⇒ Object
- #image_display_width(metadata, height = 620) ⇒ Object
- #image_with_srcset_tag(srcset, sizes, options = {}) ⇒ Object
- #render_sir_trevor(json, without_notes = true) ⇒ Object
- #sir_trevor_markdown(text) ⇒ Object
- #sir_trevor_video(block) ⇒ Object
Instance Method Details
#component_attributes_for(block, classes) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/helpers/lady_josephine/sir_trevor_helper.rb', line 14 def component_attributes_for(block, classes) classes = [classes].flatten(1).map do |klass| if klass.is_a? Hash key = block[klass.keys.first.to_s] [klass.values.first, key].reject(&:blank?).join("--") else klass end end if block["note"] != "yes" {"data-article_component" => block["uuid"], "notes_count" => block["references_count"], "ng-class" => "{'is-active': active}", "class" => classes} else {} end end |
#image_display_width(metadata, height = 620) ⇒ Object
52 53 54 |
# File 'app/helpers/lady_josephine/sir_trevor_helper.rb', line 52 def image_display_width(, height = 620) (["w2000"]["ratio"] * height).round end |
#image_with_srcset_tag(srcset, sizes, options = {}) ⇒ Object
36 37 38 39 40 |
# File 'app/helpers/lady_josephine/sir_trevor_helper.rb', line 36 def image_with_srcset_tag(srcset, sizes, = {}) src = protocol_relative path_to_image(srcset.split(', ').first.split(' ').first) tag "img", .merge(:src => src, :srcset => srcset, :sizes => sizes) end |
#render_sir_trevor(json, without_notes = true) ⇒ Object
6 7 8 9 10 11 12 |
# File 'app/helpers/lady_josephine/sir_trevor_helper.rb', line 6 def render_sir_trevor(json, without_notes = true) parse_sir_trevor(json).map do |object| if object["data"]["note"] != "yes" || !without_notes render_sir_trevor_block(object) end end.compact.join.html_safe end |
#sir_trevor_markdown(text) ⇒ Object
31 32 33 34 |
# File 'app/helpers/lady_josephine/sir_trevor_helper.rb', line 31 def sir_trevor_markdown(text) markdown = ::Redcarpet::Markdown.new(LadyJosephine::Redcarpet::CustomMarkdownFormatter.new(escape_html: true, safe_links_only: true)) markdown.render(text).html_safe end |
#sir_trevor_video(block) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'app/helpers/lady_josephine/sir_trevor_helper.rb', line 42 def sir_trevor_video(block) if block["source"] == "youtube" sir_trevor_video_youtube(block) elsif block["source"] == "vimeo" sir_trevor_video_vimeo(block) else "" end end |