machinery-tool 1.14.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.git_revision +1 -1
- data/NEWS +10 -0
- data/html/assets/compare/machinery.js +1 -0
- data/html/assets/jquery.searcher.min.js +5 -0
- data/html/assets/machinery.css +3 -0
- data/html/assets/show/machinery.js +10 -4
- data/html/comparison.html.haml +18 -652
- data/html/index.html.haml +93 -431
- data/html/partials/changed_managed_files.html.haml +41 -0
- data/html/partials/compare/alert.html.haml +22 -0
- data/html/partials/compare/changed_managed_file_list.html.haml +26 -0
- data/html/partials/compare/changed_managed_files.html.haml +57 -0
- data/html/partials/compare/config_file_list.html.haml +26 -0
- data/html/partials/compare/config_files.html.haml +54 -0
- data/html/partials/compare/group_list.html.haml +14 -0
- data/html/partials/compare/groups.html.haml +52 -0
- data/html/partials/compare/os.html.haml +32 -0
- data/html/partials/compare/os_table.html.haml +10 -0
- data/html/partials/compare/package_list.html.haml +23 -0
- data/html/partials/compare/packages.html.haml +66 -0
- data/html/partials/compare/pattern_list.html.haml +12 -0
- data/html/partials/compare/patterns.html.haml +53 -0
- data/html/partials/compare/repositories.html.haml +51 -0
- data/html/partials/compare/repository_list.html.haml +28 -0
- data/html/partials/compare/service_list.html.haml +11 -0
- data/html/partials/compare/services.html.haml +56 -0
- data/html/partials/compare/unmanaged_file_list.html.haml +13 -0
- data/html/partials/compare/unmanaged_files.html.haml +59 -0
- data/html/partials/compare/user_list.html.haml +18 -0
- data/html/partials/compare/users.html.haml +52 -0
- data/html/partials/config_files.html.haml +57 -0
- data/html/partials/groups.html.haml +25 -0
- data/html/partials/os.html.haml +26 -0
- data/html/partials/packages.html.haml +30 -0
- data/html/partials/patterns.html.haml +23 -0
- data/html/partials/repositories.html.haml +35 -0
- data/html/partials/scope_header.html.haml +17 -0
- data/html/partials/services.html.haml +23 -0
- data/html/partials/unmanaged_files.html.haml +28 -0
- data/html/partials/users.html.haml +29 -0
- data/lib/cli.rb +48 -40
- data/lib/exceptions.rb +7 -0
- data/lib/helper.rb +21 -0
- data/lib/hint.rb +1 -1
- data/lib/html.rb +9 -1
- data/lib/scope_file_access_archive.rb +1 -2
- data/lib/scope_file_access_flat.rb +1 -2
- data/lib/server.rb +104 -50
- data/lib/version.rb +1 -1
- data/machinery-helper/version.go +1 -1
- data/man/generated/machinery.1.gz +0 -0
- data/man/generated/machinery.1.html +106 -16
- metadata +47 -18
- data/html/assets/angular-sanitize.min.js +0 -16
- data/html/assets/angular.min.js +0 -251
- data/html/assets/compare/machinery-compare.js +0 -100
- data/html/assets/show/machinery-show.js +0 -72
| @@ -0,0 +1,41 @@ | |
| 1 | 
            +
            - if changed_managed_files && changed_managed_files.files.length > 0
         | 
| 2 | 
            +
              %div
         | 
| 3 | 
            +
                %a.scope_anchor{ id: "changed_managed_files" }
         | 
| 4 | 
            +
                .scope#changed_managed_files_container{ "data-scope" => "changed_managed_files" }
         | 
| 5 | 
            +
                  - count = changed_managed_files.files.length
         | 
| 6 | 
            +
                  = render_partial "scope_header",
         | 
| 7 | 
            +
                    :scope => "changed_managed_files",
         | 
| 8 | 
            +
                    :title => "Changed Managed Files",
         | 
| 9 | 
            +
                    :count => "#{count} #{Machinery.pluralize(count, "file")}"
         | 
