improved api censoring

This commit is contained in:
albert
2011-09-10 15:58:04 -04:00
parent b55893d96d
commit a7846731d5
3 changed files with 52 additions and 10 deletions

View File

@@ -0,0 +1,30 @@
module Danbooru
module Extensions
module ActiveRecordApi
extend ActiveSupport::Concern
def serializable_hash(options = {})
options ||= {}
options[:except] ||= []
options[:except] += hidden_attributes
super(options)
end
def to_xml(options = {}, &block)
# to_xml ignores serializable_hash
options ||= {}
options[:except] ||= []
options[:except] += hidden_attributes
super(options, &block)
end
def hidden_attributes
[:uploader_ip_addr, :updater_ip_addr, :creator_ip_addr, :ip_addr]
end
end
end
end
class ActiveRecord::Base
include Danbooru::Extensions::ActiveRecordApi
end

View File

@@ -44,11 +44,6 @@ module Danbooru
"case #{table_name}.id " + conditions.join(" ") + " end"
end
def serializable_hash(options = {})
options = {:except => [:uploader_ip_addr, :updater_ip_addr, :creator_ip_addr, :ip_addr]}.merge(options ||= {})
super(options)
end
end
end
end