blob: d7cdc304075c6921a40f2bfb7774d64823da56b2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class Label < ActiveRecord::Base
validates_presence_of :name
validate :color_valid
has_and_belongs_to_many :forums
has_many :forumthreads
def to_s
name.upcase
end
private
def color_valid
color.downcase!
unless [3, 6].include? color.length
errors.add(:color, "Must be 3 or 6 characters long")
end
valid_chars = ("0".."9").to_a + ("a".."f").to_a
color.split("").each do |c|
unless valid_chars.include? c
errors.add(:color, "Must be a valid HEX code")
return
end
end
end
end
|