class LockfilePreserver::Platforms
Constants
- NEW_LINE
- PLATFORMS
- REGEXP
- RUBY_PATTERN
Attributes
original[R]
updated[R]
Public Class Methods
new(original, updated)
click to toggle source
# File lib/lockfile_preserver/platforms.rb, line 3 def initialize(original, updated) @original = original @updated = updated end
Public Instance Methods
keep()
click to toggle source
# File lib/lockfile_preserver/platforms.rb, line 8 def keep if original.include? PLATFORMS keep_platforms else remove_platforms end end
Private Instance Methods
add_platforms()
click to toggle source
How PLATFORMS
added to lockfile: git.io/vSda6
# File lib/lockfile_preserver/platforms.rb, line 48 def add_platforms updated_lines = updated.lines # Find last line of GEM last_section_of_gem_index = updated.lines.index { |line| line != "G" && line.chr == "\n" } # PLATFORMS should be added after GEM section add_platforms_index = last_section_of_gem_index + 1 # Add PLATFORMS section updated_lines.insert( add_platforms_index, "\nPLATFORMS\n", " #{platform_ruby}\n" ) # Reconstruct lockfile updated_lines.join end
keep_platforms()
click to toggle source
# File lib/lockfile_preserver/platforms.rb, line 30 def keep_platforms if updated.include? PLATFORMS retains_platforms else add_platforms end end
platform_ruby()
click to toggle source
# File lib/lockfile_preserver/platforms.rb, line 70 def platform_ruby @_platform_ruby ||= original.match(REGEXP)[:ruby] end
platforms_section()
click to toggle source
# File lib/lockfile_preserver/platforms.rb, line 42 def platforms_section "\n\nPLATFORMS\n" \ " #{platform_ruby}\n\n" end
remove_platforms()
click to toggle source
# File lib/lockfile_preserver/platforms.rb, line 66 def remove_platforms updated.sub(REGEXP, NEW_LINE) end
retains_platforms()
click to toggle source
# File lib/lockfile_preserver/platforms.rb, line 38 def retains_platforms updated.sub(REGEXP, platforms_section) end