api_resource 0.5.1 → 0.6.0

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 (163) hide show
  1. data/.document +5 -0
  2. data/.gitignore +55 -0
  3. data/.rspec +8 -0
  4. data/.travis.yml +9 -0
  5. data/Gemfile +3 -36
  6. data/Gemfile.lock +37 -57
  7. data/Guardfile +7 -1
  8. data/{LICENSE.txt → LICENSE} +4 -2
  9. data/README.md +29 -0
  10. data/README.rdoc +5 -1
  11. data/Rakefile +5 -36
  12. data/api_resource.gemspec +40 -104
  13. data/lib/api_resource.rb +4 -1
  14. data/lib/api_resource/associations.rb +30 -14
  15. data/lib/api_resource/associations/association_proxy.rb +97 -0
  16. data/lib/api_resource/associations/belongs_to_remote_object_proxy.rb +0 -1
  17. data/lib/api_resource/associations/has_many_remote_object_proxy.rb +0 -1
  18. data/lib/api_resource/associations/has_one_remote_object_proxy.rb +7 -4
  19. data/lib/api_resource/associations/multi_object_proxy.rb +11 -16
  20. data/lib/api_resource/associations/single_object_proxy.rb +8 -6
  21. data/lib/api_resource/attributes.rb +29 -41
  22. data/lib/api_resource/base.rb +31 -102
  23. data/lib/api_resource/conditions.rb +36 -0
  24. data/lib/api_resource/conditions/abstract_condition.rb +112 -0
  25. data/lib/api_resource/conditions/association_condition.rb +18 -0
  26. data/lib/api_resource/conditions/include_condition.rb +16 -0
  27. data/lib/api_resource/conditions/multi_object_association_condition.rb +17 -0
  28. data/lib/api_resource/conditions/scope_condition.rb +11 -0
  29. data/lib/api_resource/conditions/single_object_association_condition.rb +19 -0
  30. data/lib/api_resource/connection.rb +18 -12
  31. data/lib/api_resource/finders.rb +122 -0
  32. data/lib/api_resource/finders/abstract_finder.rb +89 -0
  33. data/lib/api_resource/finders/multi_object_association_finder.rb +39 -0
  34. data/lib/api_resource/finders/resource_finder.rb +33 -0
  35. data/lib/api_resource/finders/single_object_association_finder.rb +40 -0
  36. data/lib/api_resource/observing.rb +19 -3
  37. data/lib/api_resource/scopes.rb +3 -3
  38. data/lib/api_resource/typecast.rb +85 -0
  39. data/lib/api_resource/typecasters/array_typecaster.rb +19 -0
  40. data/lib/api_resource/typecasters/boolean_typecaster.rb +22 -0
  41. data/lib/api_resource/typecasters/date_typecaster.rb +35 -0
  42. data/lib/api_resource/typecasters/float_typecaster.rb +22 -0
  43. data/lib/api_resource/typecasters/integer_typecaster.rb +22 -0
  44. data/lib/api_resource/typecasters/string_typecaster.rb +19 -0
  45. data/lib/api_resource/typecasters/time_typecaster.rb +44 -0
  46. data/lib/api_resource/version.rb +3 -0
  47. data/spec/lib/api_resource_spec.rb +6 -0
  48. data/spec/lib/associations/association_scope_spec.rb +1 -1
  49. data/spec/lib/associations_spec.rb +17 -50
  50. data/spec/lib/base_spec.rb +22 -0
  51. data/spec/lib/conditions/abstract_conditions_spec.rb +78 -0
  52. data/spec/lib/connection_spec.rb +19 -0
  53. data/spec/lib/finders/multi_object_association_finder_spec.rb +43 -0
  54. data/spec/lib/finders/resource_finder_spec.rb +89 -0
  55. data/spec/lib/finders/single_object_association_finder_spec.rb +43 -0
  56. data/spec/lib/observing_spec.rb +96 -0
  57. data/spec/lib/typecast_spec.rb +174 -0
  58. data/spec/lib/typecasters/boolean_typecaster_spec.rb +33 -0
  59. data/spec/lib/typecasters/date_typecaster_spec.rb +62 -0
  60. data/spec/lib/typecasters/float_typecaster_spec.rb +39 -0
  61. data/spec/lib/typecasters/integer_typecaster_spec.rb +40 -0
  62. data/spec/lib/typecasters/string_typecaster_spec.rb +28 -0
  63. data/spec/lib/typecasters/time_typecaster_spec.rb +65 -0
  64. data/spec/spec_helper.rb +0 -1
  65. metadata +134 -194
  66. data/VERSION +0 -1
  67. data/coverage/assets/0.5.3/app.js +0 -88
  68. data/coverage/assets/0.5.3/fancybox/blank.gif +0 -0
  69. data/coverage/assets/0.5.3/fancybox/fancy_close.png +0 -0
  70. data/coverage/assets/0.5.3/fancybox/fancy_loading.png +0 -0
  71. data/coverage/assets/0.5.3/fancybox/fancy_nav_left.png +0 -0
  72. data/coverage/assets/0.5.3/fancybox/fancy_nav_right.png +0 -0
  73. data/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png +0 -0
  74. data/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png +0 -0
  75. data/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png +0 -0
  76. data/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png +0 -0
  77. data/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png +0 -0
  78. data/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png +0 -0
  79. data/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png +0 -0
  80. data/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png +0 -0
  81. data/coverage/assets/0.5.3/fancybox/fancy_title_left.png +0 -0
  82. data/coverage/assets/0.5.3/fancybox/fancy_title_main.png +0 -0
  83. data/coverage/assets/0.5.3/fancybox/fancy_title_over.png +0 -0
  84. data/coverage/assets/0.5.3/fancybox/fancy_title_right.png +0 -0
  85. data/coverage/assets/0.5.3/fancybox/fancybox-x.png +0 -0
  86. data/coverage/assets/0.5.3/fancybox/fancybox-y.png +0 -0
  87. data/coverage/assets/0.5.3/fancybox/fancybox.png +0 -0
  88. data/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css +0 -363
  89. data/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
  90. data/coverage/assets/0.5.3/favicon_green.png +0 -0
  91. data/coverage/assets/0.5.3/favicon_red.png +0 -0
  92. data/coverage/assets/0.5.3/favicon_yellow.png +0 -0
  93. data/coverage/assets/0.5.3/highlight.css +0 -129
  94. data/coverage/assets/0.5.3/highlight.pack.js +0 -1
  95. data/coverage/assets/0.5.3/jquery-1.6.2.min.js +0 -18
  96. data/coverage/assets/0.5.3/jquery.dataTables.min.js +0 -152
  97. data/coverage/assets/0.5.3/jquery.timeago.js +0 -141
  98. data/coverage/assets/0.5.3/jquery.url.js +0 -174
  99. data/coverage/assets/0.5.3/loading.gif +0 -0
  100. data/coverage/assets/0.5.3/magnify.png +0 -0
  101. data/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  102. data/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  103. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  104. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  105. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  106. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  107. data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  108. data/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  109. data/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png +0 -0
  110. data/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  111. data/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png +0 -0
  112. data/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png +0 -0
  113. data/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  114. data/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css +0 -295
  115. data/coverage/assets/0.5.3/stylesheet.css +0 -383
  116. data/coverage/assets/0.7.1/application.css +0 -1110
  117. data/coverage/assets/0.7.1/application.js +0 -626
  118. data/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  119. data/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  120. data/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  121. data/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  122. data/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  123. data/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  124. data/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  125. data/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  126. data/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  127. data/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  128. data/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  129. data/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  130. data/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  131. data/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  132. data/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  133. data/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  134. data/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  135. data/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  136. data/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  137. data/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  138. data/coverage/assets/0.7.1/favicon_green.png +0 -0
  139. data/coverage/assets/0.7.1/favicon_red.png +0 -0
  140. data/coverage/assets/0.7.1/favicon_yellow.png +0 -0
  141. data/coverage/assets/0.7.1/loading.gif +0 -0
  142. data/coverage/assets/0.7.1/magnify.png +0 -0
  143. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  144. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  145. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  146. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  147. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  148. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  149. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  150. data/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  151. data/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
  152. data/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  153. data/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
  154. data/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
  155. data/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  156. data/coverage/index.html +0 -3564
  157. data/lib/api_resource/associations/abstract_scope.rb +0 -191
  158. data/lib/api_resource/associations/association_scope.rb +0 -47
  159. data/lib/api_resource/associations/resource_scope.rb +0 -21
  160. data/lib/api_resource/associations/scope.rb +0 -34
  161. data/spec/lib/associations/resource_scope_spec.rb +0 -24
  162. data/spec/tmp/api_resource_test_db.sqlite +0 -0
  163. data/tmp/rspec_guard_result +0 -1
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe ApiResource::Typecast::BooleanTypecaster do
4
+
5
+ let(:klass) { ApiResource::Typecast::BooleanTypecaster }
6
+
7
+ context ".from_api" do
8
+
9
+ it "should typecast any value in the true array to true" do
10
+ ApiResource::Typecast::TRUE_VALUES.each do |value|
11
+ klass.from_api(value).should be_instance_of(TrueClass)
12
+ end
13
+ end
14
+
15
+ it "should return false for any other conceivable input" do
16
+ [Date.new, Time.new, Date.today, Time.now, nil, false, Float, 2.0, 2, "", "bad value"].each do |val|
17
+ klass.from_api(val).should be_instance_of(FalseClass)
18
+ end
19
+ end
20
+
21
+ end
22
+
23
+ context ".to_api" do
24
+
25
+ it "should return whatever value is passed in" do
26
+ [nil, true, 1, 0.5, Time.now].each do |val|
27
+ klass.to_api(val).should eql(val)
28
+ end
29
+ end
30
+
31
+ end
32
+
33
+ end
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ describe ApiResource::Typecast::DateTypecaster do
4
+
5
+ let(:klass) { ApiResource::Typecast::DateTypecaster }
6
+
7
+ context ".from_api" do
8
+
9
+ it "should parse a date in iso format without Date._parse" do
10
+ Date.expects(:_parse).never
11
+ val = klass.from_api("2012-12-21")
12
+ val.year.should eql(2012)
13
+ val.month.should eql(12)
14
+ end
15
+
16
+ it "should parse a date in non iso format with Date._parse" do
17
+ val = klass.from_api("2012/12/21")
18
+ val.year.should eql(2012)
19
+ val.month.should eql(12)
20
+ end
21
+
22
+ it "should return nil on a blank date or a year of 0" do
23
+ klass.from_api("").should be_nil
24
+ klass.from_api("0000-12-21").should be_nil
25
+ end
26
+
27
+ it "should just return if it's passed a Date" do
28
+ new_date = Date.new
29
+ date = Date.today
30
+ klass.from_api(new_date).object_id.should eql(new_date.object_id)
31
+ klass.from_api(date).object_id.should eql(date.object_id)
32
+ end
33
+
34
+ it "should return a valid date if passed a time" do
35
+ new_time = Time.new
36
+ time = Time.now
37
+ val = klass.from_api(new_time)
38
+ val.year.should eql(new_time.year)
39
+ val.day.should eql(new_time.day)
40
+
41
+ val = klass.from_api(time)
42
+ val.year.should eql(time.year)
43
+ val.day.should eql(time.day)
44
+ end
45
+
46
+ it "should not fail for any conceivable value" do
47
+ [nil, "", 0, 1.0, 10, 0.0, "abc"].each do |val|
48
+ klass.from_api(val).should be_nil
49
+ end
50
+ end
51
+
52
+ end
53
+
54
+ context ".to_api" do
55
+ it "should just call to_s" do
56
+ val = Time.now
57
+ val.expects(:to_s).returns("hello world")
58
+ klass.to_api(val).should eql("hello world")
59
+ end
60
+ end
61
+
62
+ end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ describe ApiResource::Typecast::FloatTypecaster do
4
+
5
+ let(:klass) { ApiResource::Typecast::FloatTypecaster }
6
+
7
+ context ".from_api" do
8
+
9
+ it "should typecast integers, floats, strings, dates, and times reasonably" do
10
+ klass.from_api(1).should eql(1.0)
11
+ klass.from_api(1.0).should eql(1.0)
12
+ klass.from_api("1.0").should eql(1.0)
13
+ klass.from_api("1").should eql(1.0)
14
+ klass.from_api("0.123").should eql(0.123)
15
+ klass.from_api(false).should eql(0.0)
16
+ klass.from_api(true).should eql(1.0)
17
+ klass.from_api(Date.today).should eql(Date.today.year.to_f)
18
+
19
+ tme = Time.now
20
+ klass.from_api(tme).should eql(tme.to_f)
21
+ end
22
+
23
+ it "should be able to typecast any value you can think of" do
24
+ klass.from_api(nil).should eql(0.0)
25
+ klass.from_api("").should eql(0.0)
26
+ klass.from_api(BasicObject).should eql(0.0)
27
+ klass.from_api("abc").should eql(0.0)
28
+ end
29
+
30
+ end
31
+
32
+ context ".to_api" do
33
+ it "should return itself" do
34
+ val = 0.6
35
+ klass.to_api(val).object_id.should eql(val.object_id)
36
+ end
37
+ end
38
+
39
+ end
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe ApiResource::Typecast::IntegerTypecaster do
4
+
5
+ let(:klass) { ApiResource::Typecast::IntegerTypecaster}
6
+
7
+ context ".from_api" do
8
+
9
+ it "should typecast integers, floats, strings, dates, and times reasonably" do
10
+ klass.from_api(1).should eql(1)
11
+ klass.from_api(1.0).should eql(1)
12
+ klass.from_api(1.67).should eql(1)
13
+ klass.from_api("1.0").should eql(1)
14
+ klass.from_api("1").should eql(1)
15
+ klass.from_api("0.123").should eql(0)
16
+ klass.from_api(false).should eql(0)
17
+ klass.from_api(true).should eql(1)
18
+ klass.from_api(Date.today).should eql(Date.today.year)
19
+
20
+ tme = Time.now
21
+ klass.from_api(tme).should eql(tme.to_i)
22
+ end
23
+
24
+ it "should be able to typecast any value you can think of" do
25
+ klass.from_api(nil).should eql(0)
26
+ klass.from_api("").should eql(0)
27
+ klass.from_api(BasicObject).should eql(0)
28
+ klass.from_api("abc").should eql(0)
29
+ end
30
+
31
+ end
32
+
33
+ context ".to_api" do
34
+ it "should return itself" do
35
+ val = 1
36
+ klass.to_api(val).object_id.should eql(val.object_id)
37
+ end
38
+ end
39
+
40
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe ApiResource::Typecast::StringTypecaster do
4
+
5
+ let(:klass) { ApiResource::Typecast::StringTypecaster }
6
+
7
+ context ".from_api" do
8
+
9
+ it "should work on any conceivable value" do
10
+ klass.from_api(BasicObject).should eql("BasicObject")
11
+ klass.from_api(true).should eql("true")
12
+ klass.from_api(false).should eql("false")
13
+ klass.from_api(nil).should eql("")
14
+ klass.from_api("").should eql("")
15
+ klass.from_api("abc").should eql("abc")
16
+ klass.from_api(1).should eql("1")
17
+ klass.from_api(1.0).should eql("1.0")
18
+ end
19
+ end
20
+
21
+ context ".to_api" do
22
+ it "should return itself" do
23
+ val = "hello"
24
+ klass.to_api(val).object_id.should eql(val.object_id)
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,65 @@
1
+ require 'spec_helper'
2
+
3
+ describe ApiResource::Typecast::TimeTypecaster do
4
+
5
+ let(:klass) { ApiResource::Typecast::TimeTypecaster }
6
+
7
+ context ".from_api" do
8
+
9
+
10
+ it "should parse a time in ISO format in UTC" do
11
+ val = klass.from_api("2012-12-21 04:44:44")
12
+ val.year.should eql(2012)
13
+ val.day.should eql(21)
14
+ val.min.should eql(44)
15
+ val.zone.to_s.should eql("UTC")
16
+ end
17
+
18
+ it "should parse a date in ISO format into a time" do
19
+ val = klass.from_api("2012-12-21")
20
+ val.year.should eql(2012)
21
+ val.min.should eql(0)
22
+ val.zone.to_s.should eql("UTC")
23
+ end
24
+
25
+ it "should parse a time not in ISO format" do
26
+ val = klass.from_api("28/08/2012 04:55:56")
27
+ val.year.should eql(2012)
28
+ val.month.should eql(8)
29
+ val.day.should eql(28)
30
+ end
31
+
32
+ it "should parse a date not in ISO format" do
33
+ val = klass.from_api("2012/08/09")
34
+ val.year.should eql(2012)
35
+ val.month.should eql(8)
36
+ val.min.should eql(0)
37
+ end
38
+
39
+ it "should return the same Time object if passed a time" do
40
+ time = Time.now
41
+ klass.from_api(time).object_id.should eql(time.object_id)
42
+ end
43
+
44
+ it "should return nil for a blank year" do
45
+ klass.from_api("0000/02/08 08:55:56").should be_nil
46
+ end
47
+
48
+ it "should return nil for nonsense input" do
49
+ lambda{
50
+ [false, 1, nil, 0.0, [], {}].each do |bad|
51
+ klass.from_api(bad)
52
+ end
53
+ }.should_not raise_error
54
+ end
55
+
56
+ end
57
+
58
+ context ".to_api" do
59
+ it "should return the time as a string" do
60
+ val = Time.now
61
+ klass.to_api(val).should eql(val.to_s)
62
+ end
63
+ end
64
+
65
+ end
data/spec/spec_helper.rb CHANGED
@@ -26,7 +26,6 @@ Spork.prefork do
26
26
  # Requires supporting files with custom matchers and macros, etc,
