Method: Wardrobe::Attribute#initialize

Defined in:
lib/wardrobe/attribute.rb

#initialize(name, klass, defining_object, config, **options) ⇒ Attribute

Returns a new instance of Attribute.



11
12
13
14
15
16
17
18
19
20
# File 'lib/wardrobe/attribute.rb', line 11

def initialize(name, klass, defining_object, config, **options)
  @name = name
  @ivar_name = "@#{name}"
  @setter_name = "#{name}="
  @klass = validate_klass(klass)
  @options = validate_options(options, config, defining_object)
  @getters ||= build_getter_array(defining_object)
  @setters ||= build_setter_array(defining_object)
  freeze
end