Sha256: 0c1ecdbe7ca29bc010c8e0d1ab5068e0afcfc1c01d29373dbda1481de524e306

Contents?: true

Size: 934 Bytes

Versions: 13

Compression:

Stored size: 934 Bytes

Contents

module Geny
  module Actions
    # Run Geny commands from within a Geny invocation. Whoa, meta.
    class Geny
      # Create a new Geny
      # @param registry [Registry]
      def initialize(registry:)
        @registry = registry
      end

      # Run a command with arguments
      # @param name [String] name of the command
      # @param argv [Array<String>] command-line arguments
      #
      # @example
      #   geny.run "rails:model", "--name", "User"
      def run(name, *argv)
        command = @registry.find!(name)
        command.run(argv)
      end

      # Run a command with options
      # @param name [String] name of the command
      # @param options [Hash{Symbol => Object}] options for the command
      #
      # @example
      #   geny.invoke "rails:model", name: "User"
      def invoke(name, **options)
        command = @registry.find!(name)
        command.invoke(options)
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
geny-2.5.1 lib/geny/actions/geny.rb
geny-2.5.0 lib/geny/actions/geny.rb
geny-2.4.0 lib/geny/actions/geny.rb
geny-2.3.0 lib/geny/actions/geny.rb
geny-2.2.0 lib/geny/actions/geny.rb
geny-2.1.4 lib/geny/actions/geny.rb
geny-2.1.3 lib/geny/actions/geny.rb
geny-2.1.2 lib/geny/actions/geny.rb
geny-2.1.1 lib/geny/actions/geny.rb
geny-2.1.0 lib/geny/actions/geny.rb
geny-2.0.0 lib/geny/actions/geny.rb
geny-1.0.1 lib/geny/actions/geny.rb
geny-1.0.0 lib/geny/actions/geny.rb