api_resource 0.6.21 → 0.6.22

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/Gemfile.lock +1 -1
  4. data/LICENSE.txt +22 -0
  5. data/README.md +16 -9
  6. data/docs/Attributes.md +64 -0
  7. data/docs/Caching.md +45 -0
  8. data/docs/GettingStarted.md +149 -0
  9. data/docs/Relationships.md +136 -0
  10. data/docs/ResourceDefinition.md +80 -0
  11. data/docs/Retrieval.md +279 -0
  12. data/docs/Serialization.md +56 -0
  13. data/lib/api_resource/associations/has_many_remote_object_proxy.rb +2 -2
  14. data/lib/api_resource/attributes.rb +16 -4
  15. data/lib/api_resource/base.rb +98 -19
  16. data/lib/api_resource/conditions/abstract_condition.rb +241 -129
  17. data/lib/api_resource/conditions/include_condition.rb +7 -1
  18. data/lib/api_resource/conditions/pagination_condition.rb +37 -0
  19. data/lib/api_resource/conditions/where_condition.rb +19 -0
  20. data/lib/api_resource/conditions.rb +18 -2
  21. data/lib/api_resource/connection.rb +27 -13
  22. data/lib/api_resource/exceptions.rb +11 -11
  23. data/lib/api_resource/finders/abstract_finder.rb +176 -95
  24. data/lib/api_resource/finders/multi_object_association_finder.rb +10 -9
  25. data/lib/api_resource/finders/resource_finder.rb +59 -49
  26. data/lib/api_resource/finders/single_finder.rb +5 -6
  27. data/lib/api_resource/finders/single_object_association_finder.rb +52 -51
  28. data/lib/api_resource/finders.rb +1 -1
  29. data/lib/api_resource/formats/file_upload_format.rb +75 -0
  30. data/lib/api_resource/formats.rb +4 -1
  31. data/lib/api_resource/response.rb +108 -0
  32. data/lib/api_resource/scopes.rb +62 -5
  33. data/lib/api_resource/serializer.rb +1 -1
  34. data/lib/api_resource/typecasters/boolean_typecaster.rb +1 -0
  35. data/lib/api_resource/typecasters/integer_typecaster.rb +1 -0
  36. data/lib/api_resource/typecasters/time_typecaster.rb +12 -4
  37. data/lib/api_resource/version.rb +1 -1
  38. data/lib/api_resource.rb +1 -0
  39. data/spec/lib/associations/has_one_remote_object_proxy_spec.rb +4 -4
  40. data/spec/lib/associations_spec.rb +3 -3
  41. data/spec/lib/attributes_spec.rb +16 -1
  42. data/spec/lib/base_spec.rb +121 -39
  43. data/spec/lib/conditions/{abstract_conditions_spec.rb → abstract_condition_spec.rb} +23 -11
  44. data/spec/lib/conditions/pagination_condition_spec.rb +88 -0
  45. data/spec/lib/finders/multi_object_association_finder_spec.rb +55 -27
  46. data/spec/lib/finders/resource_finder_spec.rb +26 -2
  47. data/spec/lib/finders/single_object_association_finder_spec.rb +14 -6
  48. data/spec/lib/finders_spec.rb +81 -81
  49. data/spec/lib/observing_spec.rb +3 -4
  50. data/spec/lib/response_spec.rb +18 -0
  51. data/spec/lib/scopes_spec.rb +25 -1
  52. data/spec/lib/typecasters/boolean_typecaster_spec.rb +1 -1
  53. data/spec/lib/typecasters/integer_typecaster_spec.rb +1 -1
  54. data/spec/lib/typecasters/time_typecaster_spec.rb +6 -0
  55. data/spec/support/files/bg-awesome.jpg +0 -0
  56. data/spec/support/mocks/test_resource_mocks.rb +26 -16
  57. data/spec/support/requests/test_resource_requests.rb +27 -23
  58. metadata +24 -4
@@ -1,35 +1,39 @@
1
1
  HashDealer.define(:new_test_object) do
2
2
  attributes({
3
- :protected => [:id, :protected_attr],
4
- :public => [
5
- :name,
6
- :age,
7
- :is_active,
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
- :active => {},
16
- :paginate => {
17
- :per_page => :opt,
18
- :current_page => :opt
18
+ active: {},
19
+ birthday: {
20
+ date: :req
19
21
  },
20
- :birthday => {
21
- :date => :req
22
+ boolean: {
23
+ a: :opt,
24
+ b: :opt
22
25
  }
26
+
23
27
  })
24
28
  associations({
25
- :has_many => {
26
- :has_many_objects => {},
27
- :has_many_service_uri => {
28
- :class_name => "HasManyObject"
29
+ has_many: {
30
+ has_many_objects: {},
31
+ has_many_service_uri: {
32
+ class_name: "HasManyObject"
29
33
  }
30
34
  },
31
- :belongs_to => {:belongs_to_object => {}, :custom_name => {:class_name => "BelongsToObject"}},
32
- :has_one => {:has_one_object => {}},
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, :parent => :test_resource) do
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{[{:service_uri => "/test_resource/1/has_many"}]}
51
- belongs_to_object({:service_uri => "/belongs_to_objects/4"})
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
- :name => ["can't be blank"],
57
- :age => ["must be a valid number"]
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.21
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: 2013-11-26 00:00:00.000000000 Z
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/abstract_conditions_spec.rb
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/abstract_conditions_spec.rb
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: