1
1
require 'pact_broker/api/pact_broker_urls'
2
2
require 'pact_broker/ui/helpers/url_helper'
3
3
require 'pact_broker/date_helper'
4
+ require 'pact_broker/ui/view_models/matrix_tag'
4
5
5
6
module PactBroker
6
7
module UI
@@ -70,6 +71,30 @@ def provider_version_order
70
71
end
71
72
end
72
73
74
+ def latest_consumer_version_tags
75
+ @line [ :consumer_version_tags ]
76
+ . select { | tag | tag [ :latest ] }
77
+ . collect { | tag | MatrixTag . new ( tag . merge ( pacticipant_name : consumer_name , version_number : consumer_version_number ) ) }
78
+ end
79
+
80
+ def other_consumer_version_tags
81
+ @line [ :consumer_version_tags ]
82
+ . select { | tag | !tag [ :latest ] }
83
+ . collect { | tag | MatrixTag . new ( tag . merge ( pacticipant_name : consumer_name , version_number : consumer_version_number ) ) }
84
+ end
85
+
86
+ def latest_provider_version_tags
87
+ @line [ :provider_version_tags ]
88
+ . select { | tag | tag [ :latest ] }
89
+ . collect { | tag | MatrixTag . new ( tag . merge ( pacticipant_name : provider_name , version_number : provider_version_number ) ) }
90
+ end
91
+
92
+ def other_provider_version_tags
93
+ @line [ :provider_version_tags ]
94
+ . select { | tag | !tag [ :latest ] }
95
+ . collect { | tag | MatrixTag . new ( tag . merge ( pacticipant_name : provider_name , version_number : provider_version_number ) ) }
96
+ end
97
+
73
98
def orderable_fields
74
99
[ consumer_name , consumer_version_order , @line [ :pact_revision_number ] , provider_name , @line [ :verification_id ] ]
75
100
end
@@ -92,7 +117,11 @@ def verification_status
92
117
end
93
118
94
119
def pact_publication_date
95
- DateHelper . distance_of_time_in_words ( @line [ :pact_created_at ] , DateTime . now ) + " ago"
120
+ relative_date ( @line [ :pact_created_at ] )
121
+ end
122
+
123
+ def relative_date date
124
+ DateHelper . distance_of_time_in_words ( date , DateTime . now ) + " ago"
96
125
end
97
126
98
127
def pact_published_order
0 commit comments