ruby_odata 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. data/.gitignore +3 -2
  2. data/.travis.yml +2 -1
  3. data/.yardopts +6 -0
  4. data/CHANGELOG.md +102 -0
  5. data/Guardfile +14 -0
  6. data/README.md +285 -0
  7. data/Rakefile +0 -7
  8. data/features/basic_auth.feature +3 -2
  9. data/features/batch_request.feature +7 -6
  10. data/features/cassettes/basic_auth_protected_resource.yml +57 -0
  11. data/features/cassettes/batch_request_additions.yml +69 -0
  12. data/features/cassettes/batch_request_deletes.yml +69 -0
  13. data/features/cassettes/batch_request_updates.yml +69 -0
  14. data/features/cassettes/clean_database_for_testing.yml +46 -0
  15. data/features/cassettes/cucumber_tags/basic_auth.yml +297 -0
  16. data/features/cassettes/cucumber_tags/batch_request.yml +1459 -0
  17. data/features/cassettes/cucumber_tags/complex_types.yml +326 -0
  18. data/features/cassettes/cucumber_tags/error_handling.yml +64 -0
  19. data/features/cassettes/cucumber_tags/query_builder.yml +2025 -0
  20. data/features/cassettes/cucumber_tags/service.yml +234 -0
  21. data/features/cassettes/cucumber_tags/service_manage.yml +937 -0
  22. data/features/cassettes/cucumber_tags/service_methods.yml +647 -0
  23. data/features/cassettes/cucumber_tags/ssl.yml +203 -0
  24. data/features/cassettes/cucumber_tags/type_conversion.yml +337 -0
  25. data/features/cassettes/service_manage_additions.yml +65 -0
  26. data/features/cassettes/service_manage_deletions.yml +58 -0
  27. data/features/cassettes/service_manage_deletions_2.yml +58 -0
  28. data/features/cassettes/unsecured_metadata.yml +89 -0
  29. data/features/complex_types.feature +4 -3
  30. data/features/error_handling.feature +14 -0
  31. data/features/query_builder.feature +30 -9
  32. data/features/service.feature +4 -3
  33. data/features/service_manage.feature +6 -5
  34. data/features/service_methods.feature +3 -2
  35. data/features/ssl.feature +8 -8
  36. data/features/step_definitions/service_steps.rb +38 -24
  37. data/features/support/env.rb +1 -3
  38. data/features/support/hooks.rb +3 -2
  39. data/features/support/pickle.rb +29 -18
  40. data/features/support/vcr.rb +24 -0
  41. data/features/type_conversion.feature +16 -17
  42. data/lib/ruby_odata/association.rb +7 -6
  43. data/lib/ruby_odata/class_builder.rb +6 -7
  44. data/lib/ruby_odata/exceptions.rb +4 -0
  45. data/lib/ruby_odata/helpers.rb +11 -0
  46. data/lib/ruby_odata/operation.rb +5 -6
  47. data/lib/ruby_odata/property_metadata.rb +4 -5
  48. data/lib/ruby_odata/query_builder.rb +98 -63
  49. data/lib/ruby_odata/service.rb +118 -103
  50. data/lib/ruby_odata/version.rb +3 -1
  51. data/lib/ruby_odata.rb +20 -18
  52. data/ruby_odata.gemspec +16 -12
  53. data/spec/query_builder_spec.rb +78 -14
  54. data/spec/service_spec.rb +83 -83
  55. data/spec/support/sample_service_matcher.rb +15 -0
  56. data/test/RubyODataService/RubyODataService/App_Data/.gitkeep +0 -0
  57. data/test/blueprints.rb +15 -9
  58. data/test/usage_samples/querying.rb +5 -1
  59. data/test/usage_samples/sample_data.rb +1 -3
  60. metadata +213 -39
  61. data/CHANGELOG.rdoc +0 -88
  62. data/README.rdoc +0 -259
data/test/blueprints.rb CHANGED
@@ -1,22 +1,28 @@
1
- Sham.define do
2
- category_name { |i| "Category #{i}" }
3
- product_name { |i| "Widget #{i}" }
4
- price(:unique => false) { ['5.00', '10.00', '20.00', '15.00' , '25.00', '7.50'].rand }
1
+ class AuditFields
2
+ extend Machinist::Machinable
3
+ end
4
+
5
+ class Product
6
+ extend Machinist::Machinable
7
+ end
8
+
9
+ class Category
10
+ extend Machinist::Machinable
5
11
  end
6
12
 
7
13
  AuditFields.blueprint do
8
- CreatedBy "Machinist"
14
+ CreatedBy { "Machinist" }
9
15
  end
10
16
 
11
17
  Product.blueprint do
12
- Name { Sham.product_name }
13
- Description "Test Widget"
14
- Price { Sham.price }
18
+ Name { "Widget #{sn}" }
19
+ Description { "Test Widget" }
20
+ Price { ["10.25", "25.00", "50.00", "75.50", "100.00"].sample }
15
21
  Category { Category.make }
16
22
  AuditFields { AuditFields.make }
17
23
  end
18
24
 
19
25
  Category.blueprint do
20
- Name { Sham.category_name }
26
+ Name { "Category #{sn}" }
21
27
  AuditFields { AuditFields.make }
22
28
  end
@@ -8,7 +8,11 @@ ns_svc = OData::Service.new "http://#{WEBSERVER}:#{HTTP_PORT_NUMBER}/SampleServi
8
8
  puts "Querying for a list of data"
9
9
  svc.Categories
10
10
  categories = svc.execute
11
- puts categories.to_json
11
+ puts categories.to_json
12
+
13
+ puts "Querying for a simple count"
14
+ svc.Categories.count
15
+ puts svc.execute
12
16
 
13
17
  puts "\n\nQuerying for a single result #execute"
14
18
  svc.Categories(1)
@@ -1,8 +1,6 @@
1
1
  require File.expand_path('../../../lib/ruby_odata', __FILE__)
2
2
  require File.expand_path('../../../features/support/constants', __FILE__)
3
- require 'machinist/object'
4
- require 'sham'
5
- require 'faker'
3
+ require "machinist"
6
4
 
7
5
  svc = OData::Service.new "http://#{WEBSERVER}:#{HTTP_PORT_NUMBER}/SampleService/RubyOData.svc"
8
6
  svc.CleanDatabaseForTesting #=> Comment this line out if you don't want to clear your test database
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_odata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,43 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-08 00:00:00.000000000Z
12
+ date: 2012-08-25 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: i18n
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 0.6.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 0.6.0
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: activesupport
16
- requirement: &70223407772000 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
17
33
  none: false
18
34
  requirements:
19
35
  - - ! '>='
20
36
  - !ruby/object:Gem::Version
21
- version: 2.3.5
37
+ version: 3.0.0
22
38
  type: :runtime
23
39
  prerelease: false
24
- version_requirements: *70223407772000
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 3.0.0
25
46
  - !ruby/object:Gem::Dependency
26
47
  name: rest-client
27
- requirement: &70223407771500 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
28
49
  none: false
29
50
  requirements:
30
51
  - - ! '>='
@@ -32,10 +53,15 @@ dependencies:
32
53
  version: 1.5.1
33
54
  type: :runtime
34
55
  prerelease: false
35
- version_requirements: *70223407771500
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.1
36
62
  - !ruby/object:Gem::Dependency
37
63
  name: nokogiri
38
- requirement: &70223407771040 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
39
65
  none: false
40
66
  requirements:
41
67
  - - ! '>='
@@ -43,10 +69,15 @@ dependencies:
43
69
  version: 1.4.2
44
70
  type: :runtime
45
71
  prerelease: false
46
- version_requirements: *70223407771040
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.4.2
47
78
  - !ruby/object:Gem::Dependency
48
79
  name: backports
49
- requirement: &70223407770580 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
50
81
  none: false
