Method: ActiveCollection::Pagination#to_xml

Defined in:
lib/active_collection/pagination.rb

#to_xml(options = {}) ⇒ Object



167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/active_collection/pagination.rb', line 167

def to_xml(options = {})
  collect
  options[:indent] ||= 2
  xml = options[:builder] ||= Builder::XmlMarkup.new(:indent => options[:indent])
  xml.instruct! unless options[:skip_instruct]
  xml.tag!(table_name) do
    if paginated?
      xml.total_entries(total_entries, :type => "integer")
      xml.page(current_page, :type => "integer")
      xml.per_page(per_page, :type => "integer")
      xml.total_pages(total_pages, :type => "integer")
    end
    xml.collection(:type => "array") do
      collection.each do |item|
        item.to_xml(:indent => options[:indent], :builder => xml, :skip_instruct => true)
      end
    end
  end
end