lib/attributes_dsl/attributes.rb
def add(name, options = {}, &coercer)
      name  = name.to_sym
      value = Attribute.new(name, options, &coercer)
      clone_with do
        @attributes  = attributes.merge(name => value)
        @transformer = nil
      end
    end
def add(name, options = {}, &coercer)
      name  = name.to_sym
      value = Attribute.new(name, options, &coercer)
      clone_with do
        @attributes  = attributes.merge(name => value)
        @transformer = nil
      end
    end
def add ( name , options = { } , & coercer ) name = name . to_sym value = Attribute . new ( name , options , coercer ) clone_with do @attributes = attributes . merge ( name => value ) @transformer = nil end end
Initializes the attribute from given arguments
 and returns new immutable collection with the attribute

 @param (see Attribute#initialize)

 @return [AttributesDSL::Attributes]
Initializes the attribute from given arguments and returns new immutable collection with the attribute