Sha256: ed5fe0f086cc09db7d8d4089b7aaec36c163157d69714a4951e4066775c2c464

Contents?: true

Size: 835 Bytes

Versions: 71

Compression:

Stored size: 835 Bytes

Contents

# frozen_string_literal: true

require 'eac_cli/core_ext'

module Avm
  module Sources
    class Runner
      runner_with :help, :subcommands do
        desc 'Root command for sources.'
        arg_opt '-C', '--path', 'Path to the source.', default: '.'
        subcommands
      end

      for_context :optional_source, :source

      def extra_available_subcommands
        optional_source.if_present({}, &:extra_available_subcommands)
      end

      def source_banner
        infov 'Source', source
      end

      # @return [Pathname]
      def source_path
        parsed.path.to_pathname
      end

      private

      def source_uncached
        ::Avm::Registry.sources.detect(source_path)
      end

      def optional_source_uncached
        ::Avm::Registry.sources.detect_optional(source_path)
      end
    end
  end
end

Version data entries

71 entries across 71 versions & 2 rubygems

Version Path
avm-0.94.1 lib/avm/sources/runner.rb
eac_tools-0.98.0 sub/avm/lib/avm/sources/runner.rb
avm-0.94.0 lib/avm/sources/runner.rb
eac_tools-0.94.0 sub/avm/lib/avm/sources/runner.rb
avm-0.93.0 lib/avm/sources/runner.rb
eac_tools-0.92.0 sub/avm/lib/avm/sources/runner.rb
avm-0.92.0 lib/avm/sources/runner.rb
eac_tools-0.91.0 sub/avm/lib/avm/sources/runner.rb
avm-0.90.1 lib/avm/sources/runner.rb
eac_tools-0.87.1 sub/avm/lib/avm/sources/runner.rb
avm-0.90.0 lib/avm/sources/runner.rb
eac_tools-0.87.0 sub/avm/lib/avm/sources/runner.rb
avm-0.89.0 lib/avm/sources/runner.rb
eac_tools-0.86.12 sub/avm/lib/avm/sources/runner.rb
avm-0.88.0 lib/avm/sources/runner.rb
eac_tools-0.86.11 sub/avm/lib/avm/sources/runner.rb
avm-0.87.0 lib/avm/sources/runner.rb
eac_tools-0.86.8 sub/avm/lib/avm/sources/runner.rb
avm-0.86.2 lib/avm/sources/runner.rb
eac_tools-0.86.7 sub/avm/lib/avm/sources/runner.rb