51
82
  requirements:
52
83
  - - ~>
@@ -54,84 +85,172 @@ dependencies:
54
85
  version: 2.3.0
55
86
  type: :runtime
56
87
  prerelease: false
57
- version_requirements: *70223407770580
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 2.3.0
58
94
  - !ruby/object:Gem::Dependency
59
95
  name: rake
60
- requirement: &70223407770120 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
61
97
  none: false
62
98
  requirements:
63
- - - ~>
99
+ - - '='
64
100
  - !ruby/object:Gem::Version
65
- version: 0.8.7
101
+ version: 0.9.2
66
102
  type: :development
67
103
  prerelease: false
68
- version_requirements: *70223407770120
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 0.9.2
69
110
  - !ruby/object:Gem::Dependency
70
111
  name: rspec
71
- requirement: &70223407769660 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
72
113
  none: false
73
114
  requirements:
74
115
  - - ~>
75
116
  - !ruby/object:Gem::Version
76
- version: 2.5.0
117
+ version: 2.11.0
77
118
  type: :development
78
119
  prerelease: false
79
- version_requirements: *70223407769660
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 2.11.0
80
126
  - !ruby/object:Gem::Dependency
81
127
  name: cucumber
82
- requirement: &70223407769200 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
83
129
  none: false
84
130
  requirements:
85
131
  - - ~>
86
132
  - !ruby/object:Gem::Version
87
- version: 0.10.2
133
+ version: 1.2.1
88
134
  type: :development
89
135
  prerelease: false
90
- version_requirements: *70223407769200
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 1.2.1
91
142
  - !ruby/object:Gem::Dependency
92
143
  name: pickle
93
- requirement: &70223407785100 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
94
145
  none: false
95
146
  requirements:
96
147
  - - ~>
97
148
  - !ruby/object:Gem::Version
98
- version: 0.4.10
149
+ version: 0.4.11
99
150
  type: :development
100
151
  prerelease: false
101
- version_requirements: *70223407785100
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: 0.4.11
102
158
  - !ruby/object:Gem::Dependency
103
- name: faker
104
- requirement: &70223407784640 !ruby/object:Gem::Requirement
159
+ name: machinist
160
+ requirement: !ruby/object:Gem::Requirement
105
161
  none: false
106
162
  requirements:
107
163
  - - ~>
108
164
  - !ruby/object:Gem::Version
109
- version: 0.9.5
165
+ version: '2.0'
110
166
  type: :development
111
167
  prerelease: false
112
- version_requirements: *70223407784640
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: '2.0'
113
174
  - !ruby/object:Gem::Dependency
114
- name: machinist
115
- requirement: &70223407784180 !ruby/object:Gem::Requirement
175
+ name: webmock
176
+ requirement: !ruby/object:Gem::Requirement
116
177
  none: false
117
178
  requirements:
118
179
  - - ~>
119
180
  - !ruby/object:Gem::Version
120
- version: 1.0.6
181
+ version: 1.8.8
121
182
  type: :development
122
183
  prerelease: false
123
- version_requirements: *70223407784180
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: 1.8.8
124
190
  - !ruby/object:Gem::Dependency
125
- name: webmock
126
- requirement: &70223407783720 !ruby/object:Gem::Requirement
191
+ name: guard
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ~>
196
+ - !ruby/object:Gem::Version
197
+ version: 1.3.0
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: 1.3.0
206
+ - !ruby/object:Gem::Dependency
207
+ name: guard-rspec
208
+ requirement: !ruby/object:Gem::Requirement
127
209
  none: false
128
210
  requirements:
129
211
  - - ~>
130
212
  - !ruby/object:Gem::Version
131
- version: 1.6.2
213
+ version: 1.2.1
132
214
  type: :development
133
215
  prerelease: false
