module Card::Format::Render
View
rendering methods.
Public Instance Methods
add_debug_info(view, method, rendered)
click to toggle source
# File lib/card/format/render.rb, line 54 def add_debug_info view, method, rendered return rendered unless show_debug_info? <<-HTML <view-debug view='#{safe_name}##{view}' src='#{pretty_path method.source_location}' module='#{method.owner}'/> #{rendered} HTML end
before_view(view)
click to toggle source
# File lib/card/format/render.rb, line 24 def before_view view try "_before_#{view}" end
current_view(view) { || ... }
click to toggle source
# File lib/card/format/render.rb, line 134 def current_view view old_view = @current_view @current_view = view yield ensure @current_view = old_view end
expand_stubs(cached_content)
click to toggle source
# File lib/card/format/render.rb, line 107 def expand_stubs cached_content return cached_content unless cached_content.is_a? String conto = Card::Content.new cached_content, self, chunk_list: :stub conto.process_chunks if conto.pieces.size == 1 # for stubs in json format this converts a single stub back # to it's original type (e.g. a hash) conto.pieces.first.to_s else conto.to_s end end
final_render(view)
click to toggle source
# File lib/card/format/render.rb, line 38 def final_render view method = view_method view rendered = final_render_call method add_debug_info view, method, rendered end
final_render_call(method)
click to toggle source
# File lib/card/format/render.rb, line 50 def final_render_call method method.call end
prepare_stub_nest(stub_hash) { |stub_card, view_opts| ... }
click to toggle source
def stub_debugging
result = yield if Rails.env.development? && result.is_a?(String) && result =~ /StUb/ Rails.logger.debug "STUB IN RENDERED VIEW: #{card.name}: " \ "#{voo.ok_view}\n#{result}" end result
end
# File lib/card/format/render.rb, line 97 def prepare_stub_nest stub_hash stub_card = Card.fetch_from_cast stub_hash[:cast] view_opts = stub_hash[:view_opts] voo.normalize_special_options! view_opts if stub_card&.key.present? && stub_card.key == card.key view_opts[:nest_name] ||= "_self" end yield stub_card, view_opts end
pretty_path(source_location)
click to toggle source
# File lib/card/format/render.rb, line 67 def pretty_path source_location "#{source_location.first.gsub(%r{^.+mod\d+-([^/]+)}, '\1: ')}:#{source_location.second}" end
render!(view, view_options={})
click to toggle source
view=open&layout=simple
# File lib/card/format/render.rb, line 7 def render! view, view_options={} voo = View.new self, view, view_options, @voo with_voo voo do voo.process do |final_view| wrap_and_render final_view end end end
show_debug_info?()
click to toggle source
# File lib/card/format/render.rb, line 63 def show_debug_info? Env.params[:debug] == "view" end
show_view?(view, default_viz=:show)
click to toggle source
# File lib/card/format/render.rb, line 32 def show_view? view, default_viz=:show voo.process_visibility # trigger viz processing visibility = voo.viz_hash[view] || default_viz visibility == :show end
stub_nest(stub_hash)
click to toggle source
# File lib/card/format/render.rb, line 142 def stub_nest stub_hash prepare_stub_nest(stub_hash) do |stub_card, view_opts| nest stub_card, view_opts, stub_hash[:format_opts] end end
stub_render(cached_content)
click to toggle source
# File lib/card/format/render.rb, line 82 def stub_render cached_content # stub_debugging do expand_stubs cached_content # end end
supports_view?(view)
click to toggle source
# File lib/card/format/render.rb, line 130 def supports_view? view respond_to? Card::Set::Format.view_method_name(view) end
view_cache_setting(view)
click to toggle source
see {Abstract::Format} (:default), :yes, :deep, :always, :never
# File lib/card/format/render.rb, line 74 def view_cache_setting view voo&.cache || view_setting(:cache, view) || :default end
view_method(view)
click to toggle source
# File lib/card/format/render.rb, line 122 def view_method view unless supports_view? view raise Card::Error::UserError, unsupported_view_error_message(view) end method Card::Set::Format.view_method_name(view) end
view_setting(setting_name, view)
click to toggle source
# File lib/card/format/render.rb, line 78 def view_setting setting_name, view try Card::Set::Format.view_setting_method_name(view, setting_name) end
voo()
click to toggle source
# File lib/card/format/render.rb, line 28 def voo @voo ||= View.new self, nil, {} end
with_voo(voo) { || ... }
click to toggle source
# File lib/card/format/render.rb, line 16 def with_voo voo old_voo = @voo @voo = voo yield ensure @voo = old_voo end
wrap_and_render(view)
click to toggle source
# File lib/card/format/render.rb, line 44 def wrap_and_render view current_view(view) { with_wrapper { final_render view } } rescue StandardError => e rescue_view e, view end