From 62148f22303d0c78d01e908ebdca160345935cbc Mon Sep 17 00:00:00 2001 From: Alex Legler Date: Sun, 15 Mar 2009 11:59:30 +0100 Subject: Adding Bug model --- app/models/bug.rb | 13 +++++++++ app/models/revision.rb | 2 +- db/migrate/20090315105049_create_bugs.rb | 16 ++++++++++++ db/schema.rb | 45 +++++++++++++++++++++++++++++++- test/fixtures/bugs.yml | 7 +++++ test/unit/bug_test.rb | 8 ++++++ 6 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 app/models/bug.rb create mode 100644 db/migrate/20090315105049_create_bugs.rb create mode 100644 test/fixtures/bugs.yml create mode 100644 test/unit/bug_test.rb diff --git a/app/models/bug.rb b/app/models/bug.rb new file mode 100644 index 0000000..07b70e0 --- /dev/null +++ b/app/models/bug.rb @@ -0,0 +1,13 @@ +class Bug < ActiveRecord::Base + belongs_to :revision + + # Returns the Gentoo Bugzilla URI for the bug. + # Set +secure+ to false to get a HTTP instead of a HTTPS URI + def bug_url(secure = true) + if secure + "https://bugs.gentoo.org/show_bug.cgi?id=#{self.bug_id}" + else + "http://bugs.gentoo.org/show_bug.cgi?id=#{self.bug_id}" + end + end +end diff --git a/app/models/revision.rb b/app/models/revision.rb index 1937007..500ee9e 100644 --- a/app/models/revision.rb +++ b/app/models/revision.rb @@ -1,6 +1,6 @@ class Revision < ActiveRecord::Base belongs_to :Glsa, :class_name => "Glsa", :foreign_key => "glsa_id" has_one :Glsa, :class_name => "Glsa", :foreign_key => "glsa_id" - + has_many :bugs has_many :references end diff --git a/db/migrate/20090315105049_create_bugs.rb b/db/migrate/20090315105049_create_bugs.rb new file mode 100644 index 0000000..133428a --- /dev/null +++ b/db/migrate/20090315105049_create_bugs.rb @@ -0,0 +1,16 @@ +class CreateBugs < ActiveRecord::Migration + def self.up + create_table :bugs do |t| + t.integer :bug_id + t.text :title + t.integer :revision_id + t.timestamps + end + + add_index :bugs, :revision_id + end + + def self.down + drop_table :bugs + end +end diff --git a/db/schema.rb b/db/schema.rb index 854d356..83d516c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -9,7 +9,17 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20090314194257) do +ActiveRecord::Schema.define(:version => 20090315105326) do + + create_table "bugs", :force => true do |t| + t.integer "bug_id" + t.text "title" + t.integer "revision_id" + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "bugs", ["revision_id"], :name => "index_bugs_on_revision_id" create_table "glsas", :force => true do |t| t.string "glsa_id" @@ -48,6 +58,39 @@ ActiveRecord::Schema.define(:version => 20090314194257) do add_index "permissions_users", ["permission_id"], :name => "permissions_users_permissions" add_index "permissions_users", ["user_id", "permission_id"], :name => "index_permissions_users_on_user_id_and_permission_id" + create_table "references", :force => true do |t| + t.integer "revision_id" + t.text "title" + t.text "url" + t.string "type" + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "references", ["revision_id"], :name => "index_references_on_revision_id" + + create_table "revisions", :force => true do |t| + t.integer "glsa_id" + t.integer "revid" + t.string "title" + t.string "access" + t.string "product" + t.string "category" + t.string "severity" + t.text "synopsis" + t.text "background" + t.text "description" + t.text "impact" + t.text "workaround" + t.text "resolution" + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "revisions", ["glsa_id"], :name => "index_revisions_on_glsa_id" + add_index "revisions", ["revid"], :name => "index_revisions_on_revid" + add_index "revisions", ["title"], :name => "index_revisions_on_title" + create_table "users", :force => true do |t| t.string "login" t.string "name" diff --git a/test/fixtures/bugs.yml b/test/fixtures/bugs.yml new file mode 100644 index 0000000..5bf0293 --- /dev/null +++ b/test/fixtures/bugs.yml @@ -0,0 +1,7 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html + +# one: +# column: value +# +# two: +# column: value diff --git a/test/unit/bug_test.rb b/test/unit/bug_test.rb new file mode 100644 index 0000000..14af505 --- /dev/null +++ b/test/unit/bug_test.rb @@ -0,0 +1,8 @@ +require 'test_helper' + +class BugTest < ActiveSupport::TestCase + # Replace this with your real tests. + test "the truth" do + assert true + end +end -- cgit v1.2.3-65-gdbad