Froze rails gems
[depot.git] / vendor / rails / activerecord / test / models / reply.rb
diff --git a/vendor/rails/activerecord/test/models/reply.rb b/vendor/rails/activerecord/test/models/reply.rb
new file mode 100644 (file)
index 0000000..812bc1f
--- /dev/null
@@ -0,0 +1,39 @@
+require 'models/topic'
+
+class Reply < Topic
+  named_scope :base
+
+  belongs_to :topic, :foreign_key => "parent_id", :counter_cache => true
+  has_many :replies, :class_name => "SillyReply", :dependent => :destroy, :foreign_key => "parent_id"
+
+  validate :errors_on_empty_content
+  validate_on_create :title_is_wrong_create
+
+  attr_accessible :title, :author_name, :author_email_address, :written_on, :content, :last_read
+
+  def validate
+    errors.add("title", "Empty")   unless attribute_present? "title"
+  end
+
+  def errors_on_empty_content
+    errors.add("content", "Empty") unless attribute_present? "content"
+  end
+
+  def validate_on_create
+    if attribute_present?("title") && attribute_present?("content") && content == "Mismatch"
+      errors.add("title", "is Content Mismatch")
+    end
+  end
+
+  def title_is_wrong_create
+    errors.add("title", "is Wrong Create") if attribute_present?("title") && title == "Wrong Create"
+  end
+
+  def validate_on_update
+    errors.add("title", "is Wrong Update") if attribute_present?("title") && title == "Wrong Update"
+  end
+end
+
+class SillyReply < Reply
+  belongs_to :reply, :foreign_key => "parent_id", :counter_cache => :replies_count
+end