Sha256: 46b875ac3b3a66c2457e67c41cf25eaac55c8499f32f80421cfdb486f76cb950

Contents?: true

Size: 1.63 KB

Versions: 1

Compression:

Stored size: 1.63 KB

Contents

## Install

    gem install version_info

## Usage:


Include VersionInfo in your main project module (or class):

    require 'version_info'

    module MyProject
      include VersionInfo

    end

Create a file to store your version data. By default the file is named version_info.yml:

    --- 
    major: 0
    minor: 1
    patch: 0
    author: jcangas


Note you can put any custom data. In order to get the version tag, VersionInfo reserve some special keys
for use as the "segments" of the version tag:

    module VersionInfo

      def self.segments
        [:major, :minor, :patch, :state, :build]
      end

      ...
    end

Usingh the previous version_info.yml:

    puts MyProject::VERSION.tag

    => 0.1.0

Also you can bump any segment. With the same sample:

    MyProject::VERSION.bump(:major)
    puts MyProject::VERSION.tag

    => 1.0.0

Note the other (lower) segments are reset to 0 after bump.


### Rake tasks

Put in your rake file:

    VersionInfo::Tasks.install

And you get a few tasks within namespace vinfo:

    rake -T
    =>
    rake build        # Build version_info-0.4.0.gem into the pkg directory
    rake install      # Build and install version_info-0.4.0.gem into system gems
    rake release      # Create tag v0.4.0 and build and push version_info-0.4.0.gem to Rubygems
    rake vinfo:build  # Bumps version segment BUILD
    rake vinfo:major  # Bumps version segment MAJOR
    rake vinfo:minor  # Bumps version segment MINOR
    rake vinfo:patch  # Bumps version segment PATCH
    rake vinfo:pre    # Bumps version segment PRE
    rake vinfo:show   # Show current version tag and create version_info.yml if missing

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
version_info-0.4.0 README.md