Skip to content

Commit 9a21e10

Browse files
committed
feat: abbreviate git shas in index and matrix UIs
1 parent 2023265 commit 9a21e10

File tree

5 files changed

+50
-4
lines changed

5 files changed

+50
-4
lines changed

lib/pact_broker/ui/view_models/index_item.rb

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require 'pact_broker/api/pact_broker_urls'
22
require 'pact_broker/ui/helpers/url_helper'
33
require 'pact_broker/date_helper'
4+
require 'pact_broker/versions/abbreviate_number'
45

56
module PactBroker
67
module UI
@@ -22,11 +23,11 @@ def provider_name
2223
end
2324

2425
def consumer_version_number
25-
@relationship.consumer_version_number
26+
PactBroker::Versions::AbbreviateNumber.call(@relationship.consumer_version_number)
2627
end
2728

2829
def provider_version_number
29-
@relationship.provider_version_number
30+
PactBroker::Versions::AbbreviateNumber.call(@relationship.provider_version_number)
3031
end
3132

3233
def tag_names

lib/pact_broker/ui/view_models/matrix_line.rb

+9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
require 'pact_broker/ui/helpers/url_helper'
33
require 'pact_broker/date_helper'
44
require 'pact_broker/ui/view_models/matrix_tag'
5+
require 'pact_broker/versions/abbreviate_number'
56

67
module PactBroker
78
module UI
@@ -52,6 +53,10 @@ def consumer_version_number
5253
@line[:consumer_version_number]
5354
end
5455

56+
def display_consumer_version_number
57+
PactBroker::Versions::AbbreviateNumber.call(consumer_version_number)
58+
end
59+
5560
def consumer_version_number_url
5661
params = { pacticipant_name: consumer_name, version_number: consumer_version_number }
5762
hal_browser_url(version_url_from_params(params))
@@ -69,6 +74,10 @@ def provider_version_number
6974
@line[:provider_version_number]
7075
end
7176

77+
def display_provider_version_number
78+
PactBroker::Versions::AbbreviateNumber.call(provider_version_number)
79+
end
80+
7281
def provider_version_order
7382
@line[:provider_version_order]
7483
end

lib/pact_broker/ui/views/matrix/show.haml

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
%td.consumer-version{'data-sort-value' => line.consumer_version_order}
104104
%div
105105
%a{href: line.consumer_version_number_url}
106-
= line.consumer_version_number
106+
= line.display_consumer_version_number
107107
- line.latest_consumer_version_tags.each do | tag |
108108
.tag-parent{"title": tag.tooltip, "data-toggle": "tooltip", "data-placement": "right"}
109109
%a{href: tag.url}
@@ -127,7 +127,7 @@
127127
%td.provider-version{'data-sort-value' => line.provider_version_order}
128128
%div
129129
%a{href: line.provider_version_number_url}
130-
= line.provider_version_number
130+
= line.display_provider_version_number
131131
- line.latest_provider_version_tags.each do | tag |
132132
.tag-parent{"title": tag.tooltip, "data-toggle": "tooltip", "data-placement": "right"}
133133
%a{href: tag.url}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module PactBroker
2+
module Versions
3+
class AbbreviateNumber
4+
5+
def self.call version_number
6+
if version_number
7+
version_number.gsub(/[A-Za-z0-9]{40}/) do | val |
8+
val[0..6]
9+
end
10+
end
11+
end
12+
end
13+
end
14+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require 'pact_broker/versions/abbreviate_number'
2+
3+
module PactBroker
4+
module Versions
5+
describe AbbreviateNumber do
6+
describe "#call" do
7+
TEST_CASES = [
8+
['202326572516dea6998a7f311fcaa161c0768fc2', '2023265'],
9+
['1.2.3+areallyreallyreallylongexplanation', '1.2.3+areallyreallyreallylongexplanation'],
10+
['2516dea6998a7f', '2516dea6998a7f'],
11+
['1.2.3+202326572516dea6998a7f311fcaa161c0768fc2', '1.2.3+2023265']
12+
]
13+
14+
TEST_CASES.each do |(input, output)|
15+
it "shortens #{input} to #{output}" do
16+
expect(AbbreviateNumber.call(input)).to eq output
17+
end
18+
end
19+
end
20+
end
21+
end
22+
end

0 commit comments

Comments
 (0)