module MarkMapper::Plugins::Accessible

Public Instance Methods

accessible_attributes(*args) click to toggle source
# File lib/mark_mapper/plugins/accessible.rb, line 37
def accessible_attributes(*args)
  self.class.accessible_attributes(*args)
end
accessible_attributes?() click to toggle source
# File lib/mark_mapper/plugins/accessible.rb, line 41
def accessible_attributes?
  self.class.accessible_attributes?
end
attributes=(attrs={}) click to toggle source
Calls superclass method
# File lib/mark_mapper/plugins/accessible.rb, line 25
def attributes=(attrs={})
  super(filter_inaccessible_attrs(attrs))
end
update_attributes(attrs={}) click to toggle source
Calls superclass method
# File lib/mark_mapper/plugins/accessible.rb, line 29
def update_attributes(attrs={})
  super(filter_inaccessible_attrs(attrs))
end
update_attributes!(attrs={}) click to toggle source
Calls superclass method
# File lib/mark_mapper/plugins/accessible.rb, line 33
def update_attributes!(attrs={})
  super(filter_inaccessible_attrs(attrs))
end

Protected Instance Methods

attribute_inaccessible?(attribute) click to toggle source
# File lib/mark_mapper/plugins/accessible.rb, line 51
def attribute_inaccessible?(attribute)
  unless accessible_attributes.include?(attribute)
    message = "Can't mass-assign protected attribute: #{attribute}"
    MarkMapper.logger ? MarkMapper.logger.warn(message) : puts(message)

    return true
  end
end
filter_inaccessible_attrs(attrs) click to toggle source
# File lib/mark_mapper/plugins/accessible.rb, line 46
def filter_inaccessible_attrs(attrs)
  return attrs if !accessible_attributes? || attrs.blank?
  attrs.dup.delete_if { |key, val| attribute_inaccessible?(key.to_sym) }
end