Module: UrlAttribute::Attribute::ClassMethods

Defined in:
lib/url_attribute/attribute.rb

Instance Method Summary collapse

Instance Method Details

#url_attribute(*attributes) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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