27
27
  # in ./support/ and its subdirectories.
28
28
  Bundler.require(:default, :development)
29
- Debugger.start
30
29
 
31
30
  # Requires supporting files with custom matchers and macros, etc,
32
31
  # in ./support/ and its subdirectories.
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.1
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,33 +11,17 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-12-19 00:00:00.000000000 Z
14
+ date: 2013-01-02 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: rails
18
- requirement: !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ~>
22
- - !ruby/object:Gem::Version
23
- version: '3'
24
- type: :runtime
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ~>
30
- - !ruby/object:Gem::Version
31
- version: '3'
32
- - !ruby/object:Gem::Dependency
33
- name: hash_dealer
17
+ name: rake
34
18
  requirement: !ruby/object:Gem::Requirement
35
19
  none: false
36
20
  requirements:
37
21
  - - ! '>='
38
22
  - !ruby/object:Gem::Version
39
23
  version: '0'
40
- type: :runtime
24
+ type: :development
41
25
  prerelease: false
42
26
  version_requirements: !ruby/object:Gem::Requirement
43
27
  none: false
@@ -46,14 +30,14 @@ dependencies:
46
30
  - !ruby/object:Gem::Version
47
31
  version: '0'
48
32
  - !ruby/object:Gem::Dependency
49
- name: rest-client
33
+ name: rspec
50
34
  requirement: !ruby/object:Gem::Requirement
