- New Features
- Basic CRUD Operations
- Query Enhancement: Filters
- Query Enhancement: Expands
- New Features
- Query Enhancement: Order By (both desc and asc)
- Bug Fixes
- Rearranged code to match the gem name. Things were mismatched between odata_ruby and ruby_odata.
- New Features
- Query Enhancement: skip
- Query Enhancement: top
- Ability to perform paging using skip and top together
- Updated README with examples for order_by, skip, and top
- Bug Fixes
- Works with Ruby 1.9.1
- Works with ActiveSupport 3.0.0.beta4
- New Features
- Ability to batch saves (Adds, Updates, Deletes); this will help save on network chatter
- New Features
- Complex Types are now supported
- Support for Edm.Int16, Edm.Int32, Edm.Int64
- Support for Edm.Decimal
- Support for Edm.DateTime
- New Features
- Basic HTTP Authentication (thanks J.D. Mullin)
- Modified cucumber tests to setup the test database so you no longer need to copy them yourself
- Support for nullable elements returned from the Data Service (m:null ="true")
- Bug Fixes
- ActiveSupport 2.3.x (tested 2.3.11) and 3.0.x (tested 3.0.4) are now supported
- Works with Ruby 1.9.2
- New Features
- Support for self-signed SSL certificates (thanks J.D. Mullin)
- Refactored building classes/collections to only make one call to the service
- Added support for a WCF service with lowercase entities (reported by Klaus Rohe)
- Bug Fixes
- Fixed issue with passing a service URL with a trailing slash
- Other
- Cleaned up testing by adding a default task to the Rakefile that runs RSpec and Cucumber
- New Features
- Added the ability to pass additional parameters that are appended to the query string for requests
- Added initial support for feed customizations (SyndicationTitle and SyndicationSummary)
- Enhanced ruby_odata's awareness of classes based on the metadata instead of relying on results that are returned
- Bug Fixes
- Fixed issues with nested collections (eager loading)
- Handled ArgumentError on the Time.parse for older versions of Ruby; used DateTime.parse instead if Time.parse fails
- Removed the camelize method call when building the root URL for collections (Reported by mkoegel, issue #3 on github)
- Handled building results (classes) where the category element is missing but there is a title element instead. (Reported by mkoegel, issue #3 on github in the comments)
- Other
- Change HTTP port to 8989 since 8888 conflicts with the Intel AppStore
- Refactored service step for HTTP calls where the service address is defined within the step making it easier to make changes in the future.
- BREAKING CHANGES
- Previously the ruby_odata
Service.execute
andService.save_changes
used to return a single entity object if there was only one result returned. Now, the results are always an Enumerable (except in the case of boolean results like a delete), so if you just need one result, use thefirst
method on the result set
- Previously the ruby_odata
- New Features
- Support for partial results (thanks arienmalec)
- Added support for single layer inheritance (thanks to Scott)
- Added support for querying links (see Issue 10)
- Added support for adding links between entities (add_link)
- Added support for lazy loading
- Added a convenience method (
first
) for accessing a single result by id - Added basic reflection of the entity model via the ruby_odata service
- Added the ability to create ruby_odata models in a specified namespace to prevent conflicts with local models
- Added the ability to call function imports exposed by the WCF Data Service
- Other
- Changed the test project (for Cucumber integration tests) to use SQL Compact 4, Entity Framework 4.1, and WCF Data Services October 2011 CTP
- Added Pickle integration to simplify Cucumber step definitions
-
New Features
- Added the
count
method (toQueryBuilder
) for returning a count from an OData service - Added the
navigate
method (toQueryBuilder
) in order to handle filtering of children
- Added the
-
Bug Fixes
- Escaped IDs in queries where the ID is a string with spaces
-
Other
-
New Features
- Added support for nokogiri >= 1.5.1 while maintaining backwards compatibility for >=1.4.2
- Backports requirement is now for >= 2.3.0
- Added the ability to pass in :rest_options to the service constructor within the options hash.
-
Bug Fixes
- Prevented
svc.load_property
from mutating the obj's metadata uri (thanks @sillylogger)
- Prevented
-
Bug Fixes
- Persists the additional_params for partial calls (thanks @levelboy)
-
Other
- Specified v2.3.4 of the addressable gem since there was a bug when testing ruby_odata against Ruby 1.8.7
-
New Features
-
Bug Fixes
- Fixed issue with building a collection of complex types (issue 26)
- A collection of complex types is now returned as an array (issue 26)
- Fixed issue with building a child collection of native types (issue 27)
- Corrected problem with addressable not being referenced
- Fixed issue with building nested expands (issue 24, thanks @joshuap)
- Edm.Int64 is now formatted as a string, according to odata json spec (issue 29, thanks @sigmunau)
- Fixed formatting of collections for json output (issue 29, thanks @sigmunau)
- Fixed handling exceptions that are not http exceptions (issue 29, thanks @sigmunau)
- Fixed parsing of null strings (issue 29, thanks @sigmunau)
-
Other
-
BREAKING CHANGES
- Previously if the OData service threw an exception, ruby_odata threw a generic error with the message that would start with "HTTP Error XXX: ". Instead of the message, the Error that is thrown is an
OData::ServiceError
. It has anhttp_code
property on it, thus, the message is now just the text from the OData error without the "HTTP Error XXX: " prefix. This could potentially cause you problems if you were sniffing error messages for the HTTP error code.
- Previously if the OData service threw an exception, ruby_odata threw a generic error with the message that would start with "HTTP Error XXX: ". Instead of the message, the Error that is thrown is an
-
New Features
- Added the ability to query the OData service using the $select system query option
- Support for Int64 keys (issue 39 and issue 40, thanks @nasali)
- New property
is_key
added toPropertyMetadata
in order to determine the key properties for the class (found in the service'sclass_metadata
collection)
-
BREAKING CHANGES
- Ruby 1.8.7 support has been dropped, thus the backports gem has been removed from the ruby_odata (thanks @betelgeuse) issue 45 and 46
-
Bug Fixes
- Check that message is present before including it in the exception. Thanks @rgould
- Fixed problem with
FunctionImport
, OData dropped them:HttpMethod
attribute, see http://www.odata.org/2011/10/actions-in-odata/
-
Other
- Changed license to MIT and added it to the gemspec