module UrlAttribute::Attribute::ClassMethods

Public Instance Methods

url_attribute(*attributes) click to toggle source
# File lib/url_attribute/attribute.rb, line 6
def url_attribute(*attributes)
  options = attributes.extract_options!

  serializer = options.fetch(:normalize, true) ? 
    UrlAttribute::NormalizedUrl :
    UrlAttribute::Url
    
  attributes.each do |attribute|
    serialize attribute, serializer

    define_method("#{attribute}=") do |url|
      write_attribute(attribute, serializer.load(url))
    end
  end

end