Sha256: 8b23ecc6f7f9076c016aa47541dc8f3192d3ec4262e5b5ef6956a008a4b1396d

Contents?: true

Size: 1.26 KB

Versions: 6

Compression:

Stored size: 1.26 KB

Contents

# encoding: utf-8

module Gem
    class VersionImproved < Version
        def initialize(version)
            super
            @version = '0.0.0.0' if @version.empty?
            # avoid bug when Gem::Version <= 1.3.7
            @segments = nil
        end

        ##
        # Return a new version object where the previous to the last revision
        # number is one lower (e.g., 5.3.1 => 5.2).
        #
        # Pre-release (alpha) parts, e.g, 5.3.1.b.2 => 5.2, are ignored.
        def prev_release
            segments = self.segments.dup
            segments.pop while segments.any? { |s| String === s }
            segments.pop if segments.size > 1

            segments[-1] = segments[-1].to_i.pred.to_s
            self.class.new segments.join(".")
        end

        ##
        # The build for this version (e.g. 1.2.0.a -> 1.2.1).
        # Non-prerelease versions return themselves.
        def build
            return self unless prerelease?

            segments = self.segments.dup
            segments.pop while segments.any? { |s| String === s }
            segments[-1] = segments[-1].succ
            self.class.new segments.join('.')
        end

        def comma
            segments.dup.join(',')
        end
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rake-delphi-0.0.9 lib/rake/helpers/gemversion.rb
rake-delphi-0.0.8 lib/rake/helpers/gemversion.rb
rake-delphi-0.0.7 lib/rake/helpers/gemversion.rb
rake-delphi-0.0.6 lib/rake/helpers/gemversion.rb
rake-delphi-0.0.5 lib/rake/helpers/gemversion.rb
rake-delphi-0.0.4 lib/rake/helpers/gemversion.rb