Sha256: 2deaeaf6ec52febf86ca57be158f13e1c28297ff27104ad2d024b0dee6727122
Contents?: true
Size: 1.21 KB
Versions: 11
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true require 'avm/sources/base/subs_paths' require 'eac_cli/runner_with/subcommands' require 'eac_ruby_utils/core_ext' module Avm module Sources class Base module Runners # @return [Hash<String, EacCli::Runner>] def extra_available_subcommands extra_available_subcommands_from_runners_module end # @return [Hash<String, EacCli::Runner>] def extra_available_subcommands_from_runners_module self.class.ancestors.reverse.inject({}) do |a, e| a.merge(RunnersFromModule.new(e).result) end end class RunnersFromModule enable_simple_cache common_constructor :the_module # @return [Hash<String, EacCli::Runner>] def result return {} if runners_module.blank? ::EacCli::RunnerWith::Subcommands.subcommands_from_module(runners_module) end def runners_module_uncached return nil if the_module.module_parent.blank? begin the_module.module_parent.const_get('Runners') rescue ::NameError nil end end end end end end end
Version data entries
11 entries across 11 versions & 2 rubygems