Sha256: 78ce3aa5335953df9bd2aca35594154355cb4514aac95f0b2b28845f9da84e01

Contents?: true

Size: 820 Bytes

Versions: 5

Compression:

Stored size: 820 Bytes

Contents

module Scide

  class Overmind

    def initialize
      @cli = Scide::Opts.new
      @config = Scide::Config.new
    end

    def brood
      @cli.parse! ARGV
      @config.file = @cli.funnel[:config] if @cli.funnel.key? :config
      @config.load
      @initialized = true
      self
    end

    def dominate

      Scide.fail :not_initialized, 'ERROR: call #brood to initialize' unless @initialized
    
      project_key = ARGV.shift
      screen = Scide::Screen.new @config, @cli, project_key
      screen.validate

      if @cli.funnel[:'dry-run']
        puts
        puts Paint['COMMAND', :bold]
        puts "   #{screen.to_command}"
        puts
        puts Paint['SCREEN CONFIGURATION', :bold]
        puts screen.to_s.gsub(/^/, '   ')
        puts
      else
        screen.run
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
scide-0.0.5 lib/scide/overmind.rb
scide-0.0.4 lib/scide/overmind.rb
scide-0.0.3 lib/scide/overmind.rb
scide-0.0.2 lib/scide/overmind.rb
scide-0.0.1 lib/scide/overmind.rb