134
- version_requirements: *70223407783720
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ version: 1.2.1
222
+ - !ruby/object:Gem::Dependency
223
+ name: guard-cucumber
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ~>
228
+ - !ruby/object:Gem::Version
229
+ version: 1.2.0
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ~>
236
+ - !ruby/object:Gem::Version
237
+ version: 1.2.0
238
+ - !ruby/object:Gem::Dependency
239
+ name: vcr
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ~>
244
+ - !ruby/object:Gem::Version
245
+ version: 2.2.4
246
+ type: :development
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ~>
252
+ - !ruby/object:Gem::Version
253
+ version: 2.2.4
135
254
  description: An OData Client Library for Ruby. Use this to interact with OData services
136
255
  email:
137
256
  - damien.white@visoftinc.com
@@ -142,15 +261,37 @@ files:
142
261
  - .gitignore
143
262
  - .rspec
144
263
  - .travis.yml
145
- - CHANGELOG.rdoc
264
+ - .yardopts
265
+ - CHANGELOG.md
146
266
  - Gemfile
267
+ - Guardfile
147
268
  - LICENSE
148
- - README.rdoc
269
+ - README.md
149
270
  - Rakefile
150
271
  - config/cucumber.yml
151
272
  - features/basic_auth.feature
152
273
  - features/batch_request.feature
274
+ - features/cassettes/basic_auth_protected_resource.yml
275
+ - features/cassettes/batch_request_additions.yml
276
+ - features/cassettes/batch_request_deletes.yml
277
+ - features/cassettes/batch_request_updates.yml
278
+ - features/cassettes/clean_database_for_testing.yml
279
+ - features/cassettes/cucumber_tags/basic_auth.yml
280
+ - features/cassettes/cucumber_tags/batch_request.yml
281
+ - features/cassettes/cucumber_tags/complex_types.yml
282
+ - features/cassettes/cucumber_tags/error_handling.yml
283
+ - features/cassettes/cucumber_tags/query_builder.yml
284
+ - features/cassettes/cucumber_tags/service.yml
285
+ - features/cassettes/cucumber_tags/service_manage.yml
286
+ - features/cassettes/cucumber_tags/service_methods.yml
287
+ - features/cassettes/cucumber_tags/ssl.yml
288
+ - features/cassettes/cucumber_tags/type_conversion.yml
289
+ - features/cassettes/service_manage_additions.yml
290
+ - features/cassettes/service_manage_deletions.yml
291
+ - features/cassettes/service_manage_deletions_2.yml
292
+ - features/cassettes/unsecured_metadata.yml
153
293
  - features/complex_types.feature
294
+ - features/error_handling.feature
154
295
  - features/query_builder.feature
155
296
  - features/service.feature
156
297
  - features/service_manage.feature
@@ -163,10 +304,12 @@ files:
163
304
  - features/support/env.rb
164
305
  - features/support/hooks.rb
165
306
  - features/support/pickle.rb
307
+ - features/support/vcr.rb
166
308
  - features/type_conversion.feature
167
309
  - lib/ruby_odata.rb
168
310
  - lib/ruby_odata/association.rb
169
311
  - lib/ruby_odata/class_builder.rb
312
+ - lib/ruby_odata/exceptions.rb
170
313
  - lib/ruby_odata/helpers.rb
171
314
  - lib/ruby_odata/operation.rb
172
315
  - lib/ruby_odata/property_metadata.rb
@@ -206,7 +349,9 @@ files:
206
349
  - spec/spec_helper.rb
207
350
  - spec/support/describe_private.rb
208
351
  - spec/support/element_helpers.rb
352
+ - spec/support/sample_service_matcher.rb
209
353
  - test/RubyODataService/RubyODataService.sln
354
+ - test/RubyODataService/RubyODataService/App_Data/.gitkeep
210
355
  - test/RubyODataService/RubyODataService/App_Start/EntityFramework.SqlServerCompact.cs
211
356
  - test/RubyODataService/RubyODataService/BasicAuth/RubyOData.svc
212
357
  - test/RubyODataService/RubyODataService/BasicAuth/RubyOData.svc.cs
