This commit is contained in:
David Rodríguez 2019-12-13 20:41:13 +01:00 коммит произвёл SHIBATA Hiroshi
Родитель 38002a8adb
Коммит 0fab900538
3 изменённых файлов: 44 добавлений и 9 удалений

22
lib/bundler/vendor/thor/lib/thor/base.rb поставляемый
Просмотреть файл

@ -2,6 +2,7 @@ require_relative "command"
require_relative "core_ext/hash_with_indifferent_access"
require_relative "error"
require_relative "invocation"
require_relative "nested_context"
require_relative "parser"
require_relative "shell"
require_relative "line_editor"
@ -418,14 +419,20 @@ class Bundler::Thor
# remove_command :this_is_not_a_command
# end
#
def no_commands
@no_commands = true
yield
ensure
@no_commands = false
def no_commands(&block)
no_commands_context.enter(&block)
end
alias_method :no_tasks, :no_commands
def no_commands_context
@no_commands_context ||= NestedContext.new
end
def no_commands?
no_commands_context.entered?
end
# Sets the namespace for the Bundler::Thor or Bundler::Thor::Group class. By default the
# namespace is retrieved from the class name. If your Bundler::Thor class is named
# Scripts::MyScript, the help method, for example, will be called as:
@ -607,7 +614,7 @@ class Bundler::Thor
def inherited(klass)
super(klass)
Bundler::Thor::Base.register_klass_file(klass)
klass.instance_variable_set(:@no_commands, false)
klass.instance_variable_set(:@no_commands, 0)
end
# Fire this callback whenever a method is added. Added methods are
@ -624,8 +631,7 @@ class Bundler::Thor
# Return if it's not a public instance method
return unless public_method_defined?(meth.to_sym)
@no_commands ||= false
return if @no_commands || !create_command(meth)
return if no_commands? || !create_command(meth)
is_thor_reserved_word?(meth, :command)
Bundler::Thor::Base.register_klass_file(self)

29
lib/bundler/vendor/thor/lib/thor/nested_context.rb поставляемый Normal file
Просмотреть файл

@ -0,0 +1,29 @@
class Bundler::Thor
class NestedContext
def initialize
@depth = 0
end
def enter
push
yield
ensure
pop
end
def entered?
@depth > 0
end
private
def push
@depth += 1
end
def pop
@depth -= 1
end
end
end

2
lib/bundler/vendor/thor/lib/thor/version.rb поставляемый
Просмотреть файл

@ -1,3 +1,3 @@
class Bundler::Thor
VERSION = "0.20.3"
VERSION = "1.0.0"
end