51
35
  none: false
52
36
  requirements:
53
37
  - - ! '>='
54
38
  - !ruby/object:Gem::Version
55
39
  version: '0'
56
- type: :runtime
40
+ type: :development
57
41
  prerelease: false
58
42
  version_requirements: !ruby/object:Gem::Requirement
59
43
  none: false
@@ -62,14 +46,14 @@ dependencies:
62
46
  - !ruby/object:Gem::Version
63
47
  version: '0'
64
48
  - !ruby/object:Gem::Dependency
65
- name: log4r
49
+ name: spork
66
50
  requirement: !ruby/object:Gem::Requirement
67
51
  none: false
68
52
  requirements:
69
53
  - - ! '>='
70
54
  - !ruby/object:Gem::Version
71
55
  version: '0'
72
- type: :runtime
56
+ type: :development
73
57
  prerelease: false
74
58
  version_requirements: !ruby/object:Gem::Requirement
75
59
  none: false
@@ -78,30 +62,30 @@ dependencies:
78
62
  - !ruby/object:Gem::Version
79
63
  version: '0'
80
64
  - !ruby/object:Gem::Dependency
81
- name: differ
65
+ name: mocha
82
66
  requirement: !ruby/object:Gem::Requirement
83
67
  none: false
84
68
  requirements:
