Skip to content

Commit fc83f11

Browse files
author
Tom Copeland
committed
Models for GForge package/release/file
1 parent 325d399 commit fc83f11

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

lib/tasks/gforge_models.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class GForgeGroup < GForgeTable
1414
has_many :artifact_group_lists, :class_name => "GForgeArtifactGroupList", :foreign_key => 'group_id'
1515
has_many :forum_groups, :class_name => "GForgeForumGroup", :foreign_key => 'group_id'
1616
has_many :document_groups, :class_name => "GForgeDocumentGroup", :foreign_key => 'group_id'
17+
has_many :packages, :class_name => "GForgePackage", :foreign_key => 'group_id'
1718
named_scope :active, :conditions => {:status => 'A'}
1819
named_scope :non_system, :conditions => 'group_id > 4'
1920
def redmine_status
@@ -307,6 +308,29 @@ class GForgeArtifactCategory < GForgeTable
307308
has_many :artifacts, :class_name => "GForgeArtifact", :foreign_key => "category_id"
308309
end
309310

311+
class GForgePackage < GForgeTable
312+
set_table_name 'frs_package'
313+
set_primary_key 'package_id'
314+
belongs_to :group, :class_name => "GForgeGroup", :foreign_key => 'group_id'
315+
has_many :releases, :class_name => "GForgeRelease", :foreign_key => 'package_id'
316+
end
317+
318+
class GForgeRelease < GForgeTable
319+
set_table_name 'frs_release'
320+
set_primary_key 'release_id'
321+
belongs_to :package, :class_name => "GForgePackage", :foreign_key => 'package_id'
322+
belongs_to :released_by, :class_name => 'GForgeUser', :foreign_key => 'released_by'
323+
has_many :files, :class_name => 'GForgeFile', :foreign_key => 'release_id'
324+
end
325+
326+
class GForgeFile < GForgeTable
327+
set_primary_key "file_id"
328+
set_table_name "frs_file"
329+
belongs_to :release, :class_name => "GForgeRelease", :foreign_key => 'release_id'
330+
#belongs_to :file_type, :foreign_key => 'type_id'
331+
#belongs_to :processor
332+
end
333+
310334
# I experimented with memoizing this method, but it actually slowed the migration down
311335
def create_or_fetch_user(gforge_user)
312336
if user = User.find_by_mail(gforge_user.email)

0 commit comments

Comments
 (0)