Class: KeepUp::GemfileFilter
- Inherits:
-
FileFilter
- Object
- FileFilter
- KeepUp::GemfileFilter
- Defined in:
- lib/keep_up/gemfile_filter.rb
Overview
Filter to update dependency information in a Gemfile.
Class Method Summary collapse
Methods inherited from FileFilter
Class Method Details
.apply(contents, dependency) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/keep_up/gemfile_filter.rb', line 8 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 |
.dependency_matcher(dependency) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/keep_up/gemfile_filter.rb', line 20 def self.dependency_matcher(dependency) / ^(\s*gem\s+['"]#{dependency.name}['"], \s+\[?['"](?:~>|=)?\ *) [^'"]* (['"]\]?[^\]]*) $ /mx end |