Module: Releaf::Content::NodeMapper

Defined in:
lib/releaf/content/node_mapper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#default_node_classObject

Returns the value of attribute default_node_class.



3
4
5
# File 'lib/releaf/content/node_mapper.rb', line 3

def default_node_class
  @default_node_class
end

Instance Method Details

#for_node_class(node_class) ⇒ Object



16
17
18
19
20
21
# File 'lib/releaf/content/node_mapper.rb', line 16

def for_node_class( node_class )
  previous_node_class = self.default_node_class
  self.default_node_class = node_class
  yield if block_given?
  self.default_node_class = previous_node_class
end

#node_routes_for(node_content_class, controller: Releaf::Content::Route.default_controller(node_content_class), node_class: default_node_class || Releaf::Content.default_model, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/releaf/content/node_mapper.rb', line 5

def node_routes_for(
  node_content_class,
  controller: Releaf::Content::Route.default_controller(node_content_class),
  node_class: default_node_class || Releaf::Content.default_model,
  &block
)
  Releaf::Content::Route.for(node_class, node_content_class, controller).each do |route|
    Releaf::Content::RouterProxy.new(self, route).draw(&block)
  end
end

#node_routing(routing) ⇒ Object

expects Releaf::Content.routing hash or a subset of it as an argument



24
25
26
27
28
29
30
31
32
# File 'lib/releaf/content/node_mapper.rb', line 24

def node_routing( routing )
  routing.each_pair do | node_class_name, node_class_routing |
    constraints node_class_routing[:constraints] do
      for_node_class(node_class_name.constantize) do
        yield
      end
    end
  end
end