lib/mongo_mapper/plugins/accessible.rb in mongo_mapper-0.9.0 vs lib/mongo_mapper/plugins/accessible.rb in mongo_mapper-0.9.1
- old
+ new
@@ -1,23 +1,19 @@
module MongoMapper
module Plugins
module Accessible
extend ActiveSupport::Concern
+ included do
+ class_attribute :accessible_attributes
+ end
+
module ClassMethods
def attr_accessible(*attrs)
raise AccessibleOrProtected.new(name) if try(:protected_attributes?)
- self.write_inheritable_attribute(:attr_accessible, Set.new(attrs) + (accessible_attributes || []))
+ self.accessible_attributes = Set.new(attrs) + (accessible_attributes || [])
end
-
- def accessible_attributes?
- !accessible_attributes.nil?
- end
-
- def accessible_attributes
- self.read_inheritable_attribute(:attr_accessible)
- end
end
module InstanceMethods
def assign(attrs={})
super(filter_inaccessible_attrs(attrs))
@@ -27,13 +23,9 @@
super(filter_inaccessible_attrs(attrs))
end
def update_attributes!(attrs={})
super(filter_inaccessible_attrs(attrs))
- end
-
- def accessible_attributes
- self.class.accessible_attributes
end
protected
def filter_inaccessible_attrs(attrs)
return attrs if accessible_attributes.blank? || attrs.blank?
\ No newline at end of file