module Molinillo::SpecificationProvider

def allow_missing?(dependency)

Returns:
  • (Boolean) - whether this dependency can safely be skipped.

Parameters:
  • dependency (Object) --
def allow_missing?(dependency)
  false
end

def dependencies_equal?(dependencies, other_dependencies)

Returns:
  • (Boolean) - whether `dependencies` and `other_dependencies` should

Parameters:
  • other_dependencies (Array) --
  • dependencies (Array) --
    def dependencies_equal?(dependencies, other_dependencies)
      dependencies == other_dependencies
    end

    def dependencies_for(specification)

    Returns:
    • (Array) - the dependencies that are required by the given
      Parameters:
      • specification (Object) --

      Other tags:
        Note: - This method should be 'pure', i.e. the return value should depend
      def dependencies_for(specification)
        []
      end

      def name_for(dependency)

      Returns:
      • (String) - the name for the given `dependency`.

      Parameters:
      • dependency (Object) --

      Other tags:
        Note: - This method should be 'pure', i.e. the return value should depend
      def name_for(dependency)
        dependency.to_s
      end

      def name_for_explicit_dependency_source

      Returns:
      • (String) - the name of the source of explicit dependencies, i.e.
      def name_for_explicit_dependency_source
        'user-specified dependency'
      end

      def name_for_locking_dependency_source

      Returns:
      • (String) - the name of the source of 'locked' dependencies, i.e.
      def name_for_locking_dependency_source
        'Lockfile'
      end

      def requirement_satisfied_by?(requirement, activated, spec)

      Returns:
      • (Boolean) - whether `requirement` is satisfied by `spec` in the

      Parameters:
      • spec (Object) --
      • activated (DependencyGraph) -- the current dependency graph in the
      • requirement (Object) --
      def requirement_satisfied_by?(requirement, activated, spec)
        true
      end

      def search_for(dependency)

      Returns:
      • (Array) - the specifications that satisfy the given
        Parameters:
        • dependency (Object) --

        Other tags:
          Note: - This method should be 'pure', i.e. the return value should depend
        def search_for(dependency)
          []
        end

        def sort_dependencies(dependencies, activated, conflicts)

        Returns:
        • (Array) - a sorted copy of `dependencies`.
          Parameters:
          • conflicts ({String => Array}) --
          • activated (DependencyGraph) -- the current dependency graph in the
          • dependencies (Array) --
            def sort_dependencies(dependencies, activated, conflicts)
              dependencies.sort_by do |dependency|
                name = name_for(dependency)
                [
                  activated.vertex_named(name).payload ? 0 : 1,
                  conflicts[name] ? 0 : 1,
                ]
              end
            end