| 10 | 
            +
                  .row.scope_content.collapse.in
         | 
| 11 | 
            +
                    .col-xs-1
         | 
| 12 | 
            +
                    .col-xs-11
         | 
| 13 | 
            +
                      %table.table.table-striped.table-hover.table-condensed.files-table.filterable
         | 
| 14 | 
            +
                        %thead
         | 
| 15 | 
            +
                          %tr
         | 
| 16 | 
            +
                            %th Name
         | 
| 17 | 
            +
                            %th Package Name
         | 
| 18 | 
            +
                            %th Package Version
         | 
| 19 | 
            +
                            %th Changes
         | 
| 20 | 
            +
                            %th Mode
         | 
| 21 | 
            +
                            %th User
         | 
| 22 | 
            +
                            %th Group
         | 
| 23 | 
            +
                        %tbody
         | 
| 24 | 
            +
                          - changed_managed_files.files.each do |file|
         | 
| 25 | 
            +
                            %tr
         | 
| 26 | 
            +
                              %td
         | 
| 27 | 
            +
                                - if file.on_disk?
         | 
| 28 | 
            +
                                  %a.file-download{ href: "#" }
         | 
| 29 | 
            +
                                    = file.name
         | 
| 30 | 
            +
                                - else
         | 
| 31 | 
            +
                                  %span
         | 
| 32 | 
            +
                                    = file.name
         | 
| 33 | 
            +
                              %td= file.package_name
         | 
| 34 | 
            +
                              %td= file.package_version
         | 
| 35 | 
            +
                              %td
         | 
| 36 | 
            +
                                = file.changes.join(",")
         | 
| 37 | 
            +
                                - if file.error_message
         | 
| 38 | 
            +
                                  %span{ title: file.error_message } (details)
         | 
| 39 | 
            +
                              %td= file.mode
         | 
| 40 | 
            +
                              %td= file.user
         | 
| 41 | 
            +
                              %td= file.group
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            - if @meta[:uninspected]
         | 
| 2 | 
            +
              .scope#alert_container
         | 
| 3 | 
            +
                .row
         | 
| 4 | 
            +
                  .col-xs-10.col-xs-offset-1
         | 
| 5 | 
            +
                    .well
         | 
| 6 | 
            +
                      %span.text-right.dismiss{ title: "Collapse/Expand" }
         | 
| 7 | 
            +
                      - if @meta[:uninspected][@description_a.name]
         | 
| 8 | 
            +
                        %p
         | 
| 9 | 
            +
                          Couldn't compare
         | 
| 10 | 
            +
                          %strong
         | 
| 11 | 
            +
                            '#{@meta[:uninspected][@description_a.name].join(", ")}'
         | 
| 12 | 
            +
                          because they are not present in description
         | 
| 13 | 
            +
                          %strong
         | 
| 14 | 
            +
                            '#{@description_a.name}'
         | 
| 15 | 
            +
                      - if @meta[:uninspected][@description_b.name]
         | 
| 16 | 
            +
                        %p
         | 
| 17 | 
            +
                          Couldn't compare
         | 
| 18 | 
            +
                          %strong
         | 
| 19 | 
            +
                            '#{@meta[:uninspected][@description_b.name].join(", ")}'
         | 
| 20 | 
            +
                          because they are not present in description
         | 
| 21 | 
            +
                          %strong
         | 
| 22 | 
            +
                            '#{@description_b.name}'
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            %p
         | 
| 2 | 
            +
              <strong>Files extracted:</strong> #{list.extracted ? "yes" : "no"}
         | 
| 3 | 
            +
            - if list.files
         | 
| 4 | 
            +
              %table.table.table-striped.table-hover.table-condensed.files-table
         | 
| 5 | 
            +
                %thead
         | 
| 6 | 
            +
                  %tr
         | 
| 7 | 
            +
                    %th Name
         | 
| 8 | 
            +
                    %th Package Name
         | 
| 9 | 
            +
                    %th Package Version
         | 
