Merge in the MDM with module tables

unstable
HD Moore 2012-06-13 21:59:55 -05:00
parent 554defa9c0
commit 65686824e0
16 changed files with 151 additions and 1 deletions

View File

@ -1,4 +1,4 @@
#!/usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby #!/usr/bin/env ruby_noexec_wrapper
# #
# This file was generated by RubyGems. # This file was generated by RubyGems.
# #

View File

@ -0,0 +1,8 @@
module MetasploitDataModels::ActiveRecordModels::ModuleAction
def self.included(base)
base.class_eval{
has_many :module_details_actions, :class_name => "Mdm::ModuleDetailAction"
has_many :module_details, :through => :module_details_actions, :class_name => "Mdm::ModuleAction"
}
end
end

View File

@ -0,0 +1,8 @@
module MetasploitDataModels::ActiveRecordModels::ModuleArch
def self.included(base)
base.class_eval{
has_many :module_details_archs, :class_name => "Mdm::ModuleDetailArch"
has_many :module_details, :through => :module_details_archs, :class_name => "Mdm::ModuleArch"
}
end
end

View File

@ -0,0 +1,8 @@
module MetasploitDataModels::ActiveRecordModels::ModuleAuthor
def self.included(base)
base.class_eval{
has_many :module_details_authors, :class_name => "Mdm::ModuleDetailAuthor"
has_many :module_details, :through => :module_details_authors, :class_name => "Mdm::ModuleDetail"
}
end
end

View File

@ -0,0 +1,24 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetail
def self.included(base)
base.class_eval {
has_many :module_authors, :through => :modules_details_authors, :class_name => "Mdm::ModuleAuthor", :dependent => :destroy
has_many :module_mixins, :through => :modules_details_mixins, :class_name => "Mdm::ModuleMixin", :dependent => :destroy
has_many :module_targets, :through => :modules_details_targets, :class_name => "Mdm::ModuleTarget", :dependent => :destroy
has_many :module_actions, :through => :modules_details_actions, :class_name => "Mdm::ModuleAction", :dependent => :destroy
has_many :module_refs, :through => :modules_details_refs, :class_name => "Mdm::ModuleRef", :dependent => :destroy
has_many :module_archs, :through => :modules_details_archs, :class_name => "Mdm::ModuleArch", :dependent => :destroy
has_many :module_platforms, :through => :modules_details_platforms, :class_name => "Mdm::ModulePlatform", :dependent => :destroy
validates_associated :module_refs
after_update :save_refs
private
def save_refs
module_refs.each { |ref| ref.save(:validate => false) }
end
}
end
end

View File

@ -0,0 +1,10 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetailAction
def self.included(base)
base.class_eval {
base.table_name = "module_details_actions"
belongs_to :module_detail, :class_name => "Mdm::ModuleDetail"
belongs_to :module_action, :class_name => "Mdm::ModuleAction"
}
end
end

View File

@ -0,0 +1,10 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetailArch
def self.included(base)
base.class_eval {
base.table_name = "module_details_archs"
belongs_to :module_detail, :class_name => "Mdm::ModuleDetail"
belongs_to :module_arch, :class_name => "Mdm::ModuleArch"
}
end
end

View File

@ -0,0 +1,10 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetailAuthor
def self.included(base)
base.class_eval {
base.table_name = "module_details_authors"
belongs_to :module_detail, :class_name => "Mdm::ModuleDetail"
belongs_to :module_author, :class_name => "Mdm::ModuleAuthor"
}
end
end

View File

@ -0,0 +1,10 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetailMixin
def self.included(base)
base.class_eval {
base.table_name = "module_details_mixins"
belongs_to :module_detail, :class_name => "Mdm::ModuleDetail"
belongs_to :module_mixin, :class_name => "Mdm::ModuleMixin"
}
end
end

View File

@ -0,0 +1,10 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetailPlatform
def self.included(base)
base.class_eval {
base.table_name = "module_details_platforms"
belongs_to :module_detail, :class_name => "Mdm::ModuleDetail"
belongs_to :module_platform, :class_name => "Mdm::ModulePlatform"
}
end
end

View File

@ -0,0 +1,10 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetailRef
def self.included(base)
base.class_eval {
base.table_name = "module_details_refs"
belongs_to :module_detail, :class_name => "Mdm::ModuleDetail"
belongs_to :module_ref, :class_name => "Mdm::ModuleRef"
}
end
end

View File

@ -0,0 +1,10 @@
module MetasploitDataModels::ActiveRecordModels::ModuleDetailTarget
def self.included(base)
base.class_eval {
base.table_name = "module_details_targets"
belongs_to :module_detail, :class_name => "Mdm::ModuleDetail"
belongs_to :module_target, :class_name => "Mdm::ModuleTarget"
}
end
end

View File

@ -0,0 +1,8 @@
module MetasploitDataModels::ActiveRecordModels::ModuleMixin
def self.included(base)
base.class_eval{
has_many :module_details_mixins, :class_name => "Mdm::ModuleDetailMixin"
has_many :module_details, :through => :module_details_mixins, :class_name => "Mdm::ModuleDetail"
}
end
end

View File

@ -0,0 +1,8 @@
module MetasploitDataModels::ActiveRecordModels::ModulePlatform
def self.included(base)
base.class_eval{
has_many :module_details_platforms, :class_name => "Mdm::ModuleDetailPlatform"
has_many :module_details, :through => :module_details_platforms, :class_name => "Mdm::ModulePlatform"
}
end
end

View File

@ -0,0 +1,8 @@
module MetasploitDataModels::ActiveRecordModels::ModuleRef
def self.included(base)
base.class_eval{
has_many :module_details_refs, :class_name => "Mdm::ModuleDetailRef"
has_many :module_details, :through => :module_details_refs, :class_name => "Mdm::ModuleDetail"
}
end
end

View File

@ -0,0 +1,8 @@
module MetasploitDataModels::ActiveRecordModels::ModuleTarget
def self.included(base)
base.class_eval{
has_many :module_details_targets, :class_name => "Mdm::ModuleDetailTarget"
has_many :module_details, :through => :module_details_targets, :class_name => "Mdm::ModuleTarget"
}
end
end