module Docks::Helpers::Render
Public Instance Methods
render_everything()
click to toggle source
# File lib/docks/helpers/render_helper.rb, line 9 def render_everything render_everything_for(@pattern) @pattern.symbols.each { |symbol| render_everything_for(symbol) } end
Private Instance Methods
render_description(description, options = {})
click to toggle source
# File lib/docks/helpers/render_helper.rb, line 60 def render_description(description, options = {}) description.gsub! /(href\s*=\s*['"])@link\s([^'"]*)(.)/ do |match| "#{$1}#{docks_path($2, options)}#{$3}" end render(layout: false, inline: render_description_with_theme(description, options)) end
render_description_with_theme(description, options = {})
click to toggle source
To be (optionally) overriden in themes
# File lib/docks/helpers/render_helper.rb, line 69 def render_description_with_theme(description, options = {}) description end
render_everything_for(symbol, options = {})
click to toggle source
# File lib/docks/helpers/render_helper.rb, line 16 def render_everything_for(symbol, options = {}) case symbol when Containers::Base options[:language] = symbol.source.nil? ? nil : symbol.source.language_code render_markup(symbol) symbol.each do |k, v| next if v.nil? if k == :description symbol[k] = render_description(v, options) else symbol[k] = render_everything_for(v, options) end end if symbol.respond_to?(:members) symbol.members.each { |member| render_everything_for(member, options) } end when Array symbol.map! { |each_symbol| render_everything_for(each_symbol, options) } when OpenStruct symbol.each do |k, v| next if v.nil? if k == :description symbol.description = render_description(v, options) else symbol.send("#{k.to_s}=".to_sym, render_everything_for(v, options)) end end end symbol end
render_markup(symbol)
click to toggle source
# File lib/docks/helpers/render_helper.rb, line 54 def render_markup(symbol) markup, helper = symbol.markup, symbol.helper return if markup.nil? && helper.nil? symbol.markup = render(inline: (helper || markup), layout: false) end