85
- - - ! '>='
69
+ - - '='
86
70
  - !ruby/object:Gem::Version
87
- version: '0'
88
- type: :runtime
71
+ version: 0.12.7
72
+ type: :development
89
73
  prerelease: false
90
74
  version_requirements: !ruby/object:Gem::Requirement
91
75
  none: false
92
76
  requirements:
93
- - - ! '>='
77
+ - - '='
94
78
  - !ruby/object:Gem::Version
95
- version: '0'
79
+ version: 0.12.7
96
80
  - !ruby/object:Gem::Dependency
97
- name: colorize
81
+ name: faker
98
82
  requirement: !ruby/object:Gem::Requirement
99
83
  none: false
100
84
  requirements:
101
85
  - - ! '>='
102
86
  - !ruby/object:Gem::Version
103
87
  version: '0'
104
- type: :runtime
88
+ type: :development
105
89
  prerelease: false
106
90
  version_requirements: !ruby/object:Gem::Requirement
107
91
  none: false
@@ -110,14 +94,14 @@ dependencies:
110
94
  - !ruby/object:Gem::Version
111
95
  version: '0'
112
96
  - !ruby/object:Gem::Dependency
113
- name: json
97
+ name: guard-bundler
114
98
  requirement: !ruby/object:Gem::Requirement
