Sha256: 68367a9256a8433e846c7447f152660850aeb9ccdc9765619e04862827f5a9b6

Contents?: true

Size: 840 Bytes

Versions: 2

Compression:

Stored size: 840 Bytes

Contents

module Eco
  class CLI

    def initialize
      @config = nil
    end

    def args
      ARGV
    end

    def options
      @options ||= {}
    end

    def config
      @config ||= Eco::CLI::Config.new(cli: self)
      @config.tap do |cnf|
        yield(cnf) if block_given?
      end
    end

    def run(session:)
      io = Eco::API::UseCases::BaseIO.new(session: session, options: options)
      #session.workflow.run(io: io)
      session.workflow(io: io) do |wf, io|
        io = wf.run(:options, io: io)
        io = wf.run(:load, io: io)
        io = wf.run(:usecases, io: io)
        io = wf.run(:launch_jobs, io: io)
        io = wf.run(:post_launch, io: io)
        io = wf.run(:end, io: io)
      end
    end

  end
end

require_relative 'cli/scripting'
require_relative 'cli/config'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eco-helpers-1.1.4 lib/eco/cli.rb
eco-helpers-1.1.3 lib/eco/cli.rb