Sha256: 0a5df7e3767e1a68369900c0173fb8b838894618975337ca4727559e1cb54830

Contents?: true

Size: 929 Bytes

Versions: 43

Compression:

Stored size: 929 Bytes

Contents

# frozen_string_literal: true
module Gem::Resolver::Molinillo
  class DependencyGraph
    # An action that modifies a {DependencyGraph} that is reversible.
    # @abstract
    class Action
      # rubocop:disable Lint/UnusedMethodArgument

      # @return [Symbol] The name of the action.
      def self.action_name
        raise 'Abstract'
      end

      # Performs the action on the given graph.
      # @param  [DependencyGraph] graph the graph to perform the action on.
      # @return [Void]
      def up(graph)
        raise 'Abstract'
      end

      # Reverses the action on the given graph.
      # @param  [DependencyGraph] graph the graph to reverse the action on.
      # @return [Void]
      def down(graph)
        raise 'Abstract'
      end

      # @return [Action,Nil] The previous action
      attr_accessor :previous

      # @return [Action,Nil] The next action
      attr_accessor :next
    end
  end
end

Version data entries

43 entries across 43 versions & 2 rubygems

Version Path
rubygems-update-2.6.9 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb
ruby-compiler-0.1.1 vendor/ruby/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb
rubygems-update-2.6.8 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb