Sha256: 5814f97447a7ac09104d78484cf80411f043087c5a2d9000ba1f0cbcf99bc388

Contents?: true

Size: 1.34 KB

Versions: 19

Compression:

Stored size: 1.34 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
    `git diff --stat`.split("\n").last.split(', ')
  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

19 entries across 19 versions & 1 rubygems

Version Path
fanforce-app-factory-2.0.0.rc25 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc24 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc23 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc22 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc21 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc20 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc19 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc18 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc17 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc16 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc15 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc14 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc13 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc12 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc11 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc10 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc9 lib/fanforce/app_factory/cli/lib/git.rb
fanforce-app-factory-2.0.0.rc8 lib/fanforce/app_factory/cli/git.rb
fanforce-app-factory-2.0.0.rc7 lib/fanforce/app_factory/cli/git.rb