api_resource 0.6.21 → 0.6.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/Gemfile.lock +1 -1
- data/LICENSE.txt +22 -0
- data/README.md +16 -9
- data/docs/Attributes.md +64 -0
- data/docs/Caching.md +45 -0
- data/docs/GettingStarted.md +149 -0
- data/docs/Relationships.md +136 -0
- data/docs/ResourceDefinition.md +80 -0
- data/docs/Retrieval.md +279 -0
- data/docs/Serialization.md +56 -0
- data/lib/api_resource/associations/has_many_remote_object_proxy.rb +2 -2
- data/lib/api_resource/attributes.rb +16 -4
- data/lib/api_resource/base.rb +98 -19
- data/lib/api_resource/conditions/abstract_condition.rb +241 -129
- data/lib/api_resource/conditions/include_condition.rb +7 -1
- data/lib/api_resource/conditions/pagination_condition.rb +37 -0
- data/lib/api_resource/conditions/where_condition.rb +19 -0
- data/lib/api_resource/conditions.rb +18 -2
- data/lib/api_resource/connection.rb +27 -13
- data/lib/api_resource/exceptions.rb +11 -11
- data/lib/api_resource/finders/abstract_finder.rb +176 -95
- data/lib/api_resource/finders/multi_object_association_finder.rb +10 -9
- data/lib/api_resource/finders/resource_finder.rb +59 -49
- data/lib/api_resource/finders/single_finder.rb +5 -6
- data/lib/api_resource/finders/single_object_association_finder.rb +52 -51
- data/lib/api_resource/finders.rb +1 -1
- data/lib/api_resource/formats/file_upload_format.rb +75 -0
- data/lib/api_resource/formats.rb +4 -1
- data/lib/api_resource/response.rb +108 -0
- data/lib/api_resource/scopes.rb +62 -5
- data/lib/api_resource/serializer.rb +1 -1
- data/lib/api_resource/typecasters/boolean_typecaster.rb +1 -0
- data/lib/api_resource/typecasters/integer_typecaster.rb +1 -0
- data/lib/api_resource/typecasters/time_typecaster.rb +12 -4
- data/lib/api_resource/version.rb +1 -1
- data/lib/api_resource.rb +1 -0
- data/spec/lib/associations/has_one_remote_object_proxy_spec.rb +4 -4
- data/spec/lib/associations_spec.rb +3 -3
- data/spec/lib/attributes_spec.rb +16 -1
- data/spec/lib/base_spec.rb +121 -39
- data/spec/lib/conditions/{abstract_conditions_spec.rb → abstract_condition_spec.rb} +23 -11
- data/spec/lib/conditions/pagination_condition_spec.rb +88 -0
- data/spec/lib/finders/multi_object_association_finder_spec.rb +55 -27
- data/spec/lib/finders/resource_finder_spec.rb +26 -2
- data/spec/lib/finders/single_object_association_finder_spec.rb +14 -6
- data/spec/lib/finders_spec.rb +81 -81
- data/spec/lib/observing_spec.rb +3 -4
- data/spec/lib/response_spec.rb +18 -0
- data/spec/lib/scopes_spec.rb +25 -1
- data/spec/lib/typecasters/boolean_typecaster_spec.rb +1 -1
- data/spec/lib/typecasters/integer_typecaster_spec.rb +1 -1
- data/spec/lib/typecasters/time_typecaster_spec.rb +6 -0
- data/spec/support/files/bg-awesome.jpg +0 -0
- data/spec/support/mocks/test_resource_mocks.rb +26 -16
- data/spec/support/requests/test_resource_requests.rb +27 -23
- metadata +24 -4
@@ -1,35 +1,39 @@
|
|
1
1
|
HashDealer.define(:new_test_object) do
|
2
2
|
attributes({
|
3
|
-
:
|
4
|
-
|
5
|
-
:
|
6
|
-
|
7
|
-
|
3
|
+
protected: [
|
4
|
+
[:id, :integer],
|
5
|
+
:protected_attr
|
6
|
+
],
|
7
|
+
public: [
|
8
|
+
[:name, :string],
|
9
|
+
:age,
|
10
|
+
[:is_active, :boolean],
|
8
11
|
:belongs_to_object_id,
|
9
12
|
:custom_name_id,
|
10
|
-
[:bday, :date],
|
13
|
+
[:bday, :date],
|
11
14
|
[:roles, :array]
|
12
15
|
]
|
13
16
|
})
|
14
17
|
scopes({
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
18
|
-
:current_page => :opt
|
18
|
+
active: {},
|
19
|
+
birthday: {
|
20
|
+
date: :req
|
19
21
|
},
|
20
|
-
:
|
21
|
-
:
|
22
|
+
boolean: {
|
23
|
+
a: :opt,
|
24
|
+
b: :opt
|
22
25
|
}
|
26
|
+
|
23
27
|
})
|
24
28
|
associations({
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
28
|
-
:
|
29
|
+
has_many: {
|
30
|
+
has_many_objects: {},
|
31
|
+
has_many_service_uri: {
|
32
|
+
class_name: "HasManyObject"
|
29
33
|
}
|
30
34
|
},
|
31
|
-
:
|
32
|
-
:
|
35
|
+
belongs_to: {belongs_to_object: {}, custom_name: {class_name: "BelongsToObject"}},
|
36
|
+
has_one: {has_one_object: {}},
|
33
37
|
})
|
34
38
|
end
|
35
39
|
|
@@ -44,16 +48,16 @@ HashDealer.define(:test_resource_with_roles) do
|
|
44
48
|
roles([])
|
45
49
|
end
|
46
50
|
|
47
|
-
HashDealer.define(:test_resource_with_proxies, :
|
51
|
+
HashDealer.define(:test_resource_with_proxies, parent: :test_resource) do
|
48
52
|
has_one_object{HashDealer.roll(:has_one_object)}
|
49
53
|
has_many_objects{(0..4).to_a.collect{HashDealer.roll(:has_many_object)}}
|
50
|
-
has_many_service_uri{[{:
|
51
|
-
belongs_to_object({:
|
54
|
+
has_many_service_uri{[{service_uri: "/test_resource/1/has_many"}]}
|
55
|
+
belongs_to_object({service_uri: "/belongs_to_objects/4"})
|
52
56
|
end
|
53
57
|
|
54
58
|
HashDealer.define(:test_resource_errors) do
|
55
59
|
errors({
|
56
|
-
:
|
57
|
-
:
|
60
|
+
name: ["can't be blank"],
|
61
|
+
age: ["must be a valid number"]
|
58
62
|
})
|
59
63
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan Langevin
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-01-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -318,14 +318,23 @@ files:
|
|
318
318
|
- .gitignore
|
319
319
|
- .rspec
|
320
320
|
- .travis.yml
|
321
|
+
- .yardopts
|
321
322
|
- Gemfile
|
322
323
|
- Gemfile.lock
|
323
324
|
- Guardfile
|
324
325
|
- LICENSE
|
326
|
+
- LICENSE.txt
|
325
327
|
- README.md
|
326
328
|
- README.rdoc
|
327
329
|
- Rakefile
|
328
330
|
- api_resource.gemspec
|
331
|
+
- docs/Attributes.md
|
332
|
+
- docs/Caching.md
|
333
|
+
- docs/GettingStarted.md
|
334
|
+
- docs/Relationships.md
|
335
|
+
- docs/ResourceDefinition.md
|
336
|
+
- docs/Retrieval.md
|
337
|
+
- docs/Serialization.md
|
329
338
|
- lib/api_resource.rb
|
330
339
|
- lib/api_resource/association_activation.rb
|
331
340
|
- lib/api_resource/associations.rb
|
@@ -345,8 +354,10 @@ files:
|
|
345
354
|
- lib/api_resource/conditions/association_condition.rb
|
346
355
|
- lib/api_resource/conditions/include_condition.rb
|
347
356
|
- lib/api_resource/conditions/multi_object_association_condition.rb
|
357
|
+
- lib/api_resource/conditions/pagination_condition.rb
|
348
358
|
- lib/api_resource/conditions/scope_condition.rb
|
349
359
|
- lib/api_resource/conditions/single_object_association_condition.rb
|
360
|
+
- lib/api_resource/conditions/where_condition.rb
|
350
361
|
- lib/api_resource/connection.rb
|
351
362
|
- lib/api_resource/core_extensions.rb
|
352
363
|
- lib/api_resource/custom_methods.rb
|
@@ -360,6 +371,7 @@ files:
|
|
360
371
|
- lib/api_resource/finders/single_finder.rb
|
361
372
|
- lib/api_resource/finders/single_object_association_finder.rb
|
362
373
|
- lib/api_resource/formats.rb
|
374
|
+
- lib/api_resource/formats/file_upload_format.rb
|
363
375
|
- lib/api_resource/formats/json_format.rb
|
364
376
|
- lib/api_resource/formats/xml_format.rb
|
365
377
|
- lib/api_resource/local.rb
|
@@ -368,6 +380,7 @@ files:
|
|
368
380
|
- lib/api_resource/model_errors.rb
|
369
381
|
- lib/api_resource/observing.rb
|
370
382
|
- lib/api_resource/railtie.rb
|
383
|
+
- lib/api_resource/response.rb
|
371
384
|
- lib/api_resource/scopes.rb
|
372
385
|
- lib/api_resource/serializer.rb
|
373
386
|
- lib/api_resource/typecast.rb
|
@@ -390,7 +403,8 @@ files:
|
|
390
403
|
- spec/lib/attributes_spec.rb
|
391
404
|
- spec/lib/base_spec.rb
|
392
405
|
- spec/lib/callbacks_spec.rb
|
393
|
-
- spec/lib/conditions/
|
406
|
+
- spec/lib/conditions/abstract_condition_spec.rb
|
407
|
+
- spec/lib/conditions/pagination_condition_spec.rb
|
394
408
|
- spec/lib/connection_spec.rb
|
395
409
|
- spec/lib/finders/multi_object_association_finder_spec.rb
|
396
410
|
- spec/lib/finders/resource_finder_spec.rb
|
@@ -401,6 +415,7 @@ files:
|
|
401
415
|
- spec/lib/model_errors_spec.rb
|
402
416
|
- spec/lib/observing_spec.rb
|
403
417
|
- spec/lib/prefixes_spec.rb
|
418
|
+
- spec/lib/response_spec.rb
|
404
419
|
- spec/lib/scopes_spec.rb
|
405
420
|
- spec/lib/serializer_spec.rb
|
406
421
|
- spec/lib/typecast_spec.rb
|
@@ -411,6 +426,7 @@ files:
|
|
411
426
|
- spec/lib/typecasters/string_typecaster_spec.rb
|
412
427
|
- spec/lib/typecasters/time_typecaster_spec.rb
|
413
428
|
- spec/spec_helper.rb
|
429
|
+
- spec/support/files/bg-awesome.jpg
|
414
430
|
- spec/support/mocks/association_mocks.rb
|
415
431
|
- spec/support/mocks/error_resource_mocks.rb
|
416
432
|
- spec/support/mocks/prefix_model_mocks.rb
|
@@ -453,7 +469,8 @@ test_files:
|
|
453
469
|
- spec/lib/attributes_spec.rb
|
454
470
|
- spec/lib/base_spec.rb
|
455
471
|
- spec/lib/callbacks_spec.rb
|
456
|
-
- spec/lib/conditions/
|
472
|
+
- spec/lib/conditions/abstract_condition_spec.rb
|
473
|
+
- spec/lib/conditions/pagination_condition_spec.rb
|
457
474
|
- spec/lib/connection_spec.rb
|
458
475
|
- spec/lib/finders/multi_object_association_finder_spec.rb
|
459
476
|
- spec/lib/finders/resource_finder_spec.rb
|
@@ -464,6 +481,7 @@ test_files:
|
|
464
481
|
- spec/lib/model_errors_spec.rb
|
465
482
|
- spec/lib/observing_spec.rb
|
466
483
|
- spec/lib/prefixes_spec.rb
|
484
|
+
- spec/lib/response_spec.rb
|
467
485
|
- spec/lib/scopes_spec.rb
|
468
486
|
- spec/lib/serializer_spec.rb
|
469
487
|
- spec/lib/typecast_spec.rb
|
@@ -474,6 +492,7 @@ test_files:
|
|
474
492
|
- spec/lib/typecasters/string_typecaster_spec.rb
|
475
493
|
- spec/lib/typecasters/time_typecaster_spec.rb
|
476
494
|
- spec/spec_helper.rb
|
495
|
+
- spec/support/files/bg-awesome.jpg
|
477
496
|
- spec/support/mocks/association_mocks.rb
|
478
497
|
- spec/support/mocks/error_resource_mocks.rb
|
479
498
|
- spec/support/mocks/prefix_model_mocks.rb
|
@@ -483,3 +502,4 @@ test_files:
|
|
483
502
|
- spec/support/requests/prefix_model_requests.rb
|
484
503
|
- spec/support/requests/test_resource_requests.rb
|
485
504
|
- spec/support/test_resource.rb
|
505
|
+
has_rdoc:
|