Sha256: 0956c0058c56a847b0e450716f38e3048dab5a9f2a26034bc2e73066b41eb260

Contents?: true

Size: 1.14 KB

Versions: 43

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true
require 'rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action'
module Gem::Resolver::Molinillo
  class DependencyGraph
    # @!visibility private
    # @see DependencyGraph#set_payload
    class SetPayload < Action # :nodoc:
      # @!group Action

      # (see Action.action_name)
      def self.action_name
        :set_payload
      end

      # (see Action#up)
      def up(graph)
        vertex = graph.vertex_named(name)
        @old_payload = vertex.payload
        vertex.payload = payload
      end

      # (see Action#down)
      def down(graph)
        graph.vertex_named(name).payload = @old_payload
      end

      # @!group SetPayload

      # @return [String] the name of the vertex
      attr_reader :name

      # @return [Object] the payload for the vertex
      attr_reader :payload

      # Initialize an action to add set the payload for a vertex in a dependency
      # graph
      # @param [String] name the name of the vertex
      # @param [Object] payload the payload for the vertex
      def initialize(name, payload)
        @name = name
        @payload = payload
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 2 rubygems

Version Path
rubygems-update-3.1.6 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.5 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.0.9 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-2.7.11 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.2.0.rc.2 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.2.0.rc.1 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.4 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.3 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.0.8 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.0.7 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.2 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.1 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.0 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.0.pre3 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.0.pre2 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.1.0.pre1 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.0.6 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.0.5 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-3.0.4 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
rubygems-update-2.7.10 lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb