Sha256: 2994ec67dd17028a8cba90fe2edfb7f623a7cf4b4c7e2c3743f0ceb1ab734d08

Contents?: true

Size: 1.17 KB

Versions: 31

Compression:

Stored size: 1.17 KB

Contents

# Implementation of {Metasploit::Model::Module::Rank} to allow testing of {Metasploit::Model::Module::Rank}
# using an in-memory ActiveModel and use of factories.
class Dummy::Module::Rank < Metasploit::Model::Base
  include Metasploit::Model::Module::Rank

  #
  # Attributes
  #

  # @!attribute [rw] name
  #   The name of the rank.
  #
  #   @return [String]
  attr_accessor :name

  # @!attribute [rw] number
  #   The numerical value of the rank.  Higher numbers are better.
  #
  #   @return [Integer]
  attr_accessor :number

  # Keep single instance for each pair in {Metasploit::Model::Module::Rank::NUMBER_BY_NAME} to emulate unique database
  # seeds in-memory.
  #
  # @param name [String] {#name}
  # @return [Dummy::Module::Rank]
  def self.with_name(name)
    unless instance_variable_defined? :@instance_by_name
      @instance_by_name = {}

      NUMBER_BY_NAME.each do |instance_name, number|
        instance = new(:name => instance_name, :number => number)

        unless instance.valid?
          raise Metasploit::Model::Invalid.new(instance)
        end

        @instance_by_name[instance_name] = instance
      end
    end

    @instance_by_name.fetch(name)
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
metasploit-model-0.28.0 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.28.0-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.28.0.pre.engine.pre.requires spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.4 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.4-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.3 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.3-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.2 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.2-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.1 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.1-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.0 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.0-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.27.0.pre.dep.pre.railties spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.26.1-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.26.1 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.25.7 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.25.7-java spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.25.6 spec/dummy/app/models/dummy/module/rank.rb
metasploit-model-0.25.6-java spec/dummy/app/models/dummy/module/rank.rb