Module: Kijkwijzer::ViewHelpers

Defined in:
lib/kijkwijzer/view_helpers.rb

Overview

ViewHelpers for Rails

Instance Method Summary collapse

Instance Method Details

#render_kijkwijzer_svg_definitionsObject

Renders the SVG definitions with all Kijkwijzer icons. To be placed somewhere in the top of your body, for optimal compatibility

Returns:

  • String html-string, made html_safe if ActiveSupport is defined.



10
11
12
13
14
# File 'lib/kijkwijzer/view_helpers.rb', line 10

def render_kijkwijzer_svg_definitions
  svg_txt = File.open(open(File.join(File.dirname(__FILE__),'..','kijkwijzer.svg'))).read
  svg_txt = svg_txt.html_safe if defined?(ActiveSupport)
  svg_txt
end

#render_kijkwijzers(rating_result) ⇒ Object

Renders a div block with svg elements that references the definition as defined by #render_kijkwijzer_svg_definitions

rating_result is an actual Kijkwijzer::Result or an array of ratings similar to the result of Result#ratings

Returns:

  • String html-string, made html_safe if ActiveSupport is defined.



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/kijkwijzer/view_helpers.rb', line 20

def render_kijkwijzers rating_result
  result_svgs = "<div class=\"kijkwijzer icons\">"
  if rating_result.is_a? Kijkwijzer::Result
    rating_result = rating_result.ratings
  end
  rating_result.each do |rating|
    result_svgs+="<svg viewBox=\"0 0 100 100\" class=\"icon kijkwijzer_#{rating}\" title=\"#{rating}\"><use xlink:href=\"#kijkwijzer_base\"></use><use xlink:href=\"#kijkwijzer_#{rating}\"></use></svg>"
  end
  result_svgs += "</div>"
  result_svgs = result_svgs.html_safe if defined?(ActiveSupport)
  result_svgs
end