ruby_odata 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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