class EacRubyGemsUtils::Gem::VersionFile
Constants
- VERSION_LINE_PATTERN
Public Instance Methods
value()
click to toggle source
# File lib/eac_ruby_gems_utils/gem/version_file.rb, line 12 def value path.read.each_line.lazy.map { |line| line_value(line) }.find { |v| v } end
value=(new_value)
click to toggle source
# File lib/eac_ruby_gems_utils/gem/version_file.rb, line 16 def value=(new_value) path.write(new_value_content(new_value)) end
Private Instance Methods
line_value(line)
click to toggle source
@return Version found in line, nil otherwise.
# File lib/eac_ruby_gems_utils/gem/version_file.rb, line 23 def line_value(line) VERSION_LINE_PATTERN.if_match(line.rstrip, false) { |m| ::Gem::Version.new(m[2]) } end
new_value_content(new_value)
click to toggle source
# File lib/eac_ruby_gems_utils/gem/version_file.rb, line 27 def new_value_content(new_value) path.read.each_line .map { |line| new_value_line(line, new_value) } .join end
new_value_line(line, new_value)
click to toggle source
# File lib/eac_ruby_gems_utils/gem/version_file.rb, line 33 def new_value_line(line, new_value) m = VERSION_LINE_PATTERN.match(line) return line unless m "#{m[1]}VERSION = '#{new_value}'#{m[3]}" end