README.md in json_api_client-1.5.3 vs README.md in json_api_client-1.6.0

- old
+ new

@@ -194,10 +194,27 @@ # makes request to /articles/1?include=author,comments.author results = Article.includes(:author, :comments => :author).find(1) # should not have to make additional requests to the server authors = results.map(&:author) + +# makes POST request to /articles?include=author,comments.author +article = Article.new(title: 'New one').request_includes(:author, :comments => :author) +article.save + +# makes PATCH request to /articles/1?include=author,comments.author +article = Article.find(1) +article.title = 'Changed' +article.request_includes(:author, :comments => :author) +article.save + +# request includes will be cleared if response is successful +# to avoid this `keep_request_params` class attribute can be used +Article.keep_request_params = true + +# to clear request_includes use +article.reset_request_includes! ``` ## Sparse Fieldsets [See specification](http://jsonapi.org/format/#fetching-sparse-fieldsets) @@ -215,10 +232,28 @@ # => raise NoMethodError # or you can use fieldsets from multiple resources # makes request to /articles?fields[articles]=title,body&fields[comments]=tag article = Article.select("title", "body",{comments: 'tag'}).first + +# makes POST request to /articles?fields[articles]=title,body&fields[comments]=tag +article = Article.new(title: 'New one').request_select(:title, :body, comments: 'tag') +article.save + +# makes PATCH request to /articles/1?fields[articles]=title,body&fields[comments]=tag +article = Article.find(1) +article.title = 'Changed' +article.request_select(:title, :body, comments: 'tag') +article.save + +# request fields will be cleared if response is successful +# to avoid this `keep_request_params` class attribute can be used +Article.keep_request_params = true + +# to clear request fields use +article.reset_request_select!(:comments) # to clear for comments +article.reset_request_select! # to clear for all fields ``` ## Sorting [See specification](http://jsonapi.org/format/#fetching-sorting) @@ -244,9 +279,13 @@ # makes request to /articles?page=2&per_page=30 articles = Article.page(2).per(30).to_a # also makes request to /articles?page=2&per_page=30 articles = Article.paginate(page: 2, per_page: 30).to_a + +# keep in mind that page number can be nil - in that case default number will be applied +# also makes request to /articles?page=1&per_page=30 +articles = Article.paginate(page: nil, per_page: 30).to_a ``` *Note: The mapping of pagination parameters is done by the `query_builder` which is [customizable](#custom-paginator).* ### Browsing