Module: Card::Format::Render

Included in:
Card::Format
Defined in:
lib/card/format/render.rb

Overview

View rendering methods.

Instance Method Summary collapse

Instance Method Details

#before_view(view) ⇒ Object



24
25
26
# File 'lib/card/format/render.rb', line 24

def before_view view
  try "_before_#{view}"
end

#current_view(view) ⇒ Object



80
81
82
83
84
85
86
# File 'lib/card/format/render.rb', line 80

def current_view view
  old_view = @current_view
  @current_view = view
  yield
ensure
  @current_view = old_view
end

#final_render(view) ⇒ Object



38
39
40
41
42
# 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

#pretty_path(source_location) ⇒ Object



44
45
46
47
# File 'lib/card/format/render.rb', line 44

def pretty_path source_location
  "#{source_location.first.gsub(%r{^.+mod\d+-([^/]+)},
                                '\1: ')}:#{source_location.second}"
end

#render!(view, view_options = {}) ⇒ Object

view=open&layout=simple



7
8
9
10
11
12
13
14
# 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_view?(view, default_viz = :show) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
# 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) ⇒ Object



88
89
90
91
92
# File 'lib/card/format/render.rb', line 88

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) ⇒ Object



59
60
61
62
63
64
65
66
# File 'lib/card/format/render.rb', line 59

def stub_render cached_content
  return cached_content if Cardio.config.view_cache == :debug

  # stub_debugging do
  # Rails.logger.info cached_content
  expand_stubs cached_content
  # end
end

#supports_view?(view) ⇒ Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/card/format/render.rb', line 76

def supports_view? view
  respond_to? Card::Set::Format.view_method_name(view)
end

#view_cache_setting(view) ⇒ Object

see Abstract::Format (:default), :yes, :deep, :force, :always, :never



51
52
53
# File 'lib/card/format/render.rb', line 51

def view_cache_setting view
  voo&.cache || view_setting(:cache, view) || :default
end

#view_method(view) ⇒ Object



68
69
70
71
72
73
74
# File 'lib/card/format/render.rb', line 68

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) ⇒ Object



55
56
57
# File 'lib/card/format/render.rb', line 55

def view_setting setting_name, view
  try Card::Set::Format.view_setting_method_name(view, setting_name)
end

#vooObject



28
29
30
# File 'lib/card/format/render.rb', line 28

def voo
  @voo ||= View.new self, nil, {}
end

#with_voo(voo) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/card/format/render.rb', line 16

def with_voo voo
  old_voo = @voo
  @voo = voo
  yield
ensure
  @voo = old_voo
end