| 10 | 
            +
                    %th.small Changes
         | 
| 11 | 
            +
                    %th.small Mode
         | 
| 12 | 
            +
                    %th.small User
         | 
| 13 | 
            +
                    %th.small Group
         | 
| 14 | 
            +
                %tbody
         | 
| 15 | 
            +
                  - list.files.each do |file|
         | 
| 16 | 
            +
                    %tr
         | 
| 17 | 
            +
                      %td= file.name
         | 
| 18 | 
            +
                      %td= file.package_name
         | 
| 19 | 
            +
                      %td= file.package_version
         | 
| 20 | 
            +
                      %td
         | 
| 21 | 
            +
                        = file.changes.join(",")
         | 
| 22 | 
            +
                        - if file.error_message
         | 
| 23 | 
            +
                          %span{ title: file.error_message } (details)
         | 
| 24 | 
            +
                      %td= file.mode
         | 
| 25 | 
            +
                      %td= file.user
         | 
| 26 | 
            +
                      %td= file.group
         | 
| @@ -0,0 +1,57 @@ | |
| 1 | 
            +
            - if @diff["changed_managed_files"]
         | 
| 2 | 
            +
              %a.scope_anchor{ id: "changed_managed_files" }
         | 
| 3 | 
            +
              .scope#changed_managed_files_container
         | 
| 4 | 
            +
                .row
         | 
| 5 | 
            +
                  .col-xs-1
         | 
| 6 | 
            +
                    %a{ href: "#changed_managed_files" }
         | 
| 7 | 
            +
                      %img.over.scope_logo_big{ :src => "/assets/logo-changed-managed-files.png",
         | 
| 8 | 
            +
                        "data-toggle" => "popover",
         | 
| 9 | 
            +
                        :title => "Changed Managed Files",
         | 
| 10 | 
            +
                        "data-content" => "#{scope_help("changed_managed_files")}" }
         | 
| 11 | 
            +
                    %span.toggle{ title: "Collapse/Expand" }
         | 
| 12 | 
            +
                  .col-xs-11
         | 
| 13 | 
            +
                    %h2
         | 
| 14 | 
            +
                      Changed Managed Files
         | 
| 15 | 
            +
                      .scope-summary
         | 
| 16 | 
            +
                        - if @diff["changed_managed_files"].only_in1
         | 
| 17 | 
            +
                          %span.summary-part
         | 
| 18 | 
            +
                            #{@description_a.name}:
         | 
| 19 | 
            +
                            #{safe_length(@diff["changed_managed_files"].only_in1, :files)} files
         | 
| 20 | 
            +
                        - if @diff["changed_managed_files"].only_in2
         | 
| 21 | 
            +
                          %span.summary-part
         | 
| 22 | 
            +
                            #{@description_b.name}:
         | 
| 23 | 
            +
                            #{safe_length(@diff["changed_managed_files"].only_in2, :files)} files
         | 
| 24 | 
            +
                        - if @diff["changed_managed_files"].common
         | 
| 25 | 
            +
                          %span.summary-part
         | 
| 26 | 
            +
                            %a.show-common-elements{ href: "#changed_managed_files_both" }<
         | 
| 27 | 
            +
                              both
         | 
| 28 | 
            +
                            = ": #{safe_length(@diff["changed_managed_files"].common, :files)} files"
         | 
| 29 | 
            +
                .row.scope_content.collapse.in
         | 
| 30 | 
            +
                  .row
         | 
| 31 | 
            +
                    .col-xs-1
         | 
| 32 | 
            +
                    .col-xs-5.table_container
         | 
| 33 | 
            +
                      - if safe_length(@diff["changed_managed_files"].only_in1, :files) > 0
         | 
| 34 | 
            +
                        = only_in_a
         | 
| 35 | 
            +
                        = render_partial "compare/changed_managed_file_list",
         | 
| 36 | 
            +
                          list: @diff["changed_managed_files"].only_in1
         | 
| 37 | 
            +
                    .col-xs-1
         | 
| 38 | 
            +
                    .col-xs-5.table_container
         | 
| 39 | 
            +
                      - if safe_length(@diff["changed_managed_files"].only_in2, :files) > 0
         | 
| 40 | 
            +
                        = only_in_b
         | 
| 41 | 
            +
                        = render_partial "compare/changed_managed_file_list",
         | 
| 42 | 
            +
                          list: @diff["changed_managed_files"].only_in2
         | 
| 43 | 
            +
                  - if safe_length(@diff["changed_managed_files"].common, :files) > 0
         | 
| 44 | 
            +
                    %a.both_anchor{ id: "changed_managed_files_both" }
         | 
| 45 | 
            +
                    .row
         | 
| 46 | 
            +
                      .col-xs-1
         | 
| 47 | 
            +
                      .col-xs-11
         | 
| 48 | 
            +
                        %a.show-common-elements{ href: "#changed_managed_files_both" }
         | 
| 49 | 
            +
                          Show common elements in changed-managed-files
         | 
| 50 | 
            +
                        %a.hide-common-elements{ href: "#", style: "display: none" }
         | 
| 51 | 
            +
                          Hide common elements in changed-managed-files
         | 
| 52 | 
            +
                    .row.scope_common_content.collapse
         | 
| 53 | 
            +
                      .col-xs-1
         | 
| 54 | 
            +
                      .col-xs-10.table_container
         | 
| 55 | 
            +
                        = in_both
         | 
| 56 | 
            +
                        = render_partial "compare/changed_managed_file_list",
         | 
| 57 | 
            +
                          list: @diff["changed_managed_files"].common
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            %p
         | 
| 2 | 
            +
              <strong>Files extracted:</strong> #{list.extracted ? "yes" : "no"}
         | 
| 3 | 
            +
            - if list.files
         | 
| 4 | 
            +
              %table.table.table-striped.table-hover.table-condensed.files-table
         | 
| 5 | 
            +
                %thead
         | 
| 6 | 
            +
                  %tr
         | 
| 7 | 
            +
                    %th Name
         | 
| 8 | 
            +
                    %th Package Name
         | 
| 9 | 
            +
                    %th Package Version
         | 
| 10 | 
            +
                    %th Changes
         | 
| 11 | 
            +
                    %th Mode
         | 
| 12 | 
            +
                    %th User
         | 
| 13 | 
            +
                    %th Group
         | 
| 14 | 
            +
                %tbody
         | 
| 15 | 
            +
                  - list.files.each do |file|
         | 
| 16 | 
            +
                    %tr
         | 
| 17 | 
            +
                      %td= file.name
         | 
| 18 | 
            +
                      %td= file.package_name
         | 
| 19 | 
            +
                      %td= file.package_version
         | 
| 20 | 
            +
                      %td
         | 
| 21 | 
            +
                        = file.changes.join(",")
         | 
| 22 | 
            +
                        - if file.error_message
         | 
| 23 | 
            +
                          %span{ title: file.error_message } (details)
         | 
| 24 | 
            +
                      %td= file.mode
         | 
| 25 | 
            +
                      %td= file.user
         | 
| 26 | 
            +
                      %td= file.group
         | 
| @@ -0,0 +1,54 @@ | |
| 1 | 
            +
            - if @diff["config_files"]
         | 
| 2 | 
            +
              %a.scope_anchor{ id: "config_files" }
         | 
| 3 | 
            +
              .scope#config_files_container
         | 
| 4 | 
            +
                .row
         | 
| 5 | 
            +
                  .col-xs-1
         | 
| 6 | 
            +
                    %a{ href: "#groups" }
         | 
| 7 | 
            +
                      %img.over.scope_logo_big{ src: "/assets/logo-config-files.png",
         | 
| 8 | 
            +
                        "data-toggle" => "popover",
         | 
| 9 | 
            +
                        :title => "Config Files",
         | 
| 10 | 
            +
                        "data-content" => "#{scope_help("config_files")}" }
         | 
| 11 | 
            +
                    %span.toggle{ title: "Collapse/Expand" }
         | 
| 12 | 
            +
                  .col-xs-11
         | 
| 13 | 
            +
                    %h2
         | 
| 14 | 
            +
                      Config Files
         | 
| 15 | 
            +
                      .scope-summary
         | 
| 16 | 
            +
                        - if @diff["config_files"].only_in1
         | 
| 17 | 
            +
                          %span.summary-part
         | 
| 18 | 
            +
                            #{@description_a.name}:
         | 
| 19 | 
            +
                            #{safe_length(@diff["config_files"].only_in1, :files)} files
         | 
| 20 | 
            +
                        - if @diff["config_files"].only_in2
         | 
| 21 | 
            +
                          %span.summary-part
         | 
| 22 | 
            +
                            #{@description_b.name}:
         | 
| 23 | 
            +
                            #{safe_length(@diff["config_files"].only_in2, :files)} files
         | 
| 24 | 
            +
                        - if @diff["config_files"].common
         | 
| 25 | 
            +
                          %span.summary-part
         | 
| 26 | 
            +
                            %a.show-common-elements{ href: "#config_files_both" }<
         | 
| 27 | 
            +
                              both
         | 
| 28 | 
            +
                            = ": #{safe_length(@diff["config_files"].common, :files)} files"
         | 
| 29 | 
            +
                .row.scope_content.collapse.in
         | 
| 30 | 
            +
                  .row
         | 
| 31 | 
            +
                    .col-xs-1
         | 
| 32 | 
            +
                    .col-xs-5.table_container
         | 
| 33 | 
            +
                      - if safe_length(@diff["config_files"].only_in1, :files) > 0
         | 
| 34 | 
            +
                        = only_in_a
         | 
| 35 | 
            +
                        = render_partial "compare/config_file_list", list: @diff["config_files"].only_in1
         | 
| 36 | 
            +
                    .col-xs-1
         | 
| 37 | 
            +
                    .col-xs-5.table_container
         | 
| 38 | 
            +
                      - if safe_length(@diff["config_files"].only_in2, :files) > 0
         | 
| 39 | 
            +
                        = only_in_b
         | 
| 40 | 
            +
                        = render_partial "compare/config_file_list", list: @diff["config_files"].only_in2
         | 
| 41 | 
            +
                  - if safe_length(@diff["config_files"].common, :files) > 0
         | 
| 42 | 
            +
                    %a.both_anchor{ id: "config_files_both" }
         | 
| 43 | 
            +
                    .row
         | 
| 44 | 
            +
                      .col-xs-1
         | 
| 45 | 
            +
                      .col-xs-11
         | 
| 46 | 
            +
                        %a.show-common-elements{ href: "#config_files_both" }
         | 
| 47 | 
            +
                          Show common elements in config-files
         | 
| 48 | 
            +
                        %a.hide-common-elements{ href: "#", style: "display: none" }
         | 
| 49 | 
            +
                          Hide common elements in config-files
         | 
| 50 | 
            +
                    .row.scope_common_content.collapse
         | 
| 51 | 
            +
                      .col-xs-1
         | 
| 52 | 
            +
                      .col-xs-10.table_container
         | 
| 53 | 
            +
                        = in_both
         | 
| 54 | 
            +
                        = render_partial "compare/config_file_list", list: @diff["config_files"].common
         | 
| @@ -0,0 +1,52 @@ | |
| 1 | 
            +
            - if @diff["groups"]
         | 
| 2 | 
            +
              %a.scope_anchor{ id: "groups" }
         | 
| 3 | 
            +
              .scope#groups_container
         | 
| 4 | 
            +
                .row
         | 
| 5 | 
            +
                  .col-xs-1
         | 
| 6 | 
            +
                    %a{ href: "#groups" }
         | 
| 7 | 
            +
                      %img.over.scope_logo_big{ :src => "/assets/logo-groups.png",
         | 
| 8 | 
            +
                        "data-toggle" => "popover",
         | 
| 9 | 
            +
                        :title => "Groups",
         | 
| 10 | 
            +
                        "data-content" => "#{scope_help("groups")}" }
         | 
| 11 | 
            +
                    %span.toggle{ title: "Collapse/Expand" }
         | 
| 12 | 
            +
                  .col-xs-11
         | 
| 13 | 
            +
                    %h2
         | 
| 14 | 
            +
                      Groups
         | 
| 15 | 
            +
                      .scope-summary
         | 
| 16 | 
            +
                        - if @diff["groups"].only_in1
         | 
| 17 | 
            +
                          %span.summary-part
         | 
| 18 | 
            +
                            #{@description_a.name}: #{@diff["groups"].only_in1.length} groups
         | 
| 19 | 
            +
                        - if @diff["groups"].only_in2
         | 
| 20 | 
            +
                          %span.summary-part
         | 
| 21 | 
            +
                            #{@description_b.name}: #{@diff["groups"].only_in2.length} groups
         | 
| 22 | 
            +
                        - if @diff["groups"].common
         | 
| 23 | 
            +
                          %span.summary-part
         | 
| 24 | 
            +
                            %a.show-common-elements{ href: "#groups_both" }<
         | 
| 25 | 
            +
                              both
         | 
| 26 | 
            +
                            = ": #{@diff["groups"].common.length} groups"
         | 
| 27 | 
            +
                .row.scope_content.collapse.in
         | 
| 28 | 
            +
                  .row
         | 
| 29 | 
            +
                    .col-xs-1
         | 
| 30 | 
            +
                    .col-xs-5.table_container
         | 
| 31 | 
            +
                      - if @diff["groups"].only_in1
         | 
| 32 | 
            +
                        = only_in_a
         | 
| 33 | 
            +
                        = render_partial "compare/group_list", list: @diff["groups"].only_in1
         | 
| 34 | 
            +
                    .col-xs-1
         | 
| 35 | 
            +
                    .col-xs-5.table_container
         | 
| 36 | 
            +
                      - if @diff["groups"].only_in2
         | 
| 37 | 
            +
                        = only_in_b
         | 
| 38 | 
            +
                        = render_partial "compare/group_list", list: @diff["groups"].only_in2
         | 
| 39 | 
            +
                  - if @diff["groups"].common
         | 
| 40 | 
            +
                    %a.both_anchor{ id: "groups_both" }
         | 
| 41 | 
            +
                    .row
         | 
| 42 | 
            +
                      .col-xs-1
         | 
| 43 | 
            +
                      .col-xs-2
         | 
| 44 | 
            +
                        %a.show-common-elements{ href: "#groups_both" }
         | 
| 45 | 
            +
                          Show common elements in groups
         | 
| 46 | 
            +
                        %a.hide-common-elements{ href: "#", style: "display: none" }
         | 
| 47 | 
            +
                          Hide common elements in groups
         | 
| 48 | 
            +
                    .row.scope_common_content.collapse
         | 
| 49 | 
            +
                      .col-xs-1
         | 
| 50 | 
            +
                      .col-xs-10.table_container
         | 
| 51 | 
            +
                        = in_both
         | 
| 52 | 
            +
                        = render_partial "compare/group_list", list: @diff["groups"].common
         | 
| @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            - if @diff["os"]
         | 
| 2 | 
            +
              %a.scope_anchor{ id: "os" }
         | 
| 3 | 
            +
                .scope#os_container
         | 
| 4 | 
            +
                  .row
         | 
| 5 | 
            +
                    .col-xs-1
         | 
| 6 | 
            +
                      %a{ href: "#os" }
         | 
| 7 | 
            +
                        %img.over.scope_logo_big{ :src => "/assets/logo-os.png",
         | 
| 8 | 
            +
                          "data-toggle" => "popover",
         | 
| 9 | 
            +
                          :title => "Operating System",
         | 
| 10 | 
            +
                          "data-content" => "#{scope_help("os")}" }
         | 
| 11 | 
            +
                      %span.toggle{ title: "Collapse/Expand" }
         | 
| 12 | 
            +
                    .col-xs-11
         | 
| 13 | 
            +
                      %h2
         | 
| 14 | 
            +
                        Operating System
         | 
| 15 | 
            +
                  .row.scope_content.collapse.in
         | 
| 16 | 
            +
                    .row
         | 
| 17 | 
            +
                      .col-xs-1
         | 
| 18 | 
            +
                      .col-xs-5.table_container
         | 
| 19 | 
            +
                        - if @diff["os"].only_in1
         | 
| 20 | 
            +
                          = only_in_a
         | 
| 21 | 
            +
                          = render_partial "compare/os_table", os: @diff["os"].only_in1
         | 
| 22 | 
            +
                      .col-xs-1
         | 
| 23 | 
            +
                      .col-xs-5.table_container
         | 
| 24 | 
            +
                        - if @diff["os"].only_in2
         | 
| 25 | 
            +
                          = only_in_b
         | 
| 26 | 
            +
                          = render_partial "compare/os_table", os: @diff["os"].only_in2
         | 
| 27 | 
            +
                    - if @diff["os"].common
         | 
| 28 | 
            +
                      .row.scope_common_content
         | 
| 29 | 
            +
                        .col-xs-1
         | 
| 30 | 
            +
                        .col-xs-11.table_container.collapse.in
         | 
| 31 | 
            +
                          = in_both
         | 
| 32 | 
            +
                          = render_partial "compare/os_table", os: @diff["os"].common
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            %table.table.table-striped.table-hover.table-condensed
         | 
| 2 | 
            +
              %thead
         | 
| 3 | 
            +
                %tr
         | 
| 4 | 
            +
                  %th Name
         | 
| 5 | 
            +
                  %th.small Version
         | 
| 6 | 
            +
                  %th.small.visible-md.visible-lg Release
         | 
| 7 | 
            +
                  %th.small.visible-md.visible-lg Arch
         | 
| 8 | 
            +
                  %th.visible-lg Vendor
         | 
| 9 | 
            +
                  %th.visible-lg Checksum
         | 
| 10 | 
            +
                  %th.tiny.hidden-lg
         | 
| 11 | 
            +
              %tbody
         | 
| 12 | 
            +
                - list.each do |package|
         | 
| 13 | 
            +
                  %tr
         | 
| 14 | 
            +
                    %td= package.name
         | 
| 15 | 
            +
                    %td= package.version
         | 
| 16 | 
            +
                    %td.visible-md.visible-lg= package.release
         | 
| 17 | 
            +
                    %td.visible-md.visible-lg= package.arch
         | 
| 18 | 
            +
                    %td.visible-lg= package.vendor
         | 
| 19 | 
            +
                    %td.visible-lg= package.checksum
         | 
| 20 | 
            +
                    %td.hidden-lg{ title: "Name: #{package.name}\nVersion: #{package.version}\nRelease: " |
         | 
| 21 | 
            +
                      "#{package.release}\nArchitecture: #{package.arch}\nVendor: #{package.vendor}\n" |
         | 
| 22 | 
            +
                      "Checksum: #{package.checksum}" } ... |
         | 
| 23 | 
            +
             | 
| @@ -0,0 +1,66 @@ | |
| 1 | 
            +
            - if @diff["packages"]
         | 
| 2 | 
            +
              %a.scope_anchor{ id: "packages" }
         | 
| 3 | 
            +
              .scope#packages_container
         | 
| 4 | 
            +
                .row
         | 
| 5 | 
            +
                  .col-xs-1
         | 
| 6 | 
            +
                    %a{ href: "#packages" }
         | 
| 7 | 
            +
                      %img.over.scope_logo_big{ :src => "/assets/logo-packages.png",
         | 
| 8 | 
            +
                        "data-toggle" => "popover",
         | 
| 9 | 
            +
                        :title => "Packages",
         | 
| 10 | 
            +
                        "data-content" => "#{scope_help("packages")}" }
         | 
| 11 | 
            +
                    %span.toggle{ title: "Collapse/Expand" }
         | 
| 12 | 
            +
                  .col-xs-11
         | 
| 13 | 
            +
                    %h2
         | 
| 14 | 
            +
                      Packages
         | 
| 15 | 
            +
                      .scope-summary
         | 
| 16 | 
            +
                        - if @diff["packages"].only_in1
         | 
| 17 | 
            +
                          %span.summary-part
         | 
| 18 | 
            +
                            #{@description_a.name}: #{@diff["packages"].only_in1.length} packages
         | 
| 19 | 
            +
                        - if @diff["packages"].only_in2
         | 
| 20 | 
            +
                          %span.summary-part
         | 
| 21 | 
            +
                            #{@description_b.name}: #{@diff["packages"].only_in2.length} packages
         | 
| 22 | 
            +
                        - if @diff["packages"].changed
         | 
| 23 | 
            +
                          %span.summary-part
         | 
| 24 | 
            +
                            %a{ href: "#packages_changed" }
         | 
| 25 | 
            +
                            Changed
         | 
| 26 | 
            +
                            = ": #{@diff["packages"].changed.length} packages"
         | 
| 27 | 
            +
                        - if @diff["packages"].common
         | 
| 28 | 
            +
                          %span.summary-part
         | 
| 29 | 
            +
                            %a.show-common-elements{ href: "#packages_both" }<
         | 
| 30 | 
            +
                              both
         | 
| 31 | 
            +
                            = ": #{@diff["packages"].common.length} packages"
         | 
| 32 | 
            +
                .row.scope_content.collapse.in
         | 
| 33 | 
            +
                  .row
         | 
| 34 | 
            +
                    .col-xs-1
         | 
| 35 | 
            +
                    .col-xs-5.table_container
         | 
| 36 | 
            +
                      - if @diff["packages"].only_in1
         | 
| 37 | 
            +
                        = only_in_a
         | 
| 38 | 
            +
                        = render_partial "compare/package_list", list: @diff["packages"].only_in1
         | 
| 39 | 
            +
                    .col-xs-1
         | 
| 40 | 
            +
                    .col-xs-5.table_container
         | 
| 41 | 
            +
                      - if @diff["packages"].only_in2
         | 
| 42 | 
            +
                        = only_in_b
         | 
| 43 | 
            +
                        = render_partial "compare/package_list", list: @diff["packages"].only_in2
         | 
| 44 | 
            +
                  - if @diff["packages"].changed
         | 
| 45 | 
            +
                    %a.both_anchor{ id: "packages_changed" }
         | 
| 46 | 
            +
                    .row
         | 
| 47 | 
            +
                      .col-xs-1
         | 
| 48 | 
            +
                      .col-xs-11.table_container
         | 
| 49 | 
            +
                        = changed
         | 
| 50 | 
            +
                        %ul.changed
         | 
| 51 | 
            +
                          - changed_packages.each do |change|
         | 
| 52 | 
            +
                            %li= change
         | 
| 53 | 
            +
                  - if @diff["packages"].common
         | 
| 54 | 
            +
                    %a.both_anchor{ id: "packages_both" }
         | 
| 55 | 
            +
                    .row
         | 
| 56 | 
            +
                      .col-xs-1
         | 
| 57 | 
            +
                      .col-xs-2
         | 
| 58 | 
            +
                        %a.show-common-elements{ href: "#packages_both" }
         | 
| 59 | 
            +
                          Show common elements in packages
         | 
| 60 | 
            +
                        %a.hide-common-elements{ href: "#", style: "display: none" }
         | 
| 61 | 
            +
                          Hide common elements in packages
         | 
| 62 | 
            +
                    .row.scope_common_content.collapse
         | 
| 63 | 
            +
                      .col-xs-1
         | 
| 64 | 
            +
                      .col-xs-10.table_container
         | 
| 65 | 
            +
                        = in_both
         | 
| 66 | 
            +
                        = render_partial "compare/package_list", list: @diff["packages"].common
         |