Adds this spec’s require paths to LOAD_PATH, in the proper location.
Reset nil attributes to their default values to make the spec valid
@return [Object] most up-to-date dependency in the possibility set
Processes the topmost available {RequirementState} on the stack @return [void]
Creates and pushes the initial state for the resolution, based upon the {#requested} dependencies @return [void]
@param [Object] possibility a single possibility @param [Array] requirements an array of requirements @return [Boolean] whether the possibility satisfies all of the
given requirements
@param [Object] requirement @return [ResolutionState] the state whose ‘requirement` is the given
`requirement`.
Add the current {#possibility} to the dependency graph of the current {#state} @return [void]
Ruby expects the dylib to follow a file name convention for loading
This method verifies that there are no (obvious) ambiguities with the provided col_sep
and strip
parsing options. For example, if col_sep
and strip
were both equal to \t
, then there would be no clear way to parse the input.
Raises a VersionConflict
error, or any underlying error, if there is no current state @return [void]
Pushes a new {DependencyState} that encapsulates both existing and new requirements @param [Array] new_requirements @param [Boolean] requires_sort @param [Object] new_activated @return [void]
@return [Boolean] where the requirement of the state we’re unwinding
to directly caused the conflict. Note: in this case, it is impossible for the state we're unwinding to to be a parent of any of the other conflicting requirements (or we would have circularity)