Sha256: 8a7e18fde42ad2572dbcdfeae7f6f9d8cee9874dbf58dcec945b5088463518b2

Contents?: true

Size: 917 Bytes

Versions: 43

Compression:

Stored size: 917 Bytes

Contents

class Mdm::Tag < ActiveRecord::Base
  #
  # Callbacks
  #

  before_destroy :cleanup_hosts

  #
  # Relations
  #

  has_many :hosts_tags, :class_name => 'Mdm::HostTag'
  belongs_to :user, :class_name => 'Mdm::User'

  #
  # Through :hosts_tags
  #
  has_many :hosts, :through => :hosts_tags, :class_name => 'Mdm::Host'


  #
  # Validations
  #

  validates :desc,
            :length => {
                :maximum => ((8 * (2 ** 10)) - 1),
                :message => "desc must be less than 8k."
            }
  validates :name,
            :format => {
                :with => /^[A-Za-z0-9\x2e\x2d_]+$/, :message => "must be alphanumeric, dots, dashes, or underscores"
            },
            :presence => true

  def cleanup_hosts
    # Clean up association table records
    Mdm::HostTag.delete_all("tag_id = #{self.id}")
  end

  def to_s
    name
  end

  ActiveSupport.run_load_hooks(:mdm_tag, self)
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
metasploit_data_models-0.17.0-java app/models/mdm/tag.rb
metasploit_data_models-0.17.0 app/models/mdm/tag.rb
metasploit_data_models-0.16.9 app/models/mdm/tag.rb
metasploit_data_models-0.16.9-java app/models/mdm/tag.rb
metasploit_data_models-0.16.8 app/models/mdm/tag.rb
metasploit_data_models-0.16.8-java app/models/mdm/tag.rb
metasploit_data_models-0.16.7-java app/models/mdm/tag.rb
metasploit_data_models-0.16.7 app/models/mdm/tag.rb
metasploit_data_models-0.16.6-java app/models/mdm/tag.rb
metasploit_data_models-0.16.6 app/models/mdm/tag.rb
metasploit_data_models-0.16.5-java app/models/mdm/tag.rb
metasploit_data_models-0.16.5 app/models/mdm/tag.rb
metasploit_data_models-0.16.4-java app/models/mdm/tag.rb
metasploit_data_models-0.16.4 app/models/mdm/tag.rb
metasploit_data_models-0.16.3-java app/models/mdm/tag.rb
metasploit_data_models-0.16.1-java app/models/mdm/tag.rb
metasploit_data_models-0.16.1 app/models/mdm/tag.rb
metasploit_data_models-0.16.0-java app/models/mdm/tag.rb
metasploit_data_models-0.16.0 app/models/mdm/tag.rb
metasploit_data_models-0.15.2-java app/models/mdm/tag.rb