Parent

Included Modules

Files

POM::VersionFile

Access to VERSION file. This class supports plain-text and YAML formatted files.

Constants

FILE_PATTERN

Attributes

buildno[RW]

Integer(esque) build number.

codename[RW]

Code name for this release, e.g. “Hardy Haron”.

date[R]

Date this version was released.

file[R]

Version file.

name[RW]
root[R]

Project root.

version[R]

Version number.

Public Class Methods

file_pattern() click to toggle source
# File lib/pom/version_file.rb, line 16
def self.file_pattern
  FILE_PATTERN
end
find(root) click to toggle source
# File lib/pom/version_file.rb, line 21
def self.find(root)
  root.glob(file_pattern, File::FNM_CASEFOLD).first
end
new(root, opts={}) click to toggle source
# File lib/pom/version_file.rb, line 26
def initialize(root, opts={})
  @root = Pathname.new(root)
  @file = opts[:file] || self.class.find(root)
  read_version_file
end

Public Instance Methods

date=(val) click to toggle source
# File lib/pom/version_file.rb, line 59
def date=(val)
  case val
  when Date, Time, DateTime
    @date = val
  else
    @date = Time.parse(val) if val
  end
end
read_version_file() click to toggle source
# File lib/pom/version_file.rb, line 87
def read_version_file
  if file 
    text = File.read(file).strip
    if yaml?(file, text)
      @type = :yaml
      release = parse_release_hash(YAML.load(text))
    else
      @type = :text
      release = parse_release_stamp(text)
    end
    self.version  = release[:version]
    self.date     = release[:date]
    self.codename = release[:codename]
  end
end
save_version_file() click to toggle source

TODO: handle jeweler and non-jeweler yaml?

# File lib/pom/version_file.rb, line 104
def save_version_file
  now!
  case type
  when :text
    File.write(file, 'w'){ |f| f << version.to_s }
  when :yaml
    File.write(file, 'w'){ |f| f << version.to_h.to_yaml }
  else
    File.write(file, 'w'){ |f| f << version.to_h.to_yaml }
  end
end
status() click to toggle source

Current status (beta, alpha, pre, rc, etc.)

# File lib/pom/version_file.rb, line 69
def status
  if md = /(\w+)/.match(version.build.to_s)
    md[1].to_sym
  end
end
to_a() click to toggle source
# File lib/pom/version_file.rb, line 82
def to_a
  @version.to_a
end
to_s() click to toggle source

Current version of the project. Will be a dot separated string, e.g. “1.0.0”.

# File lib/pom/version_file.rb, line 77
def to_s
  @version.to_s
end
version=(raw) click to toggle source
# File lib/pom/version_file.rb, line 54
def version=(raw)
  @version = VersionNumber.new(raw)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.