api_resource 0.5.0 → 0.5.1

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 (55) hide show
  1. data/Gemfile.lock +89 -78
  2. data/Rakefile +1 -11
  3. data/VERSION +1 -1
  4. data/api_resource.gemspec +2 -2
  5. data/coverage/assets/0.7.1/application.css +1110 -0
  6. data/coverage/assets/0.7.1/application.js +626 -0
  7. data/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  8. data/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  9. data/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  10. data/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  11. data/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  12. data/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  13. data/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  14. data/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  15. data/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  16. data/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  17. data/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  18. data/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  19. data/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  20. data/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  21. data/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  22. data/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  23. data/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  24. data/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  25. data/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  26. data/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  27. data/coverage/assets/0.7.1/favicon_green.png +0 -0
  28. data/coverage/assets/0.7.1/favicon_red.png +0 -0
  29. data/coverage/assets/0.7.1/favicon_yellow.png +0 -0
  30. data/coverage/assets/0.7.1/loading.gif +0 -0
  31. data/coverage/assets/0.7.1/magnify.png +0 -0
  32. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  33. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  34. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  35. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  36. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  37. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  38. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  39. data/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  40. data/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
  41. data/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  42. data/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
  43. data/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
  44. data/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  45. data/coverage/index.html +146 -155
  46. data/lib/api_resource/associations/resource_scope.rb +1 -1
  47. data/lib/api_resource/connection.rb +1 -1
  48. data/spec/lib/associations/association_scope_spec.rb +4 -0
  49. data/spec/lib/associations/resource_scope_spec.rb +24 -0
  50. data/spec/lib/associations_spec.rb +1 -1
  51. data/spec/lib/base_spec.rb +12 -11
  52. data/spec/lib/callbacks_spec.rb +4 -1
  53. data/spec/tmp/api_resource_test_db.sqlite +0 -0
  54. data/tmp/rspec_guard_result +1 -0
  55. metadata +44 -2
@@ -11,7 +11,7 @@ module ApiResource
11
11
  end
12
12
 
13
13
  # perform a find with a given set of query params
14
- def load(opts = {})
14
+ def load(opts = self.to_hash)
15
15
  ret = self.klass.all(:params => opts)
16
16
  @loaded = true
17
17
  ret
@@ -113,7 +113,7 @@ module ApiResource
113
113
  ActiveSupport::Notifications.instrument("request.api_resource") do |payload|
114
114
 
115
115
  # debug logging
116
- ApiResource.logger.debug("#{method.to_s.upcase} #{path}")
116
+ ApiResource.logger.debug("#{method.to_s.upcase} #{site.scheme}://#{site.host}:#{site.port}#{path}")
117
117
 
118
118
  payload[:method] = method
119
119
  payload[:request_uri] = "#{site.scheme}://#{site.host}:#{site.port}#{path}"
@@ -2,6 +2,10 @@ require 'spec_helper'
2
2
 
3
3
  describe ApiResource::Associations::AssociationScope do
4
4
 
5
+ before(:all) do
6
+ TestResource.reload_resource_definition
7
+ end
8
+
5
9
  context "#remote_path" do
6
10
 
7
11
  it "should provide access to its remote path when
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe ApiResource::Associations::ResourceScope do
4
+
5
+
6
+ context "#load" do
7
+
8
+ it "should perform the correct query" do
9
+
10
+ TestResource.expects(:all)
11
+ .with(:params => {
12
+ "birthday" => {
13
+ "date" => "2012-01-01"
14
+ }
15
+ })
16
+ .returns([])
17
+
18
+ TestResource.birthday("2012-01-01").first
19
+
20
+ end
21
+
22
+ end
23
+
24
+ end
@@ -4,7 +4,7 @@ include ApiResource
4
4
 
5
5
  describe "Associations" do
6
6
 
7
- after(:all) do
7
+ before(:each) do
8
8
  TestResource.reload_class_attributes
9
9
  end
10
10
 
@@ -5,11 +5,7 @@ include ApiResource
5
5
 
6
6
  describe "Base" do
7
7
 
8
- before(:all) do
9
- TestResource.reload_resource_definition
10
- end
11
-
12
- after(:all) do
8
+ before(:each) do
13
9
  TestResource.reload_resource_definition
14
10
  end
15
11
 
@@ -224,7 +220,7 @@ describe "Base" do
224
220
  end
225
221
 
226
222
  it "should only allow proper formats to be set" do
227
- expect {TestResource.format = :blah}.should raise_error(::ApiResource::Formats::BadFormat)
223
+ expect {TestResource.format = :blah}.to raise_error(::ApiResource::Formats::BadFormat)
228
224
  end
