Module: CallableTree::Node::External

Includes:
CallableTree::Node
Defined in:
lib/callable_tree/node/external.rb,
lib/callable_tree/node/external/builder.rb,
lib/callable_tree/node/external/verbose.rb

Defined Under Namespace

Classes: Builder, Output

Instance Attribute Summary

Attributes included from CallableTree::Node

#parent

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CallableTree::Node

#ancestors, #call, #depth, #match?, #root?, #routes, #terminate?

Class Method Details

.included(mod) ⇒ Object



8
9
10
11
12
13
# File 'lib/callable_tree/node/external.rb', line 8

def self.included(mod)
  return unless mod.include?(Internal)

  raise ::CallableTree::Error,
        "#{mod} cannot include #{self} together with #{Internal}"
end

.proxify(callable) ⇒ Object



15
16
17
# File 'lib/callable_tree/node/external.rb', line 15

def self.proxify(callable)
  Proxy.new(callable)
end

Instance Method Details

#external?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/callable_tree/node/external.rb', line 55

def external?
  true
end

#identityObject



38
39
40
41
42
43
44
45
# File 'lib/callable_tree/node/external.rb', line 38

def identity
  if proxified?
    unproxify
  else
    self
  end
    .class
end

#internal?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/callable_tree/node/external.rb', line 51

def internal?
  false
end

#outlineObject



47
48
49
# File 'lib/callable_tree/node/external.rb', line 47

def outline
  { identity => nil }
end

#proxified?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/callable_tree/node/external.rb', line 19

def proxified?
  false
end

#verbosified?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/callable_tree/node/external.rb', line 23

def verbosified?
  false
end

#verbosifyObject



27
28
29
30
31
# File 'lib/callable_tree/node/external.rb', line 27

def verbosify
  clone.tap do |node|
    node.extend Verbose
  end
end

#verbosify!Object



33
34
35
36
# File 'lib/callable_tree/node/external.rb', line 33

def verbosify!
  extend Verbose
  self
end