git-version-bump 0.4.0 → 0.5.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.
Files changed (2) hide show
  1. data/lib/git-version-bump.rb +33 -24
  2. metadata +3 -3
@@ -8,8 +8,9 @@ module GitVersionBump
8
8
 
9
9
  def self.caller_gemspec
10
10
  # First up, who called us? Because this method gets called from other
11
- # methods within this file, we can't just look at Gem.location_of_caller,
12
- # but instead we need to parse the whole caller stack ourselves.
11
+ # methods within this file, we can't just look at
12
+ # Gem.location_of_caller, but instead we need to parse the caller
13
+ # stack ourselves to find which gem we're trying to version all over.
13
14
  caller_file = caller.
14
15
  map { |l| l.split(':')[0] }.
15
16
  find { |l| l != __FILE__ }
@@ -29,7 +30,7 @@ module GitVersionBump
29
30
  nil
30
31
  end
31
32
 
32
- def self.version
33
+ def self.version(gem = nil)
33
34
  git_ver = `git describe --dirty --match='v[0-9]*.[0-9]*.*[0-9]' 2>/dev/null`.
34
35
  strip.
35
36
  gsub(/^v/, '').
@@ -47,6 +48,10 @@ module GitVersionBump
47
48
  system("git status >/dev/null 2>&1")
48
49
  return "0.0.0.1.ENOTAG" if $? == 0
49
50
 
51
+ if gem
52
+ return Gem.loaded_specs[gem].version.to_s
53
+ end
54
+
50
55
  # We're not in a git repo. This means that we need to get version
51
56
  # information out of rubygems, given only the filename of who called
52
57
  # us. This takes a little bit of effort.
@@ -58,14 +63,14 @@ module GitVersionBump
58
63
  # weren't called from within a loaded gem, and so we've got *no*
59
64
  # idea what's going on. Time to bail!
60
65
  raise RuntimeError,
61
- "GVB.version called from mysterious, non-gem location."
66
+ "GVB.version(#{gem.inspect}) called from mysterious, non-gem location."
62
67
  end
63
68
  end
64
69
 
65
- VERSION = version
70
+ VERSION = version('git-version-bump')
66
71
 
67
- def self.major_version
68
- ver = version
72
+ def self.major_version(gem = nil)
73
+ ver = version(gem)
69
74
  v = ver.split('.')[0]
70
75
 
71
76
  unless v =~ /^[0-9]+$/
@@ -76,10 +81,10 @@ module GitVersionBump
76
81
  return v.to_i
77
82
  end
78
83
 
79
- MAJOR_VERSION = major_version
84
+ MAJOR_VERSION = major_version('git-version-bump')
80
85
 
81
- def self.minor_version
82
- ver = version
86
+ def self.minor_version(gem = nil)
87
+ ver = version(gem)
83
88
  v = ver.split('.')[1]
84
89
 
85
90
  unless v =~ /^[0-9]+$/
@@ -90,10 +95,10 @@ module GitVersionBump
90
95
  return v.to_i
91
96
  end
92
97
 
93
- MINOR_VERSION = minor_version
98
+ MINOR_VERSION = minor_version('git-version-bump')
94
99
 
95
- def self.patch_version
96
- ver = version
100
+ def self.patch_version(gem = nil)
101
+ ver = version(gem)
97
102
  v = ver.split('.')[2]
98
103
 
99
104
  unless v =~ /^[0-9]+$/
@@ -104,20 +109,20 @@ module GitVersionBump
104
109
  return v.to_i
105
110
  end
106
111
 
107
- PATCH_VERSION = patch_version
112
+ PATCH_VERSION = patch_version('git-version-bump')
108
113
 
109
- def self.internal_revision
110
- version.split('.', 4)[3].to_s
114
+ def self.internal_revision(gem = nil)
115
+ version(gem).split('.', 4)[3].to_s
111
116
  end
112
117
 
113
- INTERNAL_REVISION = internal_revision
118
+ INTERNAL_REVISION = internal_revision('git-version-bump')
114
119
 
115
- def self.date
120
+ def self.date(gem = nil)
116
121
  # Are we in a git tree?
117
122
  system("git status >/dev/null 2>&1")
118
123
  if $? == 0
119
124
  # Yes, we're in git.
120
-
125
+
121
126
  if dirty_tree?
122
127
  return Time.now.strftime("%F")
123
128
  else
@@ -126,16 +131,20 @@ module GitVersionBump
126
131
  end
127
132
  else
128
133
  # Not in git; time to hit the gemspecs
134
+ if gem
135
+ return Gem.loaded_specs[gem].date.strftime("%F")
136
+ end
137
+
129
138
  if spec = caller_gemspec
130
- return spec.version.to_s
131
- else
132
- raise RuntimeError,
133
- "GVB.date called from mysterious, non-gem location."
139
+ return spec.date.strftime("%F")
134
140
  end
141
+
142
+ raise RuntimeError,
143
+ "GVB.date(#{gem.inspect}) called from mysterious, non-gem location."
135
144
  end
136
145
  end
137
146
 
138
- DATE = date
147
+ DATE = date('git-version-bump')
139
148
 
140
149
  def self.tag_version(v)
141
150
  if dirty_tree?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-version-bump
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -87,7 +87,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
87
87
  version: '0'
88
88
  segments:
89
89
  - 0
90
- hash: -4259481629869116982
90
+ hash: 1215033858800300071
91
91
  required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  none: false
93
93
  requirements:
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  version: '0'
97
97
  segments:
98
98
  - 0
99
- hash: -4259481629869116982
99
+ hash: 1215033858800300071
100
100
  requirements: []
101
101
  rubyforge_project:
102
102
  rubygems_version: 1.8.23