115
99
  none: false
116
100
  requirements:
117
101
  - - ! '>='
118
102
  - !ruby/object:Gem::Version
119
103
  version: '0'
120
- type: :runtime
104
+ type: :development
121
105
  prerelease: false
122
106
  version_requirements: !ruby/object:Gem::Requirement
123
107
  none: false
@@ -126,7 +110,7 @@ dependencies:
126
110
  - !ruby/object:Gem::Version
127
111
  version: '0'
128
112
  - !ruby/object:Gem::Dependency
129
- name: pry
113
+ name: guard-rspec
130
114
  requirement: !ruby/object:Gem::Requirement
131
115
  none: false
132
116
  requirements:
@@ -142,7 +126,7 @@ dependencies:
142
126
  - !ruby/object:Gem::Version
143
127
  version: '0'
144
128
  - !ruby/object:Gem::Dependency
145
- name: pry-doc
129
+ name: guard-spork
146
130
  requirement: !ruby/object:Gem::Requirement
147
131
  none: false
148
132
  requirements:
@@ -158,7 +142,7 @@ dependencies:
158
142
  - !ruby/object:Gem::Version
159
143
  version: '0'
160
144
  - !ruby/object:Gem::Dependency
161
- name: pry-nav
145
+ name: growl
162
146
  requirement: !ruby/object:Gem::Requirement
163
147
  none: false
164
148
  requirements:
@@ -174,7 +158,7 @@ dependencies:
174
158
  - !ruby/object:Gem::Version
175
159
  version: '0'
176
160
  - !ruby/object:Gem::Dependency
177
- name: rspec
161
+ name: flay
178
162
  requirement: !ruby/object:Gem::Requirement
179
163
  none: false
180
164
  requirements:
@@ -190,7 +174,7 @@ dependencies:
190
174
  - !ruby/object:Gem::Version
191
175
  version: '0'
192
176
  - !ruby/object:Gem::Dependency
193
- name: ruby-debug19
177
+ name: flog
194
178
  requirement: !ruby/object:Gem::Requirement
195
179
  none: false
196
180
  requirements:
@@ -206,7 +190,7 @@ dependencies:
206
190
  - !ruby/object:Gem::Version
207
191
  version: '0'
208
192
  - !ruby/object:Gem::Dependency
209
- name: growl
193
+ name: hash_dealer
210
194
  requirement: !ruby/object:Gem::Requirement
211
195
  none: false
212
196
  requirements:
@@ -222,7 +206,7 @@ dependencies:
222
206
  - !ruby/object:Gem::Version
223
207
  version: '0'
224
208
  - !ruby/object:Gem::Dependency
225
- name: rspec-rails
209
+ name: rb-fsevent
226
210
  requirement: !ruby/object:Gem::Requirement
227
211
  none: false
228
212
  requirements:
@@ -238,7 +222,7 @@ dependencies:
238
222
  - !ruby/object:Gem::Version
239
223
  version: '0'
240
224
  - !ruby/object:Gem::Dependency
241
- name: factory_girl
225
+ name: simplecov
242
226
  requirement: !ruby/object:Gem::Requirement
243
227
  none: false
244
228
  requirements:
@@ -254,7 +238,7 @@ dependencies:
254
238
  - !ruby/object:Gem::Version
255
239
  version: '0'
256
240
  - !ruby/object:Gem::Dependency
257
- name: simplecov
241
+ name: differ
258
242
  requirement: !ruby/object:Gem::Requirement
259
243
  none: false
260
244
  requirements:
@@ -270,7 +254,7 @@ dependencies:
270
254
  - !ruby/object:Gem::Version
271
255
  version: '0'
272
256
  - !ruby/object:Gem::Dependency
273
- name: faker
257
+ name: colorize
274
258
  requirement: !ruby/object:Gem::Requirement
275
259
  none: false
276
260
  requirements:
@@ -286,7 +270,7 @@ dependencies:
286
270
  - !ruby/object:Gem::Version
287
271
  version: '0'
288
272
  - !ruby/object:Gem::Dependency
289
- name: guard-bundler
273
+ name: sqlite3
290
274
  requirement: !ruby/object:Gem::Requirement
291
275
  none: false
292
276
  requirements:
@@ -302,14 +286,14 @@ dependencies:
302
286
  - !ruby/object:Gem::Version
303
287
  version: '0'
304
288
  - !ruby/object:Gem::Dependency
305
- name: guard-rspec
289
+ name: rails
306
290
  requirement: !ruby/object:Gem::Requirement
307
291
  none: false
308
292
  requirements:
309
293
  - - ! '>='
310
294
  - !ruby/object:Gem::Version
311
295
  version: '0'
312
- type: :development
296
+ type: :runtime
313
297
  prerelease: false
314
298
  version_requirements: !ruby/object:Gem::Requirement
315
299
  none: false
@@ -318,14 +302,14 @@ dependencies:
318
302
  - !ruby/object:Gem::Version
319
303
  version: '0'
320
304
  - !ruby/object:Gem::Dependency
321
- name: guard-spork
305
+ name: activemodel
322
306
  requirement: !ruby/object:Gem::Requirement
323
307
  none: false
324
308
  requirements:
325
309
  - - ! '>='
326
310
  - !ruby/object:Gem::Version
327
311
  version: '0'
328
- type: :development
312
+ type: :runtime
329
313
  prerelease: false
330
314
  version_requirements: !ruby/object:Gem::Requirement
331
315
  none: false
@@ -334,14 +318,14 @@ dependencies:
334
318
  - !ruby/object:Gem::Version
335
319
  version: '0'
336
320
  - !ruby/object:Gem::Dependency
337
- name: mocha
321
+ name: activesupport
338
322
  requirement: !ruby/object:Gem::Requirement
339
323
  none: false
340
324
  requirements:
341
325
  - - ! '>='
342
326
  - !ruby/object:Gem::Version
343
327
  version: '0'
344
- type: :development
328
+ type: :runtime
345
329
  prerelease: false
346
330
  version_requirements: !ruby/object:Gem::Requirement
347
331
  none: false
@@ -350,14 +334,14 @@ dependencies:
350
334
  - !ruby/object:Gem::Version
351
335
  version: '0'
352
336
  - !ruby/object:Gem::Dependency
353
- name: bundler
337
+ name: json
354
338
  requirement: !ruby/object:Gem::Requirement
355
339
  none: false
356
340
  requirements:
357
341
  - - ! '>='
358
342
  - !ruby/object:Gem::Version
359
343
  version: '0'
360
- type: :development
344
+ type: :runtime
361
345
  prerelease: false
362
346
  version_requirements: !ruby/object:Gem::Requirement
363
347
  none: false
@@ -366,46 +350,30 @@ dependencies:
366
350
  - !ruby/object:Gem::Version
367
351
  version: '0'
368
352
  - !ruby/object:Gem::Dependency
369
- name: jeweler
370
- requirement: !ruby/object:Gem::Requirement
371
- none: false
372
- requirements:
373
- - - ~>
374
- - !ruby/object:Gem::Version
375
- version: 1.6.4
376
- type: :development
377
- prerelease: false
378
- version_requirements: !ruby/object:Gem::Requirement
379
- none: false
380
- requirements:
381
- - - ~>
382
- - !ruby/object:Gem::Version
383
- version: 1.6.4
384
- - !ruby/object:Gem::Dependency
385
- name: activerecord
353
+ name: rest-client
386
354
  requirement: !ruby/object:Gem::Requirement
387
355
  none: false
388
356
  requirements:
389
- - - ~>
357
+ - - ! '>='
390
358
  - !ruby/object:Gem::Version
391
- version: '3'
392
- type: :development
359
+ version: '0'
360
+ type: :runtime
393
361
  prerelease: false
394
362
  version_requirements: !ruby/object:Gem::Requirement
395
363
  none: false
396
364
  requirements:
397
- - - ~>
365
+ - - ! '>='
398
366
  - !ruby/object:Gem::Version
399
- version: '3'
367
+ version: '0'
400
368
  - !ruby/object:Gem::Dependency
401
- name: sqlite3
369
+ name: log4r
402
370
  requirement: !ruby/object:Gem::Requirement
403
371
  none: false
404
372
  requirements:
405
373
  - - ! '>='
406
374
  - !ruby/object:Gem::Version
407
375
  version: '0'
408
- type: :development
376
+ type: :runtime
409
377
  prerelease: false
410
378
  version_requirements: !ruby/object:Gem::Requirement
411
379
  none: false
@@ -415,132 +383,59 @@ dependencies:
415
383
  version: '0'
416
384
  description: A replacement for ActiveResource for RESTful APIs that handles associated
417
385
  object and multiple data sources
418
- email: developers@lifebooker.com
386
+ email:
387
+ - developers@lifebooker.com
419
388
  executables: []
420
389
  extensions: []
421
- extra_rdoc_files:
422
- - LICENSE.txt
423
- - README.rdoc
390
+ extra_rdoc_files: []
424
391
  files:
