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