Module: Dome::Helpers::ViewModel

Extended by:
ActiveSupport::Concern
Included in:
Exhibit, Presenter
Defined in:
lib/dome/helpers/view_model.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#compile(args, separator = "\n", do_compact = true, &block) ⇒ Object



33
34
35
36
37
38
# File 'lib/dome/helpers/view_model.rb', line 33

def compile(args, separator = "\n", do_compact = true, &block)
  separator = h.tag(separator) if separator.is_a?(Symbol)
  (do_compact ? args.compact : args)
    .join(block_given? ? block.() : separator)
    .html_safe
end

#draw(&block) ⇒ Object



40
41
42
# File 'lib/dome/helpers/view_model.rb', line 40

def draw(&block)
  Dome::Helpers::HtmlDrawer.new(@view_context, &block)
end

#draw_with(&block) ⇒ Object



44
45
46
# File 'lib/dome/helpers/view_model.rb', line 44

def draw_with(&block)
  draw { |x| [x, block.call(x)].join("\n").html_safe  }
end

#render(name = nil, vars = {}, opts = {}) ⇒ Object

TODO: if respond_to? :render



26
27
28
29
30
31
# File 'lib/dome/helpers/view_model.rb', line 26

def render(name = nil, vars = {}, opts = {})
  setup_view_path
  @view_context.render(
    name ? { file: name, locals: vars }.merge(opts) : opts
  )
end