myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [2579] trunk/vendor/plugins/acts_as_taggable_redu


From: noreply
Subject: [myexperiment-hackers] [2579] trunk/vendor/plugins/acts_as_taggable_redux/lib/tagging.rb: added a label accessor for taggings and added validations
Date: Thu, 17 Mar 2011 09:47:12 -0400 (EDT)

Revision
2579
Author
dgc
Date
2011-03-17 09:47:11 -0400 (Thu, 17 Mar 2011)

Log Message

added a label accessor for taggings and added validations

Modified Paths

Diff

Modified: trunk/vendor/plugins/acts_as_taggable_redux/lib/tagging.rb (2578 => 2579)


--- trunk/vendor/plugins/acts_as_taggable_redux/lib/tagging.rb	2011-03-15 16:23:42 UTC (rev 2578)
+++ trunk/vendor/plugins/acts_as_taggable_redux/lib/tagging.rb	2011-03-17 13:47:11 UTC (rev 2579)
@@ -1,8 +1,19 @@
 class Tagging < ActiveRecord::Base
+
   belongs_to :tag, :counter_cache => true
   belongs_to :taggable, :polymorphic => true
   belongs_to :user
-  
+
+  validates_presence_of :tag
+  validates_presence_of :user
+  validates_presence_of :taggable
+
+  def before_validation
+    if taggable
+      return false unless taggable.respond_to?('add_tag')
+    end
+  end
+
   # returns the 'last created' Taggings
   # the maximum number of results is set by #limit#
   def self.latest(limit=10)
@@ -14,4 +25,10 @@
   def label
     return tag.name if tag
   end
+
+  def label=(label)
+    self.tag = Tag.find_by_name(label)    if self.tag.nil?
+    self.tag = Tag.create(:name => label) if self.tag.nil?
+  end
 end
+

reply via email to

[Prev in Thread] Current Thread [Next in Thread]