425
- - api_resource.gemspec
426
- - coverage/assets/0.5.3/app.js
427
- - coverage/assets/0.5.3/fancybox/blank.gif
428
- - coverage/assets/0.5.3/fancybox/fancy_close.png
429
- - coverage/assets/0.5.3/fancybox/fancy_loading.png
430
- - coverage/assets/0.5.3/fancybox/fancy_nav_left.png
431
- - coverage/assets/0.5.3/fancybox/fancy_nav_right.png
432
- - coverage/assets/0.5.3/fancybox/fancy_shadow_e.png
433
- - coverage/assets/0.5.3/fancybox/fancy_shadow_n.png
434
- - coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png
435
- - coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png
436
- - coverage/assets/0.5.3/fancybox/fancy_shadow_s.png
437
- - coverage/assets/0.5.3/fancybox/fancy_shadow_se.png
438
- - coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png
439
- - coverage/assets/0.5.3/fancybox/fancy_shadow_w.png
440
- - coverage/assets/0.5.3/fancybox/fancy_title_left.png
441
- - coverage/assets/0.5.3/fancybox/fancy_title_main.png
442
- - coverage/assets/0.5.3/fancybox/fancy_title_over.png
443
- - coverage/assets/0.5.3/fancybox/fancy_title_right.png
444
- - coverage/assets/0.5.3/fancybox/fancybox-x.png
445
- - coverage/assets/0.5.3/fancybox/fancybox-y.png
446
- - coverage/assets/0.5.3/fancybox/fancybox.png
447
- - coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css
448
- - coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js
449
- - coverage/assets/0.5.3/favicon_green.png
450
- - coverage/assets/0.5.3/favicon_red.png
451
- - coverage/assets/0.5.3/favicon_yellow.png
452
- - coverage/assets/0.5.3/highlight.css
453
- - coverage/assets/0.5.3/highlight.pack.js
454
- - coverage/assets/0.5.3/jquery-1.6.2.min.js
455
- - coverage/assets/0.5.3/jquery.dataTables.min.js
456
- - coverage/assets/0.5.3/jquery.timeago.js
457
- - coverage/assets/0.5.3/jquery.url.js
458
- - coverage/assets/0.5.3/loading.gif
459
- - coverage/assets/0.5.3/magnify.png
460
- - coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
461
- - coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
462
- - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
463
- - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
464
- - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png
465
- - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
466
- - coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
467
- - coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
468
- - coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png
469
- - coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png
470
- - coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png
471
- - coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png
472
- - coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png
473
- - coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css
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
515
- - coverage/index.html
392
+ - .document
393
+ - .gitignore
394
+ - .rspec
395
+ - .travis.yml
516
396
  - Gemfile
517
397
  - Gemfile.lock
518
398
  - Guardfile
399
+ - LICENSE
400
+ - README.md
401
+ - README.rdoc
402
+ - Rakefile
403
+ - api_resource.gemspec
404
+ - lib/api_resource.rb
519
405
  - lib/api_resource/association_activation.rb
520
- - lib/api_resource/associations/abstract_scope.rb
521
- - lib/api_resource/associations/association_scope.rb
406
+ - lib/api_resource/associations.rb
407
+ - lib/api_resource/associations/association_proxy.rb
522
408
  - lib/api_resource/associations/belongs_to_remote_object_proxy.rb
523
409
  - lib/api_resource/associations/has_many_remote_object_proxy.rb
524
410
  - lib/api_resource/associations/has_many_through_remote_object_proxy.rb
525
411
  - lib/api_resource/associations/has_one_remote_object_proxy.rb
526
412
  - lib/api_resource/associations/multi_object_proxy.rb
527
413
  - lib/api_resource/associations/related_object_hash.rb
528
- - lib/api_resource/associations/resource_scope.rb
529
- - lib/api_resource/associations/scope.rb
530
414
  - lib/api_resource/associations/single_object_proxy.rb
531
- - lib/api_resource/associations.rb
532
415
  - lib/api_resource/attributes.rb
533
416
  - lib/api_resource/base.rb
534
417
  - lib/api_resource/callbacks.rb
418
+ - lib/api_resource/conditions.rb
419
+ - lib/api_resource/conditions/abstract_condition.rb
420
+ - lib/api_resource/conditions/association_condition.rb
421
+ - lib/api_resource/conditions/include_condition.rb
422
+ - lib/api_resource/conditions/multi_object_association_condition.rb
423
+ - lib/api_resource/conditions/scope_condition.rb
424
+ - lib/api_resource/conditions/single_object_association_condition.rb
535
425
  - lib/api_resource/connection.rb
536
426
  - lib/api_resource/core_extensions.rb
537
427
  - lib/api_resource/custom_methods.rb
538
- - lib/api_resource/decorators/caching_decorator.rb
539
428
  - lib/api_resource/decorators.rb
429
+ - lib/api_resource/decorators/caching_decorator.rb
540
430
  - lib/api_resource/exceptions.rb
431
+ - lib/api_resource/finders.rb
432
+ - lib/api_resource/finders/abstract_finder.rb
433
+ - lib/api_resource/finders/multi_object_association_finder.rb
434
+ - lib/api_resource/finders/resource_finder.rb
435
+ - lib/api_resource/finders/single_object_association_finder.rb
436
+ - lib/api_resource/formats.rb
541
437
  - lib/api_resource/formats/json_format.rb
542
438
  - lib/api_resource/formats/xml_format.rb
543
- - lib/api_resource/formats.rb
544
439
  - lib/api_resource/local.rb
545
440
  - lib/api_resource/log_subscriber.rb
546
441
  - lib/api_resource/mocks.rb
@@ -548,23 +443,39 @@ files:
548
443
  - lib/api_resource/observing.rb
549
444
  - lib/api_resource/railtie.rb
550
445
  - lib/api_resource/scopes.rb
