Sha256: 1dab6956b013db91ac04b4913daa0572b2f0cddd2154fb9551bd411ec9f2b8a9
Contents?: true
Size: 644 Bytes
Versions: 7
Compression:
Stored size: 644 Bytes
Contents
# frozen_string_literal: true module KeepUp # Filter to update dependency information in a Gemfile. module GemfileFilter def self.apply(contents, dependency) matcher = dependency_matcher(dependency) contents.each_line.map do |line| if line =~ matcher match = Regexp.last_match "#{match[1]}#{dependency.version}#{match[2]}" else line end end.join end def self.dependency_matcher(dependency) / ^(\s*gem\s+['"]#{dependency.name}['"], \s+\[?['"](?:~>|=)?\ *) [^'"]* (['"]\]?[^\]]*) $ /mx end end end
Version data entries
7 entries across 7 versions & 1 rubygems