Sha256: 2d9b69292f06f03bcbbc6dbda9312a2da0a83ecde80fdbf4a7c6f8ce906142ae

Contents?: true

Size: 851 Bytes

Versions: 1

Compression:

Stored size: 851 Bytes

Contents

module Napa
  VERSION = "0.1.1"

  class Version
    class << self
      def next_major
        self.next_level(:major)
      end

      def next_minor
        self.next_level(:minor)
      end

      def next_patch
        self.next_level(:patch)
      end

      def next_level(level)
        raise "Unidentified Level" unless [:major,:minor,:patch].include?(level)

        parts = Napa::VERSION.split('.').map{|p| p.to_i}

        if level == :major
          parts[0] += 1 
          significant_index = 1
        end

        if level == :minor
          parts[1] += 1 
          significant_index = 2    
        end

        if level == :patch
          parts[2] += 1 
          significant_index = 3
        end

        parts.map.with_index{|p,i| parts[i] = 0 if i >= significant_index}

        parts.join('.')
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
napa-0.1.1 lib/napa/version.rb