Sha256: d38c016cc60d622db95d1b69bf3da9379918a904799a2132bbcb0402494e5da4

Contents?: true

Size: 1.79 KB

Versions: 31

Compression:

Stored size: 1.79 KB

Contents

FactoryGirl.define do
  #
  #
  # Metasploit::Model::Reference#designation sequences
  #
  #

  sequence :metasploit_model_reference_designation do |n|
    n.to_s
  end

  #
  # Metasploit::Model::Authority-specific Metasploit::Model::Reference#designation sequences
  #

  sequence :metasploit_model_reference_bid_designation do |n|
    n.to_s
  end

  sequence :metasploit_model_reference_cve_designation do |n|
    number = n % 10000
    year = n / 10000

    "%04d-%04d" % [year, number]
  end

  sequence :metasploit_model_reference_msb_designation do |n|
    number = n % 1000
    year = n / 1000

    "MS%02d-%03d" % [year, number]
  end

  sequence :metasploit_model_reference_osvdb_designation do |n|
    n.to_s
  end

  sequence :metasploit_model_reference_pmasa_designation do |n|
    number = n / 100
    year = n / 100

    "#{year}-#{number}"
  end

  sequence :metasploit_model_reference_secunia_designation do |n|
    n.to_s
  end

  sequence :metasploit_model_reference_us_cert_vu_designation do |n|
    n.to_s
  end

  sequence :metasploit_model_reference_waraxe_designation do |n|
    # numbers don't rollover on the year like other authorities
    year = n
    number = n

    "%d-SA#%d" % [year, number]
  end

  sequence :metasploit_model_reference_zdi_designation do |n|
    year, number = n.divmod(1000)

    "%02d-%03d" % [year, number]
  end

  sequence :metasploit_model_reference_url do |n|
    "http://example.com/metasploit/model/reference/#{n}"
  end

  trait :metasploit_model_reference do
    #
    # Attributes
    #

    designation { generate :metasploit_model_reference_designation }
    url { generate :metasploit_model_reference_url }
  end

  trait :obsolete_metasploit_model_reference do
    url nil
  end

  trait :url_metasploit_model_reference do
    authority nil
    designation nil
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
metasploit-model-0.28.0 spec/factories/metasploit/model/references.rb
metasploit-model-0.28.0-java spec/factories/metasploit/model/references.rb
metasploit-model-0.28.0.pre.engine.pre.requires spec/factories/metasploit/model/references.rb
metasploit-model-0.27.4 spec/factories/metasploit/model/references.rb
metasploit-model-0.27.4-java spec/factories/metasploit/model/references.rb
metasploit-model-0.27.3 spec/factories/metasploit/model/references.rb
metasploit-model-0.27.3-java spec/factories/metasploit/model/references.rb
metasploit-model-0.27.2 spec/factories/metasploit/model/references.rb
metasploit-model-0.27.2-java spec/factories/metasploit/model/references.rb
metasploit-model-0.27.1 spec/factories/metasploit/model/references.rb
metasploit-model-0.27.1-java spec/factories/metasploit/model/references.rb
metasploit-model-0.27.0 spec/factories/metasploit/model/references.rb
metasploit-model-0.27.0-java spec/factories/metasploit/model/references.rb
metasploit-model-0.27.0.pre.dep.pre.railties spec/factories/metasploit/model/references.rb
metasploit-model-0.26.1-java spec/factories/metasploit/model/references.rb
metasploit-model-0.26.1 spec/factories/metasploit/model/references.rb
metasploit-model-0.25.7 spec/factories/metasploit/model/references.rb
metasploit-model-0.25.7-java spec/factories/metasploit/model/references.rb
metasploit-model-0.25.6 spec/factories/metasploit/model/references.rb
metasploit-model-0.25.6-java spec/factories/metasploit/model/references.rb