Sha256: a1d1a8e867779ab01e456665c75a6cedca5ee5fa60661beecc0eb5f36a1f85a7

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require_relative 'shell/version'
require_relative 'shell/loader'
require_relative 'shell/ext/signature'
require_relative 'shell/doc_manager'
module Alf
  module Shell

    # This is the main documentation extractor
    DOC_EXTRACTOR = DocManager.new

    # Delegator command factory
    def self.Delegator()
      Quickl::Delegator(){|builder|
        builder.doc_extractor = DOC_EXTRACTOR
        builder.class_module Command::ClassMethods
        yield(builder) if block_given?
      }
    end

    # Command factory
    def self.Command()
      Quickl::Command(){|builder|
        builder.command_parent = Alf::Shell::Main
        builder.doc_extractor  = DOC_EXTRACTOR
        builder.class_module Command::ClassMethods
        builder.instance_module Shell::Support
        yield(builder) if block_given?
      }
    end

    # Operator factory
    def self.Operator()
      Quickl::Command(){|builder|
        builder.command_parent = Alf::Shell::Main
        builder.doc_extractor  = DOC_EXTRACTOR
        builder.class_module    Operator::ClassMethods
        builder.instance_module Shell::Support
        builder.instance_module Operator::InstanceMethods
        yield(builder) if block_given?
      }
    end

  end # module Shell
end # module Alf
require_relative 'shell/from_argv'
require_relative 'shell/support'
require_relative 'shell/command'
require_relative 'shell/operator'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
alf-shell-0.13.1 lib/alf/shell.rb
alf-shell-0.13.0 lib/alf/shell.rb