bosh-workspace 0.9.4 → 0.9.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f29b754b572e4d5ed8dec967631ad55ad4c1aaf
4
- data.tar.gz: ef6635245f5b889dce32d237cbc729d757b0e488
3
+ metadata.gz: ddb023e47693f436c7daee1d66f7748200efd6e1
4
+ data.tar.gz: ab7a404ecb45a646ce8a35effb7b40efffdeea3a
5
5
  SHA512:
6
- metadata.gz: f6d369889fcadf43fd158cdbeef13bceca9352acd375b6f7471f7530e9febaab0368a1689a6866ec2db504bfde8c922fe7e091503ad473c2c79a9e34293727ae
7
- data.tar.gz: d76958a05172e80c8ee96ee84010827cfaab34d94f0b8fe36cfb6917f36f98c9cd959a9af21a0508b4a7552b8993d49948534182392bc82bc4b0c8bfc91ffcd2
6
+ metadata.gz: 80a13e5532ca630551be4289cfa37ca51b13fcfa51bd1b151b56c6e1f517c3dc5369399c82e0cb4e003562c34b0005387a9b8194c10d63f16e02ac676608fdd2
7
+ data.tar.gz: b26a3a7727d476bca4b7956d3ed4637da3243c40f97c465de9a4fd3451380370131b93d136e623e455bc9c77ab87bc75818069f0818977cd608b718aa02422d2
@@ -124,19 +124,14 @@ module Bosh::Workspace
124
124
  end
125
125
 
126
126
  # transforms releases/foo-1.yml, releases/bar-2.yml to:
127
- # [ { version: "1", commit: ee8d52f5d, manifest: releases/foo-1.yml } ]
127
+ # [ { version: "1", manifest: releases/foo-1.yml } ]
128
128
  def final_releases
129
129
  @final_releases ||= begin
130
130
  final_releases = []
131
131
  releases_tree.walk_blobs(:preorder) do |_, entry|
132
132
  next if entry[:filemode] == 40960 # Skip symlinks
133
133
  next unless version = entry[:name][/#{@name}-(.+)\.yml/, 1]
134
- blame = repo_blame(File.join(releases_dir, entry[:name]))
135
- final_releases << {
136
- version: version,
137
- manifest: blame[:orig_path],
138
- commit: blame[:final_commit_id]
139
- }
134
+ final_releases << { version: version, manifest: entry[:name] }
140
135
  end
141
136
  final_releases.sort! { |a, b| a[:version].to_i <=> b[:version].to_i }
142
137
  end
@@ -151,11 +146,17 @@ module Bosh::Workspace
151
146
  end
152
147
 
153
148
  def release
149
+ return @release if @release
154
150
  latest_offline_warning if latest? && offline?
155
- return final_releases.last if latest?
156
- final_releases.find { |v| v[:version] == @spec_version }.tap do |release|
157
- missing_release_err(@spec_version, @name) unless release
158
- end
151
+ release = final_releases.last if latest?
152
+ release ||= final_releases.find { |v| v[:version] == @spec_version }
153
+ missing_release_err(@spec_version, @name) unless release
154
+ @release = lookup_release_ref(release)
155
+ end
156
+
157
+ def lookup_release_ref(release)
158
+ b = repo_blame(File.join(releases_dir, release[:manifest]))
159
+ release.merge(manifest: b[:orig_path], commit: b[:final_commit_id])
159
160
  end
160
161
 
161
162
  def missing_release_err(version, name)
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module Manifests
3
- VERSION = "0.9.4"
3
+ VERSION = "0.9.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh-workspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruben Koster
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-11 00:00:00.000000000 Z
11
+ date: 2015-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bosh_cli