Sha256: 731ebdf87914812c73fbeeff604ec78c260771c7196eb69925f636faf3ee469f

Contents?: true

Size: 1.01 KB

Versions: 8

Compression:

Stored size: 1.01 KB

Contents

require 'metasploit/model/spec/error'

module Metasploit
  module Model
    module Spec
      # Error raised if a Pathname already exists on disk when one of the real_paths for metasploit-models factories
      # is generated or derived, which would indicate that a prior spec did not clean up properly.
      class PathnameCollision < Metasploit::Model::Spec::Error
        # Checks if there is a pathname collision.
        #
        # @param (see #initialize)
        # @return [void]
        # @raise [Metasploit::Model::Spec::PathnameCollision] if `pathname.exist?` is `true`.
        def self.check!(pathname)
          if pathname.exist?
            raise new(pathname)
          end
        end

        # @param pathname [Pathname] Pathname that already exists on disk
        def initialize(pathname)
          super(
              "#{pathname} already exists.  " \
              "Metasploit::Model::Spec.remove_temporary_pathname was not called after the previous spec."
          )
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
metasploit-model-0.27.3 lib/metasploit/model/spec/pathname_collision.rb
metasploit-model-0.27.3-java lib/metasploit/model/spec/pathname_collision.rb
metasploit-model-0.27.2 lib/metasploit/model/spec/pathname_collision.rb
metasploit-model-0.27.2-java lib/metasploit/model/spec/pathname_collision.rb
metasploit-model-0.27.1 lib/metasploit/model/spec/pathname_collision.rb
metasploit-model-0.27.1-java lib/metasploit/model/spec/pathname_collision.rb
metasploit-model-0.27.0 lib/metasploit/model/spec/pathname_collision.rb
metasploit-model-0.27.0-java lib/metasploit/model/spec/pathname_collision.rb