Sha256: 860f4cfc19a9725ca12474a536ce58688988caffe7b252c8ef3d41442d84f93b

Contents?: true

Size: 1.4 KB

Versions: 10

Compression:

Stored size: 1.4 KB

Contents

class Fanforce::AppFactory::CLI::Git
  include Fanforce::AppFactory::CLI::Utils

  attr_reader :app

  def initialize(app)
    @app = app
  end

  def setup
    if init.include?('Reinitialized')
      puts "#{'Found '.format(:green,:bold)}" + 'existing local repository'
    else
      puts "#{'Initialized '.format(:green,:bold)}" + 'local repository'
      add_files          and log '- git add .'
      make_first_commit  and log '- git commit -m "initial fanforce commit"'
      puts "#{'Created '.format(:green,:bold)}" + 'initial fanforce commit'
    end
  end

  def self.status_table_header(app_column_width)
    sprintf('%-12s %-50s %85s', 'GIT STATUS', 'APP NAME', 'STATS OVERVIEW').format(:bold)
  end

  def status_row(app_column_width)
    sprintf("%s%-12s#{fmt_end} %-50s %28s %28s %28s",
            fmt_start(is_committed ? :green : :red),
            (is_committed ? 'Committed' : 'Uncommitted'),
            app.name,
            *changed_stats
    )
  end

  def is_committed
    `git status`.include?('nothing to commit') ? true : false
  end

  def changed_stats
    stats_line = `git diff --stat`.split("\n").last
    stats_line ? stats_line.split(', ') : Array.new(3)
  end

  private

  def init
    response = `git init`
    `git config core.fileMode false`
    return response
  end

  def add_files
    `git add .`
  end

  def make_first_commit
    `git commit -m "initial fanforce commit"`
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
fanforce-app-factory-2.0.0.rc38 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc37 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc36 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc35 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc34 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc33 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc32 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc31 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc30 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc29 lib/fanforce/app_factory/cli/lib/git.rb