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.
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: