module Dome::Helpers::ViewModel

Public Instance Methods

compile(args, separator = "\n", do_compact = true, &block) click to toggle source
# 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) click to toggle source
# File lib/dome/helpers/view_model.rb, line 40
def draw(&block)
  Dome::Helpers::HtmlDrawer.new(@view_context, &block)
end
draw_with(&block) click to toggle source
# 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 = {}) click to toggle source

TODO: if respond_to? :render

# 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

Private Instance Methods

setup_view_path() click to toggle source

TODO: if respond_to? :controller; if respond_to? :prepend_view_path

# File lib/dome/helpers/view_model.rb, line 51
def setup_view_path
  return if @setup_view_path

  c = @view_context.respond_to?(:controller) ? @view_context.controller : @view_context
  @setup_view_path = c.prepend_view_path File.join [
    self.class.view_path,
    self.class.name.underscore
  ]
end