51: def acts_as_url(attribute, options = {})
52: class_eval do
53: class << self
54: attr_accessor :acts_as_url_configuration
55: end
56:
57: define_method :acts_as_url_configuration do
58: klass = self.class
59: while klass.acts_as_url_configuration.nil?
60: klass = klass.superclass
61: end
62: klass.acts_as_url_configuration
63: end
64: end
65:
66: options[:attribute_to_urlify] = attribute
67: self.acts_as_url_configuration = Stringex::Configuration::ActsAsUrl.new(options)
68:
69: acts_as_url_configuration.adapter.create_callbacks! self
70: end