Sha256: dbc9534bb219530f2edad57c3eb75f9a59ea91c639ffc206d8265d1cf6d549db

Contents?: true

Size: 736 Bytes

Versions: 2

Compression:

Stored size: 736 Bytes

Contents

module EacLauncher
  module Git
    class Base < ::EacLauncher::Path
      module Subrepo
        def subrepo_status(subrepo_path)
          s = execute!('subrepo', 'status', subrepo_path.gsub(%r{\A/}, ''))
          raise s.strip.to_s if s.include?('is not a subrepo')
          r = subrepo_status_parse_output(s)
          raise "Empty subrepo status for |#{s}|\n" unless r.any?
          r
        end

        private

        def subrepo_status_parse_output(s)
          r = {}.with_indifferent_access
          s.each_line do |l|
            m = /\A([^\:]+)\:(.*)\z/.match(l.strip)
            next unless m && m[2].present?
            r[m[1].strip] = m[2].strip
          end
          r
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eac_launcher-0.2.0 lib/eac_launcher/git/base/subrepo.rb
eac_launcher-0.1.7 lib/eac_launcher/git/base/subrepo.rb