Module: LadyJosephine::SirTrevorHelper

Included in:
Renderer::SirTrevorRenderer, SirTrevorView
Defined in:
app/helpers/lady_josephine/sir_trevor_helper.rb

Instance Method Summary collapse

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, options = {})
  src = protocol_relative path_to_image(srcset.split(', ').first.split(' ').first)

  tag "img", options.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