Class: Dry::CLI::CommandRegistry::Node Private
- Inherits:
-
Object
- Object
- Dry::CLI::CommandRegistry::Node
- Defined in:
- lib/dry/cli/command_registry.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Node of the registry
Instance Attribute Summary collapse
- #after_callbacks ⇒ Object readonly private
- #aliases ⇒ Object readonly private
- #before_callbacks ⇒ Object readonly private
- #children ⇒ Object readonly private
- #command ⇒ Object readonly private
- #hidden ⇒ Object readonly private
- #parent ⇒ Object readonly private
Instance Method Summary collapse
- #alias!(key, child) ⇒ Object private
- #aliases!(aliases) ⇒ Object private
- #children? ⇒ Boolean private
- #hidden!(hidden) ⇒ Object private
-
#initialize(parent = nil) ⇒ Node
constructor
private
A new instance of Node.
- #leaf!(command) ⇒ Object private
- #leaf? ⇒ Boolean private
- #lookup(token) ⇒ Object private
- #put(parent, key) ⇒ Object private
- #subcommands!(command) ⇒ Object private
Constructor Details
#initialize(parent = nil) ⇒ Node
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Node.
111 112 113 114 115 116 117 118 119 120 |
# File 'lib/dry/cli/command_registry.rb', line 111 def initialize(parent = nil) @parent = parent @children = {} @aliases = {} @hidden = hidden @command = nil @before_callbacks = Chain.new @after_callbacks = Chain.new end |
Instance Attribute Details
#after_callbacks ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
107 108 109 |
# File 'lib/dry/cli/command_registry.rb', line 107 def after_callbacks @after_callbacks end |
#aliases ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
91 92 93 |
# File 'lib/dry/cli/command_registry.rb', line 91 def aliases @aliases end |
#before_callbacks ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
103 104 105 |
# File 'lib/dry/cli/command_registry.rb', line 103 def before_callbacks @before_callbacks end |
#children ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
87 88 89 |
# File 'lib/dry/cli/command_registry.rb', line 87 def children @children end |
#command ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
99 100 101 |
# File 'lib/dry/cli/command_registry.rb', line 99 def command @command end |
#hidden ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
95 96 97 |
# File 'lib/dry/cli/command_registry.rb', line 95 def hidden @hidden end |
#parent ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
83 84 85 |
# File 'lib/dry/cli/command_registry.rb', line 83 def parent @parent end |
Instance Method Details
#alias!(key, child) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
149 150 151 |
# File 'lib/dry/cli/command_registry.rb', line 149 def alias!(key, child) @aliases[key] = child end |
#aliases!(aliases) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
155 156 157 158 159 |
# File 'lib/dry/cli/command_registry.rb', line 155 def aliases!(aliases) aliases.each do |a| parent.alias!(a, self) end end |
#children? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
175 176 177 |
# File 'lib/dry/cli/command_registry.rb', line 175 def children? children.any? end |
#hidden!(hidden) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
163 164 165 |
# File 'lib/dry/cli/command_registry.rb', line 163 def hidden!(hidden) @hidden = hidden end |
#leaf!(command) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
136 137 138 |
# File 'lib/dry/cli/command_registry.rb', line 136 def leaf!(command) @command = command end |
#leaf? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
169 170 171 |
# File 'lib/dry/cli/command_registry.rb', line 169 def leaf? !command.nil? end |
#lookup(token) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
130 131 132 |
# File 'lib/dry/cli/command_registry.rb', line 130 def lookup(token) children[token] || aliases[token] end |
#put(parent, key) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
124 125 126 |
# File 'lib/dry/cli/command_registry.rb', line 124 def put(parent, key) children[key] ||= self.class.new(parent) end |
#subcommands!(command) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
142 143 144 145 |
# File 'lib/dry/cli/command_registry.rb', line 142 def subcommands!(command) command_class = command.is_a?(Class) ? command : command.class command_class.subcommands = children end |