@@ -24,14 +24,17 @@ class Bookmark < Content
2424 belongs_to :owner , class_name : 'User'
2525
2626 validates :title , presence : { message : "Le titre est obligatoire" } ,
27- length : { maximum : 100 , message : "Le titre est trop long" }
27+ length : { maximum : 160 , message : "Le titre est trop long" } ,
28+ uniqueness : { message : "Un lien avec le même titre a déjà été proposé" }
2829 validates :link , presence : { message : "Vous ne pouvez pas poster un lien vide" } ,
2930 http_url : { message : "Le lien n'est pas valide" } ,
30- length : { maximum : 255 , message : "Le lien est trop long" }
31+ length : { maximum : 255 , message : "Le lien est trop long" } ,
32+ uniqueness : { message : "Cette adresse de lien a déjà été proposée" }
33+ validates :lang , inclusion : { in : Lang . valid_codes , allow_nil : false , message : "La langue du lien doit être définie" }
3134
3235 def link = ( raw )
3336 raw . strip!
34- return write_attribute :url , nil if raw . blank?
37+ return write_attribute :link , nil if raw . blank?
3538 uri = URI . parse ( raw )
3639 # Default to HTTP link if neither scheme nor host is found
3740 if uri . scheme . blank? && uri . host . blank?
@@ -44,6 +47,11 @@ def link=(raw)
4447 write_attribute :link , raw
4548 end
4649
50+ def title = ( raw )
51+ raw . strip!
52+ write_attribute :title , raw
53+ end
54+
4755 def create_node ( attrs = { } )
4856 attrs [ :cc_licensed ] = false
4957 super
0 commit comments