Changeset 1129
- Timestamp:
- 08/19/07 12:22:22 (1 year ago)
- Files:
-
- trunk/app/models/document.rb (modified) (2 diffs)
- trunk/app/models/subscription.rb (modified) (1 diff)
- trunk/app/models/user.rb (modified) (1 diff)
- trunk/db/migrate/022_add_subscriber_type.rb (added)
- trunk/db/schema.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/app/models/document.rb
r1126 r1129 4 4 belongs_to :author, :class_name => "User", :foreign_key => "author_id" 5 5 has_one :upload, :dependent => :destroy 6 has_many :subscribers, :through => :subscriptions6 7 7 has_many :subscriptions, :dependent => :destroy 8 8 has_many :cues, :dependent => :destroy … … 16 16 17 17 attr_protected :size, :length, :format, :file 18 19 def subscribers 20 self.subscriptions.collect { |s| s.subscriber } 21 end 18 22 19 23 def filename trunk/app/models/subscription.rb
r1126 r1129 1 1 class Subscription < ActiveRecord::Base 2 2 belongs_to :author, :class_name => "User", :foreign_key => "author_id" 3 belongs_to :subscriber, : class_name => "User", :foreign_key => "subscriber_id"3 belongs_to :subscriber, :polymorphic => true 4 4 belongs_to :document 5 5 trunk/app/models/user.rb
r1128 r1129 13 13 end 14 14 15 has_many :subscriptions, :dependent => :destroy, :order => "created_at DESC", : foreign_key => "subscriber_id" do15 has_many :subscriptions, :dependent => :destroy, :order => "created_at DESC", :as => "subscriber" do 16 16 def find_by_tag(name, options = Hash.new) 17 17 options[:offset] = 0 if options[:offset] trunk/db/schema.rb
r1108 r1129 3 3 # then regenerate this schema definition. 4 4 5 ActiveRecord::Schema.define(:version => 2 0) do5 ActiveRecord::Schema.define(:version => 22) do 6 6 7 7 create_table "casts", :force => true do |t| … … 87 87 end 88 88 89 add_index "sessions", ["session_id"], :name => " sessions_session_id_index"89 add_index "sessions", ["session_id"], :name => "index_sessions_on_session_id" 90 90 91 91 create_table "subscriptions", :force => true do |t| 92 t.column "document_id", :integer, :null => false 93 t.column "author_id", :integer, :null => false 94 t.column "subscriber_id", :integer, :null => false 95 t.column "download_count", :integer, :default => 0 96 t.column "created_at", :datetime 92 t.column "document_id", :integer, :null => false 93 t.column "author_id", :integer, :null => false 94 t.column "subscriber_id", :integer, :null => false 95 t.column "download_count", :integer, :default => 0 96 t.column "created_at", :datetime 97 t.column "subscriber_type", :string, :default => "", :null => false 97 98 end 98 99 … … 107 108 108 109 create_table "users", :force => true do |t| 109 t.column "username", :string, :default => "" , :null => false110 t.column "password", :string, :default => "" , :null => false110 t.column "username", :string, :default => "" 111 t.column "password", :string, :default => "" 111 112 t.column "name", :string, :default => "", :null => false 112 113 t.column "email", :string, :default => "", :null => false
