Class: PactBroker::UI::ViewDomain::Relationship
- Inherits:
-
Object
- Object
- PactBroker::UI::ViewDomain::Relationship
show all
- Includes:
- Api::PactBrokerUrls
- Defined in:
- lib/pact_broker/ui/view_models/relationship.rb
Instance Method Summary
collapse
#hal_browser_url, #latest_pacts_url, #latest_verifications_for_consumer_version_url, #latest_version_url, #new_verification_url, #pact_url, #pact_url_from_params, #pact_version_url, #pact_versions_url, #pacticipant_url, #pacticipants_url, #previous_distinct_diff_url, #previous_distinct_pact_version_url, #tag_url, #tags_url, #url_encode, #verification_publication_url, #verification_url, #version_url, #versions_url, #webhook_execution_url, #webhook_url, #webhooks_for_pact_url, #webhooks_url
Constructor Details
#initialize(relationship) ⇒ Relationship
Returns a new instance of Relationship.
12
13
14
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 12
def initialize relationship
@relationship = relationship
end
|
Instance Method Details
#<=>(other) ⇒ Object
78
79
80
81
82
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 78
def <=> other
comp = consumer_name.downcase <=> other.consumer_name.downcase
return comp unless comp == 0
provider_name.downcase <=> other.provider_name.downcase
end
|
#consumer_group_url ⇒ Object
24
25
26
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 24
def consumer_group_url
Helpers::URLHelper.group_url consumer_name
end
|
#consumer_name ⇒ Object
16
17
18
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 16
def consumer_name
@relationship.consumer_name
end
|
#last_verified_date ⇒ Object
36
37
38
39
40
41
42
43
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 36
def last_verified_date
if @relationship.ever_verified?
date = @relationship.latest_verification.execution_date
PactBroker::DateHelper.distance_of_time_in_words(date, DateTime.now) + " ago"
else
""
end
end
|
#latest_pact_url ⇒ Object
32
33
34
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 32
def latest_pact_url
"#{pactigration_base_url('', @relationship)}/latest"
end
|
#provider_group_url ⇒ Object
28
29
30
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 28
def provider_group_url
Helpers::URLHelper.group_url provider_name
end
|
#provider_name ⇒ Object
20
21
22
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 20
def provider_name
@relationship.provider_name
end
|
#publication_date_of_latest_pact ⇒ Object
45
46
47
48
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 45
def publication_date_of_latest_pact
date = @relationship.latest_pact.created_at
PactBroker::DateHelper.distance_of_time_in_words(date, DateTime.now) + " ago"
end
|
#verification_status ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 50
def verification_status
return "" unless @relationship.ever_verified?
if @relationship.latest_verification_successful?
if @relationship.pact_changed_since_last_verification?
"warning"
else
"success"
end
else
"danger"
end
end
|
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 67
def verification_tooltip
return nil unless @relationship.ever_verified?
if warning?
"Pact has changed since last successful verification by #{provider_name} (v#{@relationship.latest_verification_provider_version})"
elsif @relationship.latest_verification_successful?
"Successfully verified by #{provider_name} (v#{@relationship.latest_verification_provider_version})"
elsif !@relationship.latest_verification_successful?
"Verification by #{provider_name} (v#{@relationship.latest_verification_provider_version}) failed"
end
end
|
#warning? ⇒ Boolean
63
64
65
|
# File 'lib/pact_broker/ui/view_models/relationship.rb', line 63
def warning?
verification_status == 'warning'
end
|