Module: Upmin::Railties::RenderHelpers

Defined in:
lib/upmin/railties/render_helpers.rb

Class Method Summary collapse

Class Method Details

.build_path(partial) ⇒ Object



39
40
41
# File 'lib/upmin/railties/render_helpers.rb', line 39

def RenderHelpers.build_path(partial)
  return "upmin/types/#{partial}"
end

.build_search_box_path(partial) ⇒ Object



44
45
46
# File 'lib/upmin/railties/render_helpers.rb', line 44

def RenderHelpers.build_search_box_path(partial)
  return "upmin/search_boxes/#{partial}"
end

.object_name(partial) ⇒ Object



48
49
50
51
52
53
54
# File 'lib/upmin/railties/render_helpers.rb', line 48

def RenderHelpers.object_name(partial)
  if match = partial.match(/.*\/(.*)/)
    return match.captures.first
  else
    raise "Unable to match object name for the partial #{partial}."
  end
end

.partials_for(node, options) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/upmin/railties/render_helpers.rb', line 4

def RenderHelpers.partials_for(node, options)
  partials = []
  partials << options[:partial] if options[:partial]
  partials << build_path(options[:as]) if options[:as]
  partials << build_path(node.type)

  if node.is_a?(Upmin::Graph::ModelNode)
    partials << build_path("unknown#{node.type_suffix}")
  elsif node.is_a?(Upmin::Graph::CollectionNode)
    # TODO(jon): Maybe add in support for method_name later
    if node.type != :unknown_collection
      partials << build_path(:unknown_collection)
    end
  elsif node.is_a?(Upmin::Graph::DataNode)
    # TODO(jon): Maybe add in support for method_name later
    if node.type != :unknown
      partials << build_path(:unknown)
    end
  else
    # WTF? Add unknown as a backup, but this likely isn't even a node.
    partials << build_path(:unknown)
  end

  return partials
end

.partials_for_search_box(upmin_model, options) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/upmin/railties/render_helpers.rb', line 30

def RenderHelpers.partials_for_search_box(upmin_model, options)
  partials = []
  partials << options[:partial] if options[:partial]
  partials << build_search_box_path(options[:as]) if options[:as]
  partials << build_search_box_path(upmin_model.partial_name)
  partials << build_search_box_path(:unknown)
  return partials
end