diff --git a/lib/activesp/list.rb b/lib/activesp/list.rb
index 000a08f..ac805de 100644
--- a/lib/activesp/list.rb
+++ b/lib/activesp/list.rb
@@ -203,6 +203,7 @@ def create_folder!(parameters = {})
def changes_since_token(token, options = {})
options = options.dup
no_preload = options.delete(:no_preload)
+ row_limit = (r_l = options.delete(:row_limit)) ? {'rowLimit' => r_l.to_s} : {}
options.empty? or raise ArgumentError, "unknown options #{options.keys.map { |k| k.inspect }.join(", ")}"
if no_preload
@@ -213,9 +214,9 @@ def changes_since_token(token, options = {})
view_fields = Builder::XmlMarkup.new.ViewFields
end
if token
- result = call("Lists", "GetListItemChangesSinceToken", "listName" => @id, 'queryOptions' => '', 'changeToken' => token, 'viewFields' => view_fields)
+ result = call("Lists", "GetListItemChangesSinceToken", {"listName" => @id, 'queryOptions' => '', 'changeToken' => token, 'viewFields' => view_fields}.merge(row_limit))
else
- result = call("Lists", "GetListItemChangesSinceToken", "listName" => @id, 'queryOptions' => '', 'viewFields' => view_fields)
+ result = call("Lists", "GetListItemChangesSinceToken", {"listName" => @id, 'queryOptions' => '', 'viewFields' => view_fields}.merge(row_limit))
end
updates = []
result.xpath("//z:row", NS).each do |row|
@@ -506,8 +507,10 @@ def permissions
end
cache :permissions, :dup => :always
- def get_list_items(view_fields, query_options, query)
- result = call("Lists", "GetListItems", { "listName" => @id, "viewFields" => view_fields, "queryOptions" => query_options }.merge(query))
+ def get_list_items(view_fields, query_options, query, options = {})
+ options = options.dup
+ row_limit = (r_l = options.delete(:row_limit)) ? {'rowLimit' => r_l.to_s} : {}
+ result = call("Lists", "GetListItems", {"listName" => @id, "viewFields" => view_fields, "queryOptions" => query_options}.merge(query).merge(row_limit))
result.xpath("//z:row", NS).each do |row|
yield clean_item_attributes(row.attributes)
end