551
- - lib/api_resource.rb
552
- - LICENSE.txt
446
+ - lib/api_resource/typecast.rb
447
+ - lib/api_resource/typecasters/array_typecaster.rb
448
+ - lib/api_resource/typecasters/boolean_typecaster.rb
449
+ - lib/api_resource/typecasters/date_typecaster.rb
450
+ - lib/api_resource/typecasters/float_typecaster.rb
451
+ - lib/api_resource/typecasters/integer_typecaster.rb
452
+ - lib/api_resource/typecasters/string_typecaster.rb
453
+ - lib/api_resource/typecasters/time_typecaster.rb
454
+ - lib/api_resource/version.rb
553
455
  - nohup.out
554
- - Rakefile
555
- - README.rdoc
556
456
  - spec/lib/api_resource_spec.rb
557
457
  - spec/lib/associations/association_scope_spec.rb
558
- - spec/lib/associations/resource_scope_spec.rb
559
458
  - spec/lib/associations_spec.rb
560
459
  - spec/lib/attributes_spec.rb
561
460
  - spec/lib/base_spec.rb
562
461
  - spec/lib/callbacks_spec.rb
462
+ - spec/lib/conditions/abstract_conditions_spec.rb
563
463
  - spec/lib/connection_spec.rb
464
+ - spec/lib/finders/multi_object_association_finder_spec.rb
465
+ - spec/lib/finders/resource_finder_spec.rb
466
+ - spec/lib/finders/single_object_association_finder_spec.rb
564
467
  - spec/lib/local_spec.rb
565
468
  - spec/lib/mocks_spec.rb
566
469
  - spec/lib/model_errors_spec.rb
470
+ - spec/lib/observing_spec.rb
567
471
  - spec/lib/prefixes_spec.rb
472
+ - spec/lib/typecast_spec.rb
473
+ - spec/lib/typecasters/boolean_typecaster_spec.rb
474
+ - spec/lib/typecasters/date_typecaster_spec.rb
475
+ - spec/lib/typecasters/float_typecaster_spec.rb
476
+ - spec/lib/typecasters/integer_typecaster_spec.rb
477
+ - spec/lib/typecasters/string_typecaster_spec.rb
478
+ - spec/lib/typecasters/time_typecaster_spec.rb
568
479
  - spec/spec_helper.rb
569
480
  - spec/support/mocks/association_mocks.rb
570
481
  - spec/support/mocks/error_resource_mocks.rb
@@ -575,13 +486,9 @@ files:
575
486
  - spec/support/requests/prefix_model_requests.rb
576
487
  - spec/support/requests/test_resource_requests.rb
577
488
  - spec/support/test_resource.rb
578
- - spec/tmp/api_resource_test_db.sqlite
579
489
  - spec/tmp/DIR
580
- - tmp/rspec_guard_result
581
- - VERSION
582
- homepage: http://github.com/ejlangev/resource
583
- licenses:
584
- - MIT
490
+ homepage: ''
491
+ licenses: []
585
492
  post_install_message:
586
493
  rdoc_options: []
587
494
  require_paths:
@@ -600,10 +507,43 @@ required_rubygems_version: !ruby/object:Gem::Requirement
600
507
  version: '0'
601
508
  requirements: []
602
509
  rubyforge_project:
603
- rubygems_version: 1.8.24
510
+ rubygems_version: 1.8.23
604
511
  signing_key:
605
512
  specification_version: 3
606
- summary: A replacement for ActiveResource for RESTful APIs that handles associated
607
- object and multiple data sources
608
- test_files: []
513
+ summary: ActiveRecord for restful APIs
514
+ test_files:
515
+ - spec/lib/api_resource_spec.rb
516
+ - spec/lib/associations/association_scope_spec.rb
517
+ - spec/lib/associations_spec.rb
518
+ - spec/lib/attributes_spec.rb
519
+ - spec/lib/base_spec.rb
520
+ - spec/lib/callbacks_spec.rb
521
+ - spec/lib/conditions/abstract_conditions_spec.rb
522
+ - spec/lib/connection_spec.rb
523
+ - spec/lib/finders/multi_object_association_finder_spec.rb
524
+ - spec/lib/finders/resource_finder_spec.rb
525
+ - spec/lib/finders/single_object_association_finder_spec.rb
526
+ - spec/lib/local_spec.rb
527
+ - spec/lib/mocks_spec.rb
528
+ - spec/lib/model_errors_spec.rb
529
+ - spec/lib/observing_spec.rb
530
+ - spec/lib/prefixes_spec.rb
531
+ - spec/lib/typecast_spec.rb
532
+ - spec/lib/typecasters/boolean_typecaster_spec.rb
533
+ - spec/lib/typecasters/date_typecaster_spec.rb
534
+ - spec/lib/typecasters/float_typecaster_spec.rb
535
+ - spec/lib/typecasters/integer_typecaster_spec.rb
536
+ - spec/lib/typecasters/string_typecaster_spec.rb
537
+ - spec/lib/typecasters/time_typecaster_spec.rb
538
+ - spec/spec_helper.rb
539
+ - spec/support/mocks/association_mocks.rb
540
+ - spec/support/mocks/error_resource_mocks.rb
541
+ - spec/support/mocks/prefix_model_mocks.rb
542
+ - spec/support/mocks/test_resource_mocks.rb
543
+ - spec/support/requests/association_requests.rb
544
+ - spec/support/requests/error_resource_requests.rb
545
+ - spec/support/requests/prefix_model_requests.rb
546
+ - spec/support/requests/test_resource_requests.rb
547
+ - spec/support/test_resource.rb
548
+ - spec/tmp/DIR
609
549
  has_rdoc: