module DYI::AttributeCreator

@since 0.0.0

Private Instance Methods

attr_coordinate(*names) click to toggle source
# File lib/dyi/type.rb, line 62
def attr_coordinate(*names)
  names.each do |name|
    define_method(name.to_sym) {| |
      instance_variable_get("@#{name}")
    }
    define_method("#{name}=".to_sym) {|coordinate|
      instance_variable_set("@#{name}", Coordinate.new(coordinate))
    }
  end
end
attr_font(*names) click to toggle source
# File lib/dyi/type.rb, line 29
def attr_font(*names)
  names.each do |name|
    define_method(name.to_sym) {| |
      instance_variable_get("@#{name}") || Font.new
    }
    define_method("#{name}=".to_sym) {|font|
      instance_variable_set("@#{name}", Font.new_or_nil(font))
    }
  end
end
attr_length(*names) click to toggle source
# File lib/dyi/type.rb, line 51
def attr_length(*names)
  names.each do |name|
    define_method(name.to_sym) {| |
      instance_variable_get("@#{name}")
    }
    define_method("#{name}=".to_sym) {|length|
      instance_variable_set("@#{name}", Length.new(length))
    }
  end
end
attr_painting(*names) click to toggle source
# File lib/dyi/type.rb, line 40
def attr_painting(*names)
  names.each do |name|
    define_method(name.to_sym) {| |
      instance_variable_get("@#{name}") || Painting.new
    }
    define_method("#{name}=".to_sym) {|painting|
      instance_variable_set("@#{name}", Painting.new_or_nil(painting))
    }
  end
end