version_info 0.6.4 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- version_info (0.2.0)
4
+ version_info (0.6.4)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
data/README.md CHANGED
@@ -4,8 +4,7 @@
4
4
 
5
5
  VersionIinfo is a powerful and very lightweight gem to manage version data in your Ruby projects or other gems.
6
6
  VersionIinfo can manage a serie of predefined segments to build your version tag with the tipical structure X.X.X.X.
7
- The values are stored in a yaml file, and supports custom values. Also, rake tasks are avaiable to simplify yaml file
8
- creation and updates.
7
+ The values are stored in a yaml file, and supports custom values. Also, rake & thor tasks are avaiable to simplify yaml file creation and update.
9
8
 
10
9
  Feel free to contact me about bugs/features
11
10
 
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ require 'version_info'
8
8
  require 'version_info/version'
9
9
 
10
10
 
11
- VersionInfo::Tasks.install(:class => VersionInfo)
11
+ VersionInfo::RakeTasks.install(:class => VersionInfo)
12
12
  # now we have VersionInfo::VERSION defined, can load this
13
13
  Bundler::GemHelper.install_tasks
14
14
 
@@ -1,5 +1,41 @@
1
1
  module VersionInfo
2
- class Tasks
2
+ module ThorTasks
3
+ def self.install(opts = {})
4
+ Class.new(::Thor) do
5
+ @target = opts[:class]
6
+ class << self
7
+ attr_reader :target
8
+ end
9
+ namespace :vinfo
10
+
11
+ desc 'show', "Show version tag and create version_info.yml if missing"
12
+ def show
13
+ puts target::VERSION.tag
14
+ target::VERSION.save unless File.exist?(target::VERSION.file_name)
15
+ end
16
+
17
+ desc "inspect", "Show complete version info"
18
+ def inspect
19
+ puts target::VERSION.inspect
20
+ end
21
+
22
+ desc "bump SEGMENT=patch", "bumps segment: [#{VersionInfo.segments.join(', ')}]"
23
+ def bump(sgm = :patch)
24
+ target::VERSION.bump(sgm)
25
+ puts "version changed to #{target::VERSION}"
26
+ target::VERSION.save
27
+ end
28
+
29
+ protected
30
+ def target
31
+ self.class.target
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ class RakeTasks
38
+
3
39
  def self.install(opts = {})
4
40
  #dir = caller.find{|c| /Rakefile:/}[/^(.*?)\/Rakefile:/, 1]
5
41
  dir = File.dirname(Rake.application.rakefile_location)
@@ -17,7 +53,7 @@ module VersionInfo
17
53
  def install
18
54
  namespace :vinfo do
19
55
 
20
- desc "Inspect all current version keys"
56
+ desc "Show complete version info"
21
57
  task :inspect do
22
58
  puts target::VERSION.inspect
23
59
  end
@@ -40,3 +76,4 @@ module VersionInfo
40
76
  end
41
77
  end
42
78
  end
79
+
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  major: 0
3
- minor: 6
4
- patch: 4
3
+ minor: 7
4
+ patch: 0
data/lib/version_info.rb CHANGED
@@ -4,7 +4,7 @@ module VersionInfo
4
4
 
5
5
 
6
6
  def self.segments
7
- [:major, :minor, :patch, :pre, :build]
7
+ [:major, :minor, :patch, :state, :build]
8
8
  end
9
9
 
10
10
  def self.included(other)
@@ -13,7 +13,8 @@ module VersionInfo
13
13
  other.const_set('VERSION', data.new)
14
14
  end
15
15
 
16
- autoload :Tasks, 'version_info/tasks'
16
+ autoload :RakeTasks, 'version_info/tasks'
17
+ autoload :ThorTasks, 'version_info/tasks'
17
18
 
18
19
  end
19
20
 
@@ -8,6 +8,14 @@ describe "VersionInfo" do
8
8
  include VersionInfo # force new VERSION data
9
9
  end
10
10
  end
11
+ after :each do
12
+ module TestFile
13
+ remove_const :VERSION
14
+ remove_const :Version
15
+ end
16
+ end
17
+
18
+
11
19
 
12
20
  it "is initalized" do
13
21
  TestFile::VERSION.marshal_dump.should == {:major => 0, :minor => 0, :patch => 0 }
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 6
8
- - 4
9
- version: 0.6.4
7
+ - 7
8
+ - 0
9
+ version: 0.7.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jorge L. Cangas
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-11 00:00:00 +01:00
17
+ date: 2011-01-23 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency