odata 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 132bf64833bd5c6888ca24a33d5526cb8c689607
4
- data.tar.gz: 323694626b51ea8db8736a85af8a20b77069c73a
3
+ metadata.gz: c8fdea1fa3181e24c43f5f2121d48d6685df3780
4
+ data.tar.gz: 4eeda811bf149b107b23a540162041c025c9647d
5
5
  SHA512:
6
- metadata.gz: 458ff34118c913fa55776d7b6fc514a60e9f130955b36138ad4aa68373213443c503b8e87915ff5e4151d5268d1fbe79910b120c42cd24feb8f6cca3f95dfe96
7
- data.tar.gz: 4ec2cb74a93adf716c139c3c4af606509282cdfd83ab01737c3b9e426cbb18e95f177b55a05d50eea9a411accfe88e51259b24083a4de0683ac4c05f1b7db8d4
6
+ metadata.gz: 436b465b08302628869a881377446d3dcbef41d788c5be2052d4fa9741503d7198959010ab956e0a81685a15435e3e3f96375e27cdf4e959ee34824b0476c41a
7
+ data.tar.gz: 8498c3425a1b3999857c863dc211d5f5c0aaceb69598cd025456cb15c9c7b485e065524e6e86182c8dfbfe4645ead9e33a0e7d7e2d3ec2a7b6e16d4e8426ca9f
@@ -19,6 +19,12 @@ module OData
19
19
  @value = new_value.nil? ? nil : encode_value(new_value.to_s)
20
20
  end
21
21
 
22
+ # Value to be used in URLs.
23
+ # @return [String]
24
+ def url_value
25
+ "'#{value}'"
26
+ end
27
+
22
28
  # The OData type name
23
29
  def type
24
30
  'Edm.String'
@@ -14,7 +14,8 @@ module OData
14
14
  # Instantiates an OData::Query::Criteria for the named property.
15
15
  # @param property [to_s]
16
16
  def [](property)
17
- OData::Query::Criteria.new(property: property)
17
+ property_instance = @entity_set.new_entity.send(:properties)[property.to_s]
18
+ OData::Query::Criteria.new(property: property_instance)
18
19
  end
19
20
 
20
21
  # Adds a filter criteria to the query.
@@ -62,20 +62,18 @@ module OData
62
62
 
63
63
  # Returns criteria as query-ready string.
64
64
  def to_s
65
- "#{property} #{operator} #{value_for_string}"
65
+ "#{property.name} #{operator} #{property.url_value}"
66
66
  end
67
67
 
68
68
  private
69
69
 
70
70
  def set_operator_and_value(operator, value)
71
+ property.value = value
72
+
71
73
  @operator = operator
72
74
  @value = value
73
75
  self
74
76
  end
75
-
76
- def value_for_string
77
- value.is_a?(String) ? "#{value}" : value
78
- end
79
77
  end
80
78
  end
81
79
  end
@@ -190,7 +190,9 @@ module OData
190
190
 
191
191
  def default_options
192
192
  {
193
- typhoeus: {}
193
+ typhoeus: {
194
+ headers: { 'DataServiceVersion' => '3.0' }
195
+ }
194
196
  }
195
197
  end
196
198
 
@@ -1,3 +1,3 @@
1
1
  module OData
2
- VERSION = '0.5.7'
2
+ VERSION = '0.5.8'
3
3
  end
@@ -9,6 +9,8 @@ http_interactions:
9
9
  headers:
10
10
  User-Agent:
11
11
  - Typhoeus - https://github.com/typhoeus/typhoeus
12
+ DataServiceVersion:
13
+ - '3.0'
12
14
  response:
13
15
  status:
14
16
  code: 200
@@ -39,9 +41,9 @@ http_interactions:
39
41
  Access-Control-Expose-Headers:
40
42
  - DataServiceVersion
41
43
  Set-Cookie:
42
- - ARRAffinity=a9aad020fb0149d28d0efdb1e8bab24ad3481a904c8fb94abced8813c01ee265;Path=/;Domain=services.odata.org
44
+ - ARRAffinity=cb44902b614a02a3a0dc1bccc3de360d89b180ff17e14b11fd9b289a8de75827;Path=/;Domain=services.odata.org
43
45
  Date:
44
- - Sat, 19 Jul 2014 02:59:53 GMT
46
+ - Mon, 29 Sep 2014 04:25:33 GMT
45
47
  body:
46
48
  encoding: UTF-8
47
49
  string: <?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"><edmx:DataServices
@@ -160,7 +162,7 @@ http_interactions:
160
162
  http_version: '1.1'
161
163
  adapter_metadata:
162
164
  effective_url: http://services.odata.org/OData/OData.svc/$metadata
163
- recorded_at: Sat, 19 Jul 2014 02:59:53 GMT
165
+ recorded_at: Mon, 29 Sep 2014 04:25:33 GMT
164
166
  - request:
165
167
  method: get
166
168
  uri: http://services.odata.org/OData/OData.svc/Products
@@ -170,6 +172,8 @@ http_interactions:
170
172
  headers:
171
173
  User-Agent:
172
174
  - Typhoeus - https://github.com/typhoeus/typhoeus
175
+ DataServiceVersion:
176
+ - '3.0'
173
177
  response:
174
178
  status:
175
179
  code: 200
@@ -200,16 +204,16 @@ http_interactions:
200
204
  Access-Control-Expose-Headers:
201
205
  - DataServiceVersion
202
206
  Set-Cookie:
203
- - ARRAffinity=a9aad020fb0149d28d0efdb1e8bab24ad3481a904c8fb94abced8813c01ee265;Path=/;Domain=services.odata.org
207
+ - ARRAffinity=cb44902b614a02a3a0dc1bccc3de360d89b180ff17e14b11fd9b289a8de75827;Path=/;Domain=services.odata.org
204
208
  Date:
205
- - Sun, 20 Jul 2014 21:01:21 GMT
209
+ - Mon, 29 Sep 2014 04:25:33 GMT
206
210
  body:
207
211
  encoding: UTF-8
208
212
  string: <?xml version="1.0" encoding="utf-8"?><feed xml:base="http://services.odata.org/OData/OData.svc/"
209
213
  xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
210
214
  xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss"
211
215
  xmlns:gml="http://www.opengis.net/gml"><id>http://services.odata.org/OData/OData.svc/Products</id><title
212
- type="text">Products</title><updated>2014-07-20T21:01:22Z</updated><link rel="self"
216
+ type="text">Products</title><updated>2014-09-29T04:25:33Z</updated><link rel="self"
213
217
  title="Products" href="Products" /><entry><id>http://services.odata.org/OData/OData.svc/Products(0)</id><category
214
218
  term="ODataDemo.Product" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"
215
219
  /><link rel="edit" title="Product" href="Products(0)" /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Categories"
@@ -218,7 +222,7 @@ http_interactions:
218
222
  type="application/atom+xml;type=entry" title="Supplier" href="Products(0)/Supplier"
219
223
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
220
224
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(0)/ProductDetail"
221
- /><title type="text">Bread</title><summary type="text">Whole grain bread</summary><updated>2014-07-20T21:01:22Z</updated><author><name
225
+ /><title type="text">Bread</title><summary type="text">Whole grain bread</summary><updated>2014-09-29T04:25:33Z</updated><author><name
222
226
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
223
227
  type="application/xml" title="Categories" href="Products(0)/$links/Categories"
224
228
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -235,7 +239,7 @@ http_interactions:
235
239
  type="application/atom+xml;type=entry" title="Supplier" href="Products(1)/Supplier"
236
240
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
237
241
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(1)/ProductDetail"
238
- /><title type="text">Milk</title><summary type="text">Low fat milk</summary><updated>2014-07-20T21:01:22Z</updated><author><name
242
+ /><title type="text">Milk</title><summary type="text">Low fat milk</summary><updated>2014-09-29T04:25:33Z</updated><author><name
239
243
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
240
244
  type="application/xml" title="Categories" href="Products(1)/$links/Categories"
241
245
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -253,7 +257,7 @@ http_interactions:
253
257
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
254
258
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(2)/ProductDetail"
255
259
  /><title type="text">Vint soda</title><summary type="text">Americana Variety
256
- - Mix of 6 flavors</summary><updated>2014-07-20T21:01:22Z</updated><author><name
260
+ - Mix of 6 flavors</summary><updated>2014-09-29T04:25:33Z</updated><author><name
257
261
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
258
262
  type="application/xml" title="Categories" href="Products(2)/$links/Categories"
259
263
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -271,7 +275,7 @@ http_interactions:
271
275
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
272
276
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(3)/ProductDetail"
273
277
  /><title type="text">Havina Cola</title><summary type="text">The Original
274
- Key Lime Cola</summary><updated>2014-07-20T21:01:22Z</updated><author><name
278
+ Key Lime Cola</summary><updated>2014-09-29T04:25:33Z</updated><author><name
275
279
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
276
280
  type="application/xml" title="Categories" href="Products(3)/$links/Categories"
277
281
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -290,7 +294,7 @@ http_interactions:
290
294
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
291
295
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(4)/ProductDetail"
292
296
  /><title type="text">Fruit Punch</title><summary type="text">Mango flavor,
293
- 8.3 Ounce Cans (Pack of 24)</summary><updated>2014-07-20T21:01:22Z</updated><author><name
297
+ 8.3 Ounce Cans (Pack of 24)</summary><updated>2014-09-29T04:25:33Z</updated><author><name
294
298
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
295
299
  type="application/xml" title="Categories" href="Products(4)/$links/Categories"
296
300
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -308,7 +312,7 @@ http_interactions:
308
312
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
309
313
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(5)/ProductDetail"
310
314
  /><title type="text">Cranberry Juice</title><summary type="text">16-Ounce
311
- Plastic Bottles (Pack of 12)</summary><updated>2014-07-20T21:01:22Z</updated><author><name
315
+ Plastic Bottles (Pack of 12)</summary><updated>2014-09-29T04:25:33Z</updated><author><name
312
316
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
313
317
  type="application/xml" title="Categories" href="Products(5)/$links/Categories"
314
318
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -326,7 +330,7 @@ http_interactions:
326
330
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
327
331
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(6)/ProductDetail"
328
332
  /><title type="text">Pink Lemonade</title><summary type="text">36 Ounce Cans
329
- (Pack of 3)</summary><updated>2014-07-20T21:01:22Z</updated><author><name
333
+ (Pack of 3)</summary><updated>2014-09-29T04:25:33Z</updated><author><name
330
334
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
331
335
  type="application/xml" title="Categories" href="Products(6)/$links/Categories"
332
336
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -344,7 +348,7 @@ http_interactions:
344
348
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
345
349
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(7)/ProductDetail"
346
350
  /><title type="text">DVD Player</title><summary type="text">1080P Upconversion
347
- DVD Player</summary><updated>2014-07-20T21:01:22Z</updated><author><name /></author><link
351
+ DVD Player</summary><updated>2014-09-29T04:25:33Z</updated><author><name /></author><link
348
352
  rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
349
353
  type="application/xml" title="Categories" href="Products(7)/$links/Categories"
350
354
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -362,7 +366,7 @@ http_interactions:
362
366
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ProductDetail"
363
367
  type="application/atom+xml;type=entry" title="ProductDetail" href="Products(8)/ProductDetail"
364
368
  /><title type="text">LCD HDTV</title><summary type="text">42 inch 1080p LCD
365
- with Built-in Blu-ray Disc Player</summary><updated>2014-07-20T21:01:22Z</updated><author><name
369
+ with Built-in Blu-ray Disc Player</summary><updated>2014-09-29T04:25:33Z</updated><author><name
366
370
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
367
371
  type="application/xml" title="Categories" href="Products(8)/$links/Categories"
368
372
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -383,7 +387,7 @@ http_interactions:
383
387
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Advertisement"
384
388
  type="application/atom+xml;type=entry" title="Advertisement" href="Products(9)/ODataDemo.FeaturedProduct/Advertisement"
385
389
  /><title type="text">Lemonade</title><summary type="text">Classic, refreshing
386
- lemonade (Single bottle)</summary><updated>2014-07-20T21:01:22Z</updated><author><name
390
+ lemonade (Single bottle)</summary><updated>2014-09-29T04:25:33Z</updated><author><name
387
391
  /></author><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
388
392
  type="application/xml" title="Categories" href="Products(9)/ODataDemo.FeaturedProduct/$links/Categories"
389
393
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -406,7 +410,7 @@ http_interactions:
406
410
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Advertisement"
407
411
  type="application/atom+xml;type=entry" title="Advertisement" href="Products(10)/ODataDemo.FeaturedProduct/Advertisement"
408
412
  /><title type="text">Coffee</title><summary type="text">Bulk size can of instant
409
- coffee</summary><updated>2014-07-20T21:01:22Z</updated><author><name /></author><link
413
+ coffee</summary><updated>2014-09-29T04:25:33Z</updated><author><name /></author><link
410
414
  rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Categories"
411
415
  type="application/xml" title="Categories" href="Products(10)/ODataDemo.FeaturedProduct/$links/Categories"
412
416
  /><link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/relatedlinks/Supplier"
@@ -421,5 +425,5 @@ http_interactions:
421
425
  http_version: '1.1'
422
426
  adapter_metadata:
423
427
  effective_url: http://services.odata.org/OData/OData.svc/Products
424
- recorded_at: Sun, 20 Jul 2014 21:01:22 GMT
428
+ recorded_at: Mon, 29 Sep 2014 04:25:33 GMT
425
429
  recorded_with: VCR 2.9.2
@@ -1,10 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe OData::Query::Criteria do
4
- let(:subject) { OData::Query::Criteria.new(property: :Name) }
4
+ let(:string_property) { OData::Properties::String.new(:Name, nil) }
5
+ let(:integer_property) { OData::Properties::Integer.new(:Name, nil) }
6
+ let(:subject) { OData::Query::Criteria.new(property: string_property) }
5
7
 
6
8
  it { expect(subject).to respond_to(:property) }
7
- it { expect(subject.property).to eq(:Name)}
9
+ it { expect(subject.property).to eq(string_property)}
8
10
 
9
11
  it { expect(subject).to respond_to(:operator) }
10
12
  it { expect(subject).to respond_to(:value) }
@@ -35,6 +37,8 @@ describe OData::Query::Criteria do
35
37
  end
36
38
 
37
39
  it '#gt sets up criteria properly' do
40
+ subject = OData::Query::Criteria.new(property: integer_property)
41
+
38
42
  criteria = subject.gt(5)
39
43
  expect(criteria).to eq(subject)
40
44
  expect(criteria.operator).to eq(:gt)
@@ -43,6 +47,8 @@ describe OData::Query::Criteria do
43
47
  end
44
48
 
45
49
  it '#ge sets up criteria properly' do
50
+ subject = OData::Query::Criteria.new(property: integer_property)
51
+
46
52
  criteria = subject.ge(5)
47
53
  expect(criteria).to eq(subject)
48
54
  expect(criteria.operator).to eq(:ge)
@@ -51,6 +57,8 @@ describe OData::Query::Criteria do
51
57
  end
52
58
 
53
59
  it '#lt sets up criteria properly' do
60
+ subject = OData::Query::Criteria.new(property: integer_property)
61
+
54
62
  criteria = subject.lt(5)
55
63
  expect(criteria).to eq(subject)
56
64
  expect(criteria.operator).to eq(:lt)
@@ -59,6 +67,8 @@ describe OData::Query::Criteria do
59
67
  end
60
68
 
61
69
  it '#le sets up criteria properly' do
70
+ subject = OData::Query::Criteria.new(property: integer_property)
71
+
62
72
  criteria = subject.le(5)
63
73
  expect(criteria).to eq(subject)
64
74
  expect(criteria.operator).to eq(:le)
@@ -18,7 +18,7 @@ describe OData::Query, vcr: {cassette_name: 'query_specs'} do
18
18
  it { expect(subject).to respond_to(:[]) }
19
19
  describe '#[]' do
20
20
  it { expect(subject[:Name]).to be_a(OData::Query::Criteria) }
21
- it { expect(subject[:Name].property).to eq(:Name) }
21
+ it { expect(subject[:Name].property).to be_a(OData::Property) }
22
22
  end
23
23
 
24
24
  it { expect(subject).to respond_to(:where) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: odata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Thompson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-26 00:00:00.000000000 Z
11
+ date: 2014-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler