app/models/feature.rb in usman-0.1.5dev3 vs app/models/feature.rb in usman-0.1.5dev4
- old
+ new
@@ -21,11 +21,11 @@
has_many :permissions
has_many :users, through: :permissions
has_one :feature_image, :as => :imageable, :dependent => :destroy, :class_name => "Image::FeatureImage"
# Validations
- validates :name, presence: true
+ validates :name, presence: true, length: {minimum: 3, maximum: 250}
validates :status, :presence => true, :inclusion => {:in => STATUS.keys, :presence_of => :status, :message => "%{value} is not a valid status" }
# ------------------
# Class Methods
# ------------------
@@ -65,18 +65,17 @@
error_object.errors << { summary: summary, details: details }
end
return error_object
end
- # * Return full name
- # == Examples
- # >>> feature.display_name
- # => "Products"
- def display_name
- "#{name}"
- end
+ # ------------------
+ # Instance Methods
+ # ------------------
+ # Status Methods
+ # --------------
+
# * Return true if the user is not published, else false.
# == Examples
# >>> feature.published?
# => true
def published?
@@ -124,10 +123,13 @@
# => "suspended"
def suspend!
self.update_attribute(:status, DISABLED)
end
+ # Permission Methods
+ # ------------------
+
def can_be_destroyed?
return true
end
def can_be_published?
@@ -138,8 +140,19 @@
published? or disabled?
end
def can_be_removed?
published? or unpublished? or disabled?
+ end
+
+ # Other Methods
+ # -------------
+
+ # * Return full name
+ # == Examples
+ # >>> feature.display_name
+ # => "Products"
+ def display_name
+ "#{name}"
end
end
\ No newline at end of file