class AsdfDiscover::SearchResult
Amalgamated results from Searchers
. Contains the data required to display warnings and write the .tool-versions file.
Constants
- Conflict
Public Class Methods
new(results)
click to toggle source
# File lib/asdf_discover/search_result.rb, line 7 def initialize(results) @results = results end
Public Instance Methods
any?()
click to toggle source
# File lib/asdf_discover/search_result.rb, line 23 def any? @results.any? end
conflicts()
click to toggle source
# File lib/asdf_discover/search_result.rb, line 15 def conflicts @conflicts ||= find_conflicts end
consistent?()
click to toggle source
# File lib/asdf_discover/search_result.rb, line 11 def consistent? conflicts.none? end
tool_versions()
click to toggle source
# File lib/asdf_discover/search_result.rb, line 19 def tool_versions @tool_versions ||= collect_tool_versions end
Private Instance Methods
collect_tool_versions()
click to toggle source
# File lib/asdf_discover/search_result.rb, line 36 def collect_tool_versions @results .sort_by { |e| [e.tool, e.version] } .uniq { |e| [e.tool, e.version] } end
find_conflicts()
click to toggle source
# File lib/asdf_discover/search_result.rb, line 29 def find_conflicts @results .group_by(&:tool) .filter { |_tool, matches| matches.map(&:version).uniq.length != 1 } .map { |tool, matches| Conflict.new(tool, matches) } end