Sha256: 9c8d96a97aca3bedb212ff13dafb4cf45dc158e69018aa7598fd67f047af86ad

Contents?: true

Size: 628 Bytes

Versions: 2

Compression:

Stored size: 628 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module EacCli
  class Definition
    class PositionalArgument
      enable_listable
      lists.add_symbol :option, :optional, :repeat, :subcommand
      common_constructor :name, :options, default: [{}] do
        options.assert_valid_keys(self.class.lists.option.values)
      end

      def identifier
        name.to_s.variableize.to_sym
      end

      def optional?
        options[OPTION_OPTIONAL]
      end

      def repeat?
        options[OPTION_REPEAT]
      end

      def subcommand?
        options[OPTION_SUBCOMMAND]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
eac_cli-0.10.0 lib/eac_cli/definition/positional_argument.rb
ehbrs-tools-0.16.0 vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb