31,32c31,33 < Array(options[:methods]).inject([]) do |method_attributes, name| < method_attributes << name if @record.respond_to?(name.to_s) --- > Array(options[:methods]).inject([]) do |method_attributes, name_and_arguments| > name_and_arguments = [name_and_arguments] unless name_and_arguments.is_a?(Array) > method_attributes << name_and_arguments if @record.respond_to?(name_and_arguments[0].to_s) 75c76 < serializable_names.each { |name| serializable_record[name] = @record.send(name) } --- > serializable_names.each { |name, *args| serializable_record[name] = @record.send(name, *args) } 76a78 > scoped_records = opts.delete(:records) 78c80 < serializable_record[association] = records.collect { |r| self.class.new(r, opts).serializable_record } --- > serializable_record[association] = records.collect { |r| self.class.new(r, opts).serializable_record if scoped_records.nil? or scoped_records.include?(r) }.compact 80c82 < serializable_record[association] = self.class.new(records, opts).serializable_record --- > serializable_record[association] = self.class.new(records, opts).serializable_record if scoped_records.nil? or scoped_records.include?(records)