File tree 4 files changed +104
-0
lines changed
4 files changed +104
-0
lines changed Original file line number Diff line number Diff line change 1
1
require 'pact_broker/ui/controllers/relationships'
2
2
require 'pact_broker/ui/controllers/groups'
3
+ require 'pact_broker/ui/controllers/matrix'
3
4
require 'pact_broker/doc/controllers/app'
4
5
5
6
module PactBroker
@@ -21,6 +22,10 @@ def initialize
21
22
run PactBroker ::Doc ::Controllers ::App
22
23
end
23
24
25
+ map "/the-matrix" do
26
+ run PactBroker ::UI ::Controllers ::Matrix
27
+ end
28
+
24
29
map "/" do
25
30
run PactBroker ::UI ::Controllers ::Relationships
26
31
end
Original file line number Diff line number Diff line change
1
+ require 'pact_broker/ui/controllers/base_controller'
2
+ require 'pact_broker/ui/view_models/matrix_line'
3
+ require 'haml'
4
+
5
+ module PactBroker
6
+ module UI
7
+ module Controllers
8
+ class Matrix < Base
9
+
10
+ include PactBroker ::Services
11
+
12
+ get "/provider/:provider_name/consumer/:consumer_name" do
13
+ lines = matrix_service . find consumer_name : params [ :consumer_name ] , provider_name : params [ :provider_name ]
14
+ lines = lines . collect { |line | PactBroker ::UI ::ViewDomain ::MatrixLine . new ( line ) }
15
+ locals = {
16
+ lines : lines ,
17
+ title : "The Matrix" ,
18
+ consumer_name : params [ :consumer_name ] ,
19
+ provider_name : params [ :provider_name ]
20
+ }
21
+ haml :'matrix/show' , { locals : locals , layout : :'layouts/main' }
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
Original file line number Diff line number Diff line change
1
+ require 'pact_broker/api/pact_broker_urls'
2
+ require 'pact_broker/ui/helpers/url_helper'
3
+ require 'pact_broker/date_helper'
4
+
5
+ module PactBroker
6
+ module UI
7
+ module ViewDomain
8
+ class MatrixLine
9
+
10
+ include PactBroker ::Api ::PactBrokerUrls
11
+
12
+ def initialize line
13
+ @line = line
14
+ end
15
+
16
+ def consumer_version_number
17
+ @line [ :consumer_version_number ]
18
+ end
19
+
20
+ def provider_version_number
21
+ @line [ :provider_version ]
22
+ end
23
+
24
+ def verification_status
25
+ case @line [ :success ]
26
+ when true then "Verified"
27
+ when false then "Failed"
28
+ else ''
29
+ end
30
+ end
31
+
32
+ def verification_status_class
33
+ case @line [ :success ]
34
+ when true then 'success'
35
+ when false then 'danger'
36
+ else ''
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
Original file line number Diff line number Diff line change
1
+ %body
2
+ %link {rel: 'stylesheet', href: '/css/bootstrap.min.css'}
3
+ %link {rel: 'stylesheet', href: '/stylesheets/relationships.css'}
4
+ %script {type: 'text/javascript', src:'/javascripts/jquery-2.1.1.min.js'}
5
+ %script{type: 'text/javascript', src:'/javascripts/jquery.tablesorter.min.js'}
6
+ %script {type: 'text/javascript', src:'/js/bootstrap.min.js'}
7
+
8
+ .container
9
+ %h1 .page-header
10
+ = title
11
+ %table .table.table-bordered.table-striped {id: 'relationships'}
12
+ %thead
13
+ %th .consumer
14
+ = " #{ consumer_name } version"
15
+ %span .glyphicon.glyphicon-sort.sort
16
+ %th .provider
17
+ = " #{ provider_name } version"
18
+ %span .glyphicon.glyphicon-sort.sort
19
+ %th .verification-result
20
+ Verification
21
+ %tbody
22
+ - lines.each do | line |
23
+ %tr
24
+ %td .consumer-version
25
+ = line.consumer_version_number
26
+ %td .provider
27
+ = line.provider_version_number
28
+ %td .verification-result {class: line.verification_status_class}
29
+ = line.verification_status
30
+
You can’t perform that action at this time.
0 commit comments