Sha256: fb2235312dec60ab373099b07c714119daf730e94e94cc54c54c92d537ff7728

Contents?: true

Size: 738 Bytes

Versions: 44

Compression:

Stored size: 738 Bytes

Contents

# Superclass for all Metasploit::Models.  Just adds a default {#initialize} to make models mimic behavior of
# ActiveRecord::Base subclasses.
class Metasploit::Model::Base
  include ActiveModel::Validations

  # After ActiveModel::Validations so Metasploit::Model::Translation is favored over ActiveModel::Translation
  include Metasploit::Model::Translation

  # @param attributes [Hash{Symbol => String,nil}]
  def initialize(attributes={})
    attributes.each do |attribute, value|
      public_send("#{attribute}=", value)
    end
  end

  # Validates the model.
  #
  # @return [void]
  # @raise [Metasploit::Model::Invalid] if invalid
  def valid!
    unless valid?
      raise Metasploit::Model::Invalid.new(self)
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
metasploit-model-2.0.4 lib/metasploit/model/base.rb
metasploit-model-2.0.3 lib/metasploit/model/base.rb
metasploit-model-2.0.2 lib/metasploit/model/base.rb
metasploit-model-2.0.1 lib/metasploit/model/base.rb
metasploit-model-2.0.0 lib/metasploit/model/base.rb
metasploit-model-1.1.0 lib/metasploit/model/base.rb
metasploit-model-1.0.2 lib/metasploit/model/base.rb
metasploit-model-1.0.1 lib/metasploit/model/base.rb
metasploit-model-1.0.0 lib/metasploit/model/base.rb
metasploit-model-0.30.2 lib/metasploit/model/base.rb
metasploit-model-0.30.2-java lib/metasploit/model/base.rb
metasploit-model-0.30.1 lib/metasploit/model/base.rb
metasploit-model-0.30.1-java lib/metasploit/model/base.rb
metasploit-model-0.30.1.pre.rspec.pre.3.pre.1 lib/metasploit/model/base.rb
metasploit-model-1.0.0.pre.rails.pre.4.0 lib/metasploit/model/base.rb
metasploit-model-0.30.0 lib/metasploit/model/base.rb
metasploit-model-0.30.0-java lib/metasploit/model/base.rb
metasploit-model-0.29.2 lib/metasploit/model/base.rb
metasploit-model-0.29.2-java lib/metasploit/model/base.rb
metasploit-model-0.29.0 lib/metasploit/model/base.rb