module Jeweler::VersionHelper::PlaintextExtension

def parse_plaintext

def parse_plaintext
  plaintext = read_plaintext.chomp
  # http://rubular.com/regexes/10467 -> 3.5.4.a1
  # http://rubular.com/regexes/10468 -> 3.5.4
  if plaintext =~ /^(\d+)\.(\d+)\.(\d+)(?:\.(.*?))?$/
    @major = $1.to_i
    @minor = $2.to_i
    @patch = $3.to_i
    @build = $4
  end
end

def path

def path
  plaintext_path
end

def read_plaintext

def read_plaintext
  File.read(plaintext_path)
end

def refresh

def refresh
  parse_plaintext
end

def write

def write
  File.open(plaintext_path, 'w') do |file|
    file.write to_s
  end
end