module Golden::ExtendedAttrAccessor

Public Instance Methods

accessor_attributes() click to toggle source
# File lib/golden/attribute_accessors/extended_attr_accessor.rb, line 18
def accessor_attributes
  @accessor_attributes ||= attribute_accessors.dup
end
attr_accessor(*attrs) click to toggle source
Calls superclass method
# File lib/golden/attribute_accessors/extended_attr_accessor.rb, line 12
def attr_accessor(*attrs)
  self.attribute_accessors += attrs.map(&:to_sym)
  self.attribute_accessors.uniq!
  super(*attrs)
end
attributes() click to toggle source

NOTE: conflict with ActiveModel::Attributes#attributes

# File lib/golden/attribute_accessors/extended_attr_accessor.rb, line 35
def attributes
  self.class.attributes.inject({}) do |hash, attribute|
    hash.merge(attribute => public_send(attribute))
  end.with_indifferent_access
end
delete_attributes!(*attrs) click to toggle source
# File lib/golden/attribute_accessors/extended_attr_accessor.rb, line 29
def delete_attributes!(*attrs)
  attrs.each { |attr| accessor_attributes.delete(attr) }
end
merge_attributes!(*attrs) click to toggle source
# File lib/golden/attribute_accessors/extended_attr_accessor.rb, line 25
def merge_attributes!(*attrs)
  accessor_attributes.concat(attrs.map(&:to_sym)).uniq!
end
strip_attributes(attrs) click to toggle source
# File lib/golden/attribute_accessors/extended_attr_accessor.rb, line 41
def strip_attributes(attrs)
  attrs.transform_values do |value|
    value.respond_to?(:strip) ? value.strip : value
  end
end
strip_attributes!(attrs) click to toggle source
# File lib/golden/attribute_accessors/extended_attr_accessor.rb, line 47
def strip_attributes!(attrs)
  attrs.transform_values do |value|
    value.respond_to?(:strip!) ? value.strip! : value
  end
end