Class: Guide::Scout

Inherits:
Object
  • Object
show all
Defined in:
app/models/guide/scout.rb

Instance Method Summary collapse

Constructor Details

#initialize(starting_node) ⇒ Scout

Returns a new instance of Scout.



2
3
4
5
6
# File 'app/models/guide/scout.rb', line 2

def initialize(starting_node)
  @starting_node = starting_node

  ensure_starting_node_exists
end

Instance Method Details

#visibility_along_path(node_path) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/models/guide/scout.rb', line 8

def visibility_along_path(node_path)
  current_node = @starting_node
  path_visibility = current_node.options[:visibility]

  node_ids_along_path(node_path).each do |node_id|
    current_node = current_node.child_nodes[node_id]
    ensure_node_exists(current_node, node_id)
    path_visibility = foggiest_visibility(path_visibility,
                                          current_node.options[:visibility])
  end

  path_visibility
end