28: def acts_as_url(attribute, options = {})
29: cattr_accessor :attribute_to_urlify
30: cattr_accessor :scope_for_url
31: cattr_accessor :url_attribute
32: cattr_accessor :only_when_blank
33: cattr_accessor :duplicate_count_separator
34:
35: if options[:sync_url]
36: before_validation :ensure_unique_url
37: else
38:
39: before_validation_on_create(:ensure_unique_url)
40: end
41:
42: self.attribute_to_urlify = attribute
43: self.scope_for_url = options[:scope]
44: self.url_attribute = options[:url_attribute] || "url"
45: self.only_when_blank = options[:only_when_blank] || false
46: self.duplicate_count_separator = options[:duplicate_count_separator] || "-"
47: end