app-version-git 0.0.3 → 0.0.4
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/VERSION +1 -1
- data/app-version-git.gemspec +2 -2
- data/lib/app-version-git.rb +15 -3
- data/test/test_app-version-git.rb +20 -3
- metadata +19 -19
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/app-version-git.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "app-version-git"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ondrej Bartas"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-07-31"
|
13
13
|
s.description = "Show version number based on git commit counts and enable to show change log from commit messages"
|
14
14
|
s.email = "ondrej@bartas.cz"
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/app-version-git.rb
CHANGED
@@ -5,10 +5,22 @@ require 'git'
|
|
5
5
|
|
6
6
|
class AppVersion
|
7
7
|
def initialize path
|
8
|
-
|
9
|
-
@git = Git.open(path)
|
8
|
+
@git = Git.open(get_path path)
|
10
9
|
end
|
11
10
|
|
11
|
+
def get_path path
|
12
|
+
path = File.expand_path(File.dirname(path))
|
13
|
+
path = path.split("/")
|
14
|
+
while path.size > 0
|
15
|
+
if File.exists?(File.join(path, ".git"))
|
16
|
+
return File.join(path)
|
17
|
+
else
|
18
|
+
path = path[0..-2]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
raise ArgumentError, "Git repository couldn't be found in your path"
|
22
|
+
end
|
23
|
+
|
12
24
|
def version
|
13
25
|
log_count = @git.log(99999).size
|
14
26
|
patch = log_count % 10
|
@@ -19,7 +31,7 @@ class AppVersion
|
|
19
31
|
|
20
32
|
def changelog count = 40
|
21
33
|
@git.log(count).collect{|l|
|
22
|
-
{ :date => l.date, :author => l.committer.name, :message => l.message }
|
34
|
+
{ :sha => l.sha, :date => l.date, :author => l.committer.name, :message => l.message }
|
23
35
|
}
|
24
36
|
end
|
25
37
|
|
@@ -3,11 +3,28 @@ require 'helper'
|
|
3
3
|
class TestAppVersionGit < Test::Unit::TestCase
|
4
4
|
should "return valid format of version" do
|
5
5
|
@app = AppVersion.new(__FILE__)
|
6
|
-
assert /\d\.\d.\d/ =~ @app.version
|
6
|
+
assert /\d\.\d.\d/ =~ @app.version, "version should match \\d.\\d.\\d regular"
|
7
7
|
end
|
8
|
+
|
8
9
|
should "hash with commit messages" do
|
9
10
|
@app = AppVersion.new(__FILE__)
|
10
|
-
assert @app.changelog.is_a?(Array)
|
11
|
-
assert @app.changelog.first.is_a?(Hash)
|
11
|
+
assert @app.changelog.is_a?(Array), "change log should be array"
|
12
|
+
assert @app.changelog.first.is_a?(Hash), "commit should be hash"
|
13
|
+
assert @app.changelog.first.has_key?(:sha), "should have sha"
|
14
|
+
assert @app.changelog.first.has_key?(:author), "should have author"
|
15
|
+
assert @app.changelog.first.has_key?(:date), "should have date"
|
16
|
+
assert @app.changelog.first.has_key?(:message), "should have message"
|
17
|
+
end
|
18
|
+
|
19
|
+
should "get path to git repo" do
|
20
|
+
assert_nothing_raised do
|
21
|
+
AppVersion.new(__FILE__)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
should "not get path to git repo and raise exception" do
|
26
|
+
assert_raise ArgumentError do
|
27
|
+
AppVersion.new(File.join(File.expand_path(__FILE__).split("/")[0..-4]))
|
28
|
+
end
|
12
29
|
end
|
13
30
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app-version-git
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: git
|
16
|
-
requirement: &
|
16
|
+
requirement: &70171200894600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70171200894600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: shoulda
|
27
|
-
requirement: &
|
27
|
+
requirement: &70171200893400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70171200893400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rdoc
|
38
|
-
requirement: &
|
38
|
+
requirement: &70171200891860 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '3.12'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70171200891860
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70171200890420 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.0.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70171200890420
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70171200905620 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.8.3
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70171200905620
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rcov
|
71
|
-
requirement: &
|
71
|
+
requirement: &70171200904920 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70171200904920
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: turn
|
82
|
-
requirement: &
|
82
|
+
requirement: &70171200904100 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 0.8.2
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70171200904100
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: ansi
|
93
|
-
requirement: &
|
93
|
+
requirement: &70171200903400 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: 1.2.5
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70171200903400
|
102
102
|
description: Show version number based on git commit counts and enable to show change
|
103
103
|
log from commit messages
|
104
104
|
email: ondrej@bartas.cz
|
@@ -133,7 +133,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
133
133
|
version: '0'
|
134
134
|
segments:
|
135
135
|
- 0
|
136
|
-
hash: -
|
136
|
+
hash: -2852965649254568985
|
137
137
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|