229
225
 
230
226
  it "should be able to set an http timeout" do
@@ -237,16 +233,17 @@ describe "Base" do
237
233
 
238
234
  describe "Serialization" do
239
235
 
240
- before(:all) do
236
+ before(:each) do
241
237
  TestResource.reload_resource_definition
242
238
  TestResource.has_many :has_many_objects
243
239
  TestResource.define_attributes :attr1, :attr2
244
- TestResource.include_root_in_json = true
245
- end
246
-
247
- before(:each) do
248
240
  TestResource.include_root_in_json = false
249
241
  end
242
+
243
+ after(:all) do
244
+ TestResource.include_root_in_json = true
245
+ end
246
+
250
247
 
251
248
  context "JSON" do
252
249
 
@@ -773,6 +770,10 @@ describe "Base" do
773
770
  end
774
771
 
775
772
  describe "Random methods" do
773
+
774
+ before(:all) do
775
+ HasOneObject.reload_resource_definition
776
+ end
776
777
 
777
778
  it "should know if it is persisted" do
778
779
  tr = TestResource.new(:name => "Ethan")
@@ -3,8 +3,11 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
3
3
  include ApiResource
4
4
 
5
5
  describe "Should put callbacks around save, create, update, and destroy by default" do
6
-
6
+
7
7
  before(:all) do
8
+
9
+ TestResource.reload_resource_definition
10
+
8
11
  # This defines all the callbacks to check and see if they are fired
9
12
  TestResource.class_eval <<-EOE, __FILE__, __LINE__ + 1
10
13
  attr_accessor :s_val, :c_val, :u_val, :d_val
Binary file
@@ -0,0 +1 @@
1
+
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.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-12-03 00:00:00.000000000 Z
14
+ date: 2012-12-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -472,6 +472,46 @@ files:
472
472
  - coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png
473
473
  - coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css
474
474
  - coverage/assets/0.5.3/stylesheet.css
475
+ - coverage/assets/0.7.1/application.css
476
+ - coverage/assets/0.7.1/application.js
477
+ - coverage/assets/0.7.1/fancybox/blank.gif
478
+ - coverage/assets/0.7.1/fancybox/fancy_close.png
479
+ - coverage/assets/0.7.1/fancybox/fancy_loading.png
480
+ - coverage/assets/0.7.1/fancybox/fancy_nav_left.png
481
+ - coverage/assets/0.7.1/fancybox/fancy_nav_right.png
482
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_e.png
483
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_n.png
484
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png
485
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png
486
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_s.png
487
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_se.png
488
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png
489
+ - coverage/assets/0.7.1/fancybox/fancy_shadow_w.png
490
+ - coverage/assets/0.7.1/fancybox/fancy_title_left.png
491
+ - coverage/assets/0.7.1/fancybox/fancy_title_main.png
492
+ - coverage/assets/0.7.1/fancybox/fancy_title_over.png
493
+ - coverage/assets/0.7.1/fancybox/fancy_title_right.png
494
+ - coverage/assets/0.7.1/fancybox/fancybox-x.png
495
+ - coverage/assets/0.7.1/fancybox/fancybox-y.png
496
+ - coverage/assets/0.7.1/fancybox/fancybox.png
497
+ - coverage/assets/0.7.1/favicon_green.png
498
+ - coverage/assets/0.7.1/favicon_red.png
499
+ - coverage/assets/0.7.1/favicon_yellow.png
500
+ - coverage/assets/0.7.1/loading.gif
501
+ - coverage/assets/0.7.1/magnify.png
502
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
503
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
504
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
505
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
506
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png
507
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
508
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
509
+ - coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
510
+ - coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png
511
+ - coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png
512
+ - coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png
513
+ - coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png
514
+ - coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png
475
515
  - coverage/index.html
476
516
  - Gemfile
477
517
  - Gemfile.lock
@@ -515,6 +555,7 @@ files:
515
555
  - README.rdoc
516
556
  - spec/lib/api_resource_spec.rb
517
557
  - spec/lib/associations/association_scope_spec.rb
558
+ - spec/lib/associations/resource_scope_spec.rb
518
559
  - spec/lib/associations_spec.rb
519
560
  - spec/lib/attributes_spec.rb
520
561
  - spec/lib/base_spec.rb
@@ -536,6 +577,7 @@ files:
536
577
  - spec/support/test_resource.rb
537
578
  - spec/tmp/api_resource_test_db.sqlite
538
579
  - spec/tmp/DIR
580
+ - tmp/rspec_guard_result
539
581
  - VERSION
540
582
  homepage: http://github.com/ejlangev/resource
541
583
  licenses: