- comparisons = data.features.comparisons - category_lookup = data.categories - devops_tools = data.features.devops_tools - devops_tool_keys = devops_tools.keys.delete_if{ |c| c[0..6] == 'gitlab_' }.sort - devops_tool_categories = devops_tool_keys.map{ |n| devops_tools[n] }.keep_if{ |c| c['category'] }.collect{ |c| c.category }.flatten.uniq.compact.sort - gitlab_keys = devops_tools.keys.keep_if{ |c| c[0..6] == 'gitlab_' } - gitlab_categories = gitlab_keys.map{ |n| devops_tools[n] }.keep_if{ |c| c['category'] }.collect{ |c| c.category }.flatten.uniq.compact.sort - categories = devops_tool_categories & gitlab_categories - key_one ||= '' - key_two ||= '' -# Check if tools have features - valid_tools = {} - devops_tool_keys.each do |devops_tool| - data.features.features.each do |feature| - if (feature[devops_tool] != nil) - valid_tools[devops_tool] = true - break .text-center .filters-container .dropdown.level#categories-filter %button.dropdown-menu-toggle.btn{type: 'button', 'data-toggle' => 'dropdown'} %span Category (Any) %i.fa.fa-chevron-down %ul.dropdown-menu %li %span Category (Any) - categories.each do |category| - if category_lookup[category] %li{ data: { 'category-key' => category } } %span = category_lookup[category].name .dropdown.level#devops_tools-filter{ data: { selected: key_two } } %button.dropdown-menu-toggle.btn{type: 'button', 'data-toggle' => 'dropdown'} %span Tool %i.fa.fa-chevron-down %ul.dropdown-menu - devops_tool_keys.each do |devops_tool_key| - devops_tool = devops_tools[devops_tool_key] - if (valid_tools[devops_tool_key] != nil) %li{ data: { categories: '||' + (devops_tool.category ? devops_tool.category.join('||') : '') + '||', key: devops_tool_key } } %span = devops_tool.name %div vs. .dropdown.level#gitlab-products-filter{ data: { selected: key_one } } %button.dropdown-menu-toggle.btn{type: 'button', 'data-toggle' => 'dropdown'} %span GitLab %div %a.btn.cta-btn.accent#compare-button{ href: '#' } Compare