Sha256: 5f182b422db5183fda9664585a342b7a697c5c999f660ab5a158d55e69e52d56

Contents?: true

Size: 1.08 KB

Versions: 12

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/envs'
require 'git'
require 'eac_launcher/paths/real'

module EacLauncher
  module Git
    class Base < ::EacLauncher::Paths::Real
      module Underlying
        def execute!(*args)
          args, options = build_args(args)
          ::EacRubyUtils::Envs.local.command(*args).execute!(options)
        end

        def system!(*args)
          args, options = build_args(args)
          ::EacRubyUtils::Envs.local.command(*args).system!(options)
        end

        def init
          git
          self
        end

        private

        def build_args(args)
          options = {}
          if args.last.is_a?(Hash)
            options = args.last
            args.pop
          end
          args = args.first if args.first.is_a?(Array)
          [['git', '-C', self, '--no-pager'] + args, options]
        end

        def git_uncached
          FileUtils.mkdir_p(self)
          if File.exist?(subpath('.git'))
            ::Git.open(self)
          else
            ::Git.init(self)
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
avm-tools-0.47.0 lib/eac_launcher/git/base/underlying.rb
avm-tools-0.46.0 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.8.0 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.7.0 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.8 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.7 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.6 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.5 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.4 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.3 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.2 lib/eac_launcher/git/base/underlying.rb
eac_launcher-0.6.1 lib/eac_launcher/git/base/underlying.rb