@@ -325,22 +470,48 @@ required_ruby_version: !ruby/object:Gem::Requirement
325
470
  - - ! '>='
326
471
  - !ruby/object:Gem::Version
327
472
  version: '0'
473
+ segments:
474
+ - 0
475
+ hash: 737449873321699372
328
476
  required_rubygems_version: !ruby/object:Gem::Requirement
329
477
  none: false
330
478
  requirements:
331
479
  - - ! '>='
332
480
  - !ruby/object:Gem::Version
333
481
  version: '0'
482
+ segments:
483
+ - 0
484
+ hash: 737449873321699372
334
485
  requirements: []
335
486
  rubyforge_project: ruby-odata
336
- rubygems_version: 1.8.6
487
+ rubygems_version: 1.8.24
337
488
  signing_key:
338
489
  specification_version: 3
339
490
  summary: Ruby consumer of OData services.
340
491
  test_files:
341
492
  - features/basic_auth.feature
342
493
  - features/batch_request.feature
494
+ - features/cassettes/basic_auth_protected_resource.yml
495
+ - features/cassettes/batch_request_additions.yml
496
+ - features/cassettes/batch_request_deletes.yml
497
+ - features/cassettes/batch_request_updates.yml
498
+ - features/cassettes/clean_database_for_testing.yml
499
+ - features/cassettes/cucumber_tags/basic_auth.yml
500
+ - features/cassettes/cucumber_tags/batch_request.yml
501
+ - features/cassettes/cucumber_tags/complex_types.yml
502
+ - features/cassettes/cucumber_tags/error_handling.yml
503
+ - features/cassettes/cucumber_tags/query_builder.yml
504
+ - features/cassettes/cucumber_tags/service.yml
505
+ - features/cassettes/cucumber_tags/service_manage.yml
506
+ - features/cassettes/cucumber_tags/service_methods.yml
507
+ - features/cassettes/cucumber_tags/ssl.yml
508
+ - features/cassettes/cucumber_tags/type_conversion.yml
509
+ - features/cassettes/service_manage_additions.yml
510
+ - features/cassettes/service_manage_deletions.yml
511
+ - features/cassettes/service_manage_deletions_2.yml
512
+ - features/cassettes/unsecured_metadata.yml
343
513
  - features/complex_types.feature
514
+ - features/error_handling.feature
344
515
  - features/query_builder.feature
345
516
  - features/service.feature
346
517
  - features/service_manage.feature
@@ -353,6 +524,7 @@ test_files:
353
524
  - features/support/env.rb
354
525
  - features/support/hooks.rb
355
526
  - features/support/pickle.rb
527
+ - features/support/vcr.rb
356
528
  - features/type_conversion.feature
357
529
  - spec/association_spec.rb
358
530
  - spec/class_builder_spec.rb
@@ -386,7 +558,9 @@ test_files:
386
558
  - spec/spec_helper.rb
387
559
  - spec/support/describe_private.rb
388
560
  - spec/support/element_helpers.rb
561
+ - spec/support/sample_service_matcher.rb
389
562
  - test/RubyODataService/RubyODataService.sln
563
+ - test/RubyODataService/RubyODataService/App_Data/.gitkeep
390
564
  - test/RubyODataService/RubyODataService/App_Start/EntityFramework.SqlServerCompact.cs
391
565
  - test/RubyODataService/RubyODataService/BasicAuth/RubyOData.svc
392
566
  - test/RubyODataService/RubyODataService/BasicAuth/RubyOData.svc.cs
data/CHANGELOG.rdoc DELETED
@@ -1,88 +0,0 @@
1
- = ruby_odata Change Log
2
-
3
- === 0.0.1
4
- * New Features
5
- * Basic CRUD Operations
6
- * Query Enhancement: Filters
7
- * Query Enhancement: Expands
8
-
9
- === 0.0.2
10
- * New Features
11
- * Query Enhancement: Order By (both desc and asc)
12
-
13
- === 0.0.3
14
- * Bug Fixes
15
- * Rearranged code to match the gem name. Things were mismatched between odata_ruby and ruby_odata.
16
-
17
- === 0.0.4
18
- * New Features
19
- * Query Enhancement: skip
20
- * Query Enhancement: top
21
- * Ability to perform paging using skip and top together
22
- * Updated README with examples for order_by, skip, and top
23
-
24
- === 0.0.5
25
- * Bug Fixes
26
- * Works with Ruby 1.9.1
27
- * Works with ActiveSupport 3.0.0.beta4
28
-
29
- === 0.0.6
30
- * New Features
31
- * Ability to batch saves (Adds, Updates, Deletes); this will help save on network chatter
32
-
33
- === 0.0.7
34
- * New Features
35
- * Complex Types are now supported
36
- * Support for Edm.Int16, Edm.Int32, Edm.Int64
37
- * Support for Edm.Decimal
38
- * Support for Edm.DateTime
39
-
40
- === 0.0.8
41
- * New Features
42
- * Basic HTTP Authentication (thanks J.D. Mullin)
43
- * Modified cucumber tests to setup the test database so you no longer need to copy them yourself
44
- * Support for nullable elements returned from the Data Service (m:null ="true")
45
- * Bug Fixes
46
- * ActiveSupport 2.3.x (tested 2.3.11) and 3.0.x (tested 3.0.4) are now supported
47
- * Works with Ruby 1.9.2
48
-
49
- === 0.0.9
50
- * New Features
51
- * Support for self-signed SSL certificates (thanks J.D. Mullin)
52
- * Refactored building classes/collections to only make one call to the service
53
- * Added support for a WCF service with lowercase entities (reported by Klaus Rohe)
54
- * Bug Fixes
55
- * Fixed issue with passing a service URL with a trailing slash
56
- * Other
57
- * Cleaned up testing by adding a default task to the Rakefile that runs RSpec and Cucumber
58
-
59
- === 0.0.10
60
- * New Features
61
- * Added the ability to pass additional parameters that are appended to the query string for requests
62
- * Added initial support for feed customizations (SyndicationTitle and SyndicationSummary)
63
- * Enhanced ruby_odata's awareness of classes based on the metadata instead of relying on results that are returned
64
- * Bug Fixes
65
- * Fixed issues with nested collections (eager loading)
66
- * Handled ArgumentError on the Time.parse for older versions of Ruby; used DateTime.parse instead if Time.parse fails
67
- * Removed the camelize method call when building the root URL for collections (Reported by mkoegel, issue #3 on github)
68
- * 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)
69
- * Other
70
- * Change HTTP port to 8989 since 8888 conflicts with the Intel AppStore
71
- * Refactored service step for HTTP calls where the service address is defined within the step making it easier to make changes in the future.
72
-
73
- === 0.1.0
74
- * **BREAKING CHANGES**
75
- * Previously the ruby_odata +Service.execute+ and +Service.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 the +first+ method on the result set
76
- * New Features
77
- * Support for partial results (thanks arienmalec)
78
- * Added support for single layer inheritance (thanks to http://odetocode.com/Blogs/scott/archive/2010/07/11/odata-and-ruby.aspx)
79
- * Added support for querying links (see https://github.com/visoft/ruby_odata/issues/10)
80
- * Added support for adding links between entities (add_link)
81
- * Added support for lazy loading
82
- * Added a convenience method (+first+) for accessing a single result by id
83
- * Added basic reflection of the entity model via the ruby_odata service
84
- * Added the ability to create ruby_odata models in a specified namespace to prevent conflicts with local models
85
- * Added the ability to call function imports exposed by the WCF Data Service
86
- * Other
87
- * Changed the test project (for Cucumber integration tests) to use SQL Compact 4, Entity Framework 4.1, and WCF Data Services October 2011 CTP
88
- * Added {Pickle}[https://github.com/ianwhite/pickle] integration to simplify Cucumber step definitions