Sha256: f2eb2ecf09d1d63506c25b9ed2796bd7f0df1b896fbd9a0e773510f27abeb987

Contents?: true

Size: 1005 Bytes

Versions: 3

Compression:

Stored size: 1005 Bytes

Contents

# TODO: Move this all into command.rb + project.rb

module MetaCon
  class Stat
    def self.handle(cmd, clo, opts)
      case cmd
      when :stat; stat(opts, clo)
      when :curr; curr(opts, nil, clo)
      end
    end

    def self.stat(opts, clo)
      # TODO:
      #   - git-stat summary
      #   - stuff from full_context
      #   - stat for each loader
      puts '(not yet implemented)'
      #puts curr(opts, nil, clo)
      require 'pp'
      pp $proj.full_context
    end

    def self.curr(opts=[], proj=nil, clo)
      proj ||= $proj
      $cli.cfail 'Not a metacon project. Use `metacon init`' and exit(5) unless proj.valid
      state = proj.current_state
      os = state[:os] == proj.this_os ? '.' : state[:os]
      host = state[:host] == proj.this_host ? '.' : state[:host]
      if opts.size == 0
        puts "/#{state[:rtc]}/#{state[:role]}/#{os}/#{host}/"
      else
        # TODO: check for valid types
        opts.each{|o| puts state[o.to_sym]}
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
metacon-0.3.0 lib/metacon/stat.rb
metacon-0.2.4 lib/metacon/stat.rb
metacon-0.2.3 lib/metacon/stat.rb