Class: PactBroker::UI::ViewDomain::MatrixLine
- Inherits:
-
Object
- Object
- PactBroker::UI::ViewDomain::MatrixLine
show all
- Includes:
- Api::PactBrokerUrls
- Defined in:
- lib/pact_broker/ui/view_models/matrix_line.rb
Instance Method Summary
collapse
#badge_url_for_latest_pact, #consumer_webhooks_url, #hal_browser_url, #label_url, #labels_url, #latest_pact_url, #latest_pacts_url, #latest_untagged_pact_url, #latest_verifications_for_consumer_version_url, #latest_version_url, #matrix_url_from_params, #new_verification_url, #pact_triggered_webhooks_url, #pact_url, #pact_url_from_params, #pact_version_url, #pact_versions_url, #pacticipant_url, #pacticipant_url_from_params, #pacticipants_url, #previous_distinct_diff_url, #previous_distinct_pact_version_url, #provider_webhooks_url, #tag_url, #tags_url, #templated_diff_url, #templated_label_url_for_pacticipant, #templated_tag_url_for_pacticipant, #triggered_webhook_logs_url, #url_encode, #verification_publication_url, #verification_triggered_webhooks_url, #verification_url, #verification_url_from_params, #version_url, #version_url_from_params, #versions_url, #webhook_execution_url, #webhook_url, #webhooks_for_consumer_and_provider_url, #webhooks_for_pact_url, #webhooks_status_url, #webhooks_url
Constructor Details
Returns a new instance of MatrixLine.
14
15
16
17
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 14
def initialize line
@line = line
@overwritten = false end
|
Instance Method Details
#<=>(other) ⇒ Object
126
127
128
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 126
def <=> other
(self.orderable_fields <=> other.orderable_fields) * -1
end
|
#consumer_name ⇒ Object
27
28
29
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 27
def consumer_name
@line[:consumer_name]
end
|
#consumer_name_url ⇒ Object
31
32
33
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 31
def consumer_name_url
hal_browser_url(pacticipant_url_from_params(pacticipant_name: consumer_name))
end
|
#consumer_version_number ⇒ Object
52
53
54
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 52
def consumer_version_number
@line[:consumer_version_number]
end
|
#consumer_version_number_url ⇒ Object
60
61
62
63
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 60
def consumer_version_number_url
params = { pacticipant_name: consumer_name, version_number: consumer_version_number }
hal_browser_url(version_url_from_params(params))
end
|
#consumer_version_order ⇒ Object
65
66
67
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 65
def consumer_version_order
@line[:consumer_version_order]
end
|
#display_consumer_version_number ⇒ Object
#display_provider_version_number ⇒ Object
#inherited_verification_message ⇒ Object
179
180
181
182
183
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 179
def inherited_verification_message
if @line[:verification_executed_at] && @line[:pact_created_at] > @line[:verification_executed_at]
"The verification date is before the pact publication date because this verification has been inherited from a previously verified pact with identical content."
end
end
|
98
99
100
101
102
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 98
def latest_consumer_version_tags
@line[:consumer_version_tags]
.select{ | tag | tag[:latest] }
.collect{ | tag | MatrixTag.new(tag.to_hash.merge(pacticipant_name: consumer_name, version_number: consumer_version_number)) }
end
|
110
111
112
113
114
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 110
def latest_provider_version_tags
@line[:provider_version_tags]
.select{ | tag | tag[:latest] }
.collect{ | tag | MatrixTag.new(tag.to_hash.merge(pacticipant_name: provider_name, version_number: provider_version_number)) }
end
|
#number ⇒ Object
verification number, used in verification_url method
40
41
42
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 40
def number
@line[:verification_number]
end
|
#orderable_fields ⇒ Object
122
123
124
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 122
def orderable_fields
[consumer_name, consumer_version_order, pact_revision_number, provider_name, @line[:verification_id]]
end
|
104
105
106
107
108
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 104
def other_consumer_version_tags
@line[:consumer_version_tags]
.select{ | tag | !tag[:latest] }
.collect{ | tag | MatrixTag.new(tag.to_hash.merge(pacticipant_name: consumer_name, version_number: consumer_version_number)) }
end
|
116
117
118
119
120
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 116
def other_provider_version_tags
@line[:provider_version_tags]
.select{ | tag | !tag[:latest] }
.collect{ | tag | MatrixTag.new(tag.to_hash.merge(pacticipant_name: provider_name, version_number: provider_version_number)) }
end
|
#overwritten=(overwritten) ⇒ Object
175
176
177
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 175
def overwritten= overwritten
@overwritten = overwritten
end
|
#overwritten? ⇒ Boolean
171
172
173
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 171
def overwritten?
@overwritten
end
|
#pact_publication_date ⇒ Object
147
148
149
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 147
def pact_publication_date
relative_date(@line[:pact_created_at])
end
|
#pact_publication_date_url ⇒ Object
151
152
153
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 151
def pact_publication_date_url
pact_url_from_params('', @line)
end
|
#pact_published_order ⇒ Object
159
160
161
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 159
def pact_published_order
@line[:pact_created_at].to_time.to_i
end
|
#pact_revision_number ⇒ Object
44
45
46
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 44
def pact_revision_number
@line[:pact_revision_number]
end
|
#pact_version_sha ⇒ Object
35
36
37
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 35
def pact_version_sha
@line[:pact_version_sha]
end
|
#provider_name ⇒ Object
19
20
21
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 19
def provider_name
@line[:provider_name]
end
|
#provider_name_url ⇒ Object
23
24
25
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 23
def provider_name_url
hal_browser_url(pacticipant_url_from_params(pacticipant_name: provider_name))
end
|
#provider_version_number ⇒ Object
73
74
75
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 73
def provider_version_number
@line[:provider_version_number]
end
|
#provider_version_number_url ⇒ Object
85
86
87
88
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 85
def provider_version_number_url
params = { pacticipant_name: provider_name, version_number: provider_version_number }
hal_browser_url(version_url_from_params(params))
end
|
#provider_version_order ⇒ Object
81
82
83
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 81
def provider_version_order
@line[:provider_version_order]
end
|
#relative_date(date) ⇒ Object
#verification_status ⇒ Object
130
131
132
133
134
135
136
137
138
139
140
141
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 130
def verification_status
if @line[:verification_executed_at]
DateHelper.distance_of_time_in_words(@line[:verification_executed_at], DateTime.now) + " ago"
else
''
end
end
|
#verification_status_class ⇒ Object
163
164
165
166
167
168
169
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 163
def verification_status_class
case @line[:success]
when true then 'success'
when false then 'danger'
else ''
end
end
|
#verification_status_url ⇒ Object
143
144
145
|
# File 'lib/pact_broker/ui/view_models/matrix_line.rb', line 143
def verification_status_url
hal_browser_url(verification_url(self))
end
|