Sha256: 15b2dcc0a0c8adf891125187dcf8501136a01d92b959832d91f77e0c71d5f8e9

Contents?: true

Size: 1.1 KB

Versions: 6

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'avm/ruby/bundler/incompatible_parser/line_parser_base'

module Avm
  module Ruby
    module Bundler
      class IncompatibleParser
        class GemConflict < ::Avm::Ruby::Bundler::IncompatibleParser::LineParserBase
          LINE_PARSER = /Bundler could not find compatible versions for gem "(.+)":/
                          .to_parser { |m| new(m[1]) }

          enable_simple_cache
          common_constructor :gem_name

          def add_depends_on(depends_on)
            @depends_on_stack ||= []
            @depends_on_stack << depends_on
          end

          def add_version_requirement(version_requirement)
            version_requirement.stack = @depends_on_stack
            versions_requirements << version_requirement
            @depends_on_stack = nil
          end

          def data
            { gem_name: gem_name, versions_requirements: versions_requirements.map(&:data) }
          end

          def versions_requirements
            @versions_requirements ||= []
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
avm-tools-0.118.0 lib/avm/ruby/bundler/incompatible_parser/gem_conflict.rb
avm-tools-0.117.3 lib/avm/ruby/bundler/incompatible_parser/gem_conflict.rb
avm-tools-0.117.2 lib/avm/ruby/bundler/incompatible_parser/gem_conflict.rb
avm-tools-0.117.1 lib/avm/ruby/bundler/incompatible_parser/gem_conflict.rb
avm-tools-0.117.0 lib/avm/ruby/bundler/incompatible_parser/gem_conflict.rb
avm-tools-0.116.2 lib/avm/ruby/bundler/incompatible_parser/gem_conflict.rb