class Molinillo::Resolver::Resolution::UnwindDetails

def <=>(other)

Returns:
  • (Integer) - integer specifying ordering

Parameters:
  • other (UnwindDetail) -- UnwindDetail to be compared
def <=>(other)
  if state_index > other.state_index
    1
  elsif state_index == other.state_index
    reversed_requirement_tree_index <=> other.reversed_requirement_tree_index
  else
    -1
  end
end

def all_requirements

Returns:
  • (Array) - array of all the requirements that led to the need for
def all_requirements
  @all_requirements ||= requirement_trees.flatten(1)
end

def reversed_requirement_tree_index

Returns:
  • (Integer) - index of state requirement in reversed requirement tree
def reversed_requirement_tree_index
  @reversed_requirement_tree_index ||=
    if state_requirement
      requirement_tree.reverse.index(state_requirement)
    else
      999_999
    end
end

def sub_dependencies_to_avoid

Returns:
  • (Array) - array of sub-dependencies to avoid when choosing a
def sub_dependencies_to_avoid
  @requirements_to_avoid ||=
    requirement_trees.map do |tree|
      index = tree.index(state_requirement)
      tree[index + 1] if index
    end.compact
end

def unwinding_to_primary_requirement?

Returns:
  • (Boolean) - where the requirement of the state we're unwinding
def unwinding_to_primary_requirement?
  requirement_tree.last == state_requirement
end