Sha256: 2b0894ee647d5257a7aa1986c0db37eac46089d7693f3d3408d1fe9e174813df

Contents?: true

Size: 795 Bytes

Versions: 33

Compression:

Stored size: 795 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'eac_cli/runner/context_responders/base'

module EacCli
  module Runner
    module ContextResponders
      class RunnerMissingMethod < ::EacCli::Runner::ContextResponders::Base
        def callable?
          responder_runner.present?
        end

        def call(*args, &block)
          responder_runner.send(method_name, *args, &block)
        end

        private

        def responder_runner
          parent.if_present(nil) do |v|
            next v if v.respond_to?(method_name) && v.for_context?(method_name)

            v.if_respond(:runner_context, nil) do |w|
              w.runner_missing_method_responder(method_name).send(__method__)
            end
          end
        end
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 2 rubygems

Version Path
eac_cli-0.42.0 lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_cli-0.40.1 lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_cli-0.40.0 lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_cli-0.39.0 lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_cli-0.38.1 lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.82.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.81.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.80.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.79.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.78.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.77.1 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.77.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_cli-0.38.0 lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.76.1 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.76.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.75.2 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_cli-0.37.0 lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.75.1 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.75.0 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb
eac_tools-0.74.1 sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb