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.
113 114 115 116 117 118 119 120 121 122 |
# File 'lib/dry/cli/command_registry.rb', line 113 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.
109 110 111 |
# File 'lib/dry/cli/command_registry.rb', line 109 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.
93 94 95 |
# File 'lib/dry/cli/command_registry.rb', line 93 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.
105 106 107 |
# File 'lib/dry/cli/command_registry.rb', line 105 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.
89 90 91 |
# File 'lib/dry/cli/command_registry.rb', line 89 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.
101 102 103 |
# File 'lib/dry/cli/command_registry.rb', line 101 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.
97 98 99 |
# File 'lib/dry/cli/command_registry.rb', line 97 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.
85 86 87 |
# File 'lib/dry/cli/command_registry.rb', line 85 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.
151 152 153 |
# File 'lib/dry/cli/command_registry.rb', line 151 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.
157 158 159 160 161 |
# File 'lib/dry/cli/command_registry.rb', line 157 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.
177 178 179 |
# File 'lib/dry/cli/command_registry.rb', line 177 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.
165 166 167 |
# File 'lib/dry/cli/command_registry.rb', line 165 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.
138 139 140 |
# File 'lib/dry/cli/command_registry.rb', line 138 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.
171 172 173 |
# File 'lib/dry/cli/command_registry.rb', line 171 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.
132 133 134 |
# File 'lib/dry/cli/command_registry.rb', line 132 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.
126 127 128 |
# File 'lib/dry/cli/command_registry.rb', line 126 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.
144 145 146 147 |
# File 'lib/dry/cli/command_registry.rb', line 144 def subcommands!(command) command_class = command.is_a?(Class) ? command : command.class command_class.subcommands = children end |