api_resource 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.gitignore ADDED
@@ -0,0 +1,55 @@
1
+ # rcov generated
2
+ coverage/
3
+
4
+ # rdoc generated
5
+ rdoc
6
+
7
+ # yard generated
8
+ doc
9
+ .yardoc
10
+
11
+ # bundler
12
+ .bundle
13
+
14
+ # remote db tmp files
15
+ spec/tmp/*sqlite
16
+ tmp
17
+
18
+ # jeweler generated
19
+ pkg
20
+ .DS_Store
21
+ .swp
22
+ .swo
23
+
24
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
25
+ #
26
+ # * Create a file at ~/.gitignore
27
+ # * Include files you want ignored
28
+ # * Run: git config --global core.excludesfile ~/.gitignore
29
+ #
30
+ # After doing this, these files will be ignored in all your git projects,
31
+ # saving you from having to 'pollute' every project you touch with them
32
+ #
33
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
34
+ #
35
+ # For MacOS:
36
+ #
37
+ #.DS_Store
38
+
39
+ # For TextMate
40
+ #*.tmproj
41
+ #tmtags
42
+
43
+ # For emacs:
44
+ #*~
45
+ #\#*
46
+ #.\#*
47
+
48
+ # For vim:
49
+ *.swp
50
+
51
+ # For redcar:
52
+ #.redcar
53
+
54
+ # For rubinius:
55
+ #*.rbc
data/.rspec ADDED
@@ -0,0 +1,8 @@
1
+ --color
2
+ --format nested
3
+ --backtrace
4
+ --order random
5
+ --fail-fast
6
+ -X
7
+ --order random
8
+ --drb
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - jruby-19mode
6
+
7
+ branches:
8
+ only:
9
+ -master
data/Gemfile CHANGED
@@ -1,37 +1,4 @@
1
- source "http://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
5
- gem 'rails', '~> 3'
6
- gem 'hash_dealer'
7
- gem 'rest-client'
8
- gem 'log4r'
9
- gem 'differ'
10
- gem 'colorize'
11
- gem 'json', :require => 'json/ext'
1
+ source 'https://rubygems.org'
12
2
 
13
- group :development, :staging do
14
- gem 'pry'
15
- gem 'pry-doc'
16
- gem 'pry-nav'
17
- end
18
-
19
- # Add dependencies to develop your gem here.
20
- # Include everything needed to run rake, tests, features, etc.
21
- group :development do
22
- gem "rspec"
23
- gem "ruby-debug19", :require => "ruby-debug"
24
- gem "growl"
25
- gem 'rspec-rails'
26
- gem 'factory_girl'
27
- gem 'simplecov'
28
- gem 'faker'
29
- gem 'guard-bundler'
30
- gem 'guard-rspec'
31
- gem 'guard-spork'
32
- gem 'mocha'
33
- gem "bundler"
34
- gem "jeweler", "~> 1.6.4"
35
- gem 'activerecord', '~> 3'
36
- gem "sqlite3"
37
- end
3
+ # Specify your gem's dependencies in api_resource.gemspec
4
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,5 +1,16 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ api_resource (0.5.1)
5
+ activemodel
6
+ activesupport
7
+ json
8
+ log4r
9
+ rails
10
+ rest-client
11
+
1
12
  GEM
2
- remote: http://rubygems.org/
13
+ remote: https://rubygems.org/
3
14
  specs:
4
15
  actionmailer (3.2.9)
5
16
  actionpack (= 3.2.9)
@@ -28,54 +39,49 @@ GEM
28
39
  activesupport (3.2.9)
29
40
  i18n (~> 0.6)
30
41
  multi_json (~> 1.0)
31
- archive-tar-minitar (0.5.2)
32
42
  arel (3.0.2)
33
43
  builder (3.0.4)
34
44
  childprocess (0.3.6)
35
45
  ffi (~> 1.0, >= 1.0.6)
36
46
  coderay (1.0.8)
37
47
  colorize (0.5.8)
38
- columnize (0.3.6)
39
48
  diff-lcs (1.1.3)
40
49
  differ (0.1.2)
41
50
  erubis (2.7.0)
42
- factory_girl (4.1.0)
43
- activesupport (>= 3.0.0)
44
51
  faker (1.1.2)
45
52
  i18n (~> 0.5)
46
53
  ffi (1.2.0)
47
- git (1.2.5)
54
+ flay (2.0.1)
55
+ ruby_parser (~> 3.0)
56
+ sexp_processor (~> 4.0)
57
+ flog (3.2.1)
58
+ ruby_parser (~> 3.1, > 3.1.0)
59
+ sexp_processor (~> 4.0)
48
60
  growl (1.0.3)
49
- guard (1.5.4)
50
- listen (>= 0.4.2)
61
+ guard (1.6.1)
62
+ listen (>= 0.6.0)
51
63
  lumberjack (>= 1.0.2)
52
64
  pry (>= 0.9.10)
53
65
  thor (>= 0.14.6)
54
66
  guard-bundler (1.0.0)
55
67
  bundler (~> 1.0)
56
68
  guard (~> 1.1)
57
- guard-rspec (2.3.1)
69
+ guard-rspec (2.3.3)
58
70
  guard (>= 1.1)
59
71
  rspec (~> 2.11)
60
72
  guard-spork (1.4.0)
61
73
  childprocess (>= 0.2.3)
62
74
  guard (>= 1.1)
63
75
  spork (>= 0.8.4)
64
- hash_dealer (1.4.10)
76
+ hash_dealer (1.5.2)
65
77
  activesupport
66
78
  colorize
67
79
  i18n
68
80
  hike (1.2.1)
69
81
  i18n (0.6.1)
70
- jeweler (1.6.4)
71
- bundler (~> 1.0)
72
- git (>= 1.2.5)
73
- rake
74
82
  journey (1.0.4)
75
- json (1.7.5)
76
- linecache19 (0.5.12)
77
- ruby_core_source (>= 0.1.4)
78
- listen (0.6.0)
83
+ json (1.7.6)
84
+ listen (0.7.0)
79
85
  log4r (1.1.10)
80
86
  lumberjack (1.0.2)
81
87
  mail (2.4.4)
@@ -85,7 +91,7 @@ GEM
85
91
  metaclass (0.0.1)
86
92
  method_source (0.8.1)
87
93
  mime-types (1.19)
88
- mocha (0.13.1)
94
+ mocha (0.12.7)
89
95
  metaclass (~> 0.0.1)
90
96
  multi_json (1.5.0)
91
97
  polyglot (0.3.3)
@@ -93,11 +99,6 @@ GEM
93
99
  coderay (~> 1.0.5)
94
100
  method_source (~> 0.8)
95
101
  slop (~> 3.3.1)
96
- pry-doc (0.4.4)
97
- pry (>= 0.9.9.6)
98
- yard (~> 0.8.1)
99
- pry-nav (0.2.2)
100
- pry (~> 0.9.10)
101
102
  rack (1.4.1)
102
103
  rack-cache (1.2)
103
104
  rack (>= 0.4)
@@ -121,6 +122,7 @@ GEM
121
122
  rdoc (~> 3.4)
122
123
  thor (>= 0.14.6, < 2.0)
123
124
  rake (10.0.3)
125
+ rb-fsevent (0.9.3)
124
126
  rdoc (3.12)
125
127
  json (~> 1.4)
126
128
  rest-client (1.6.7)
@@ -132,24 +134,10 @@ GEM
132
134
  rspec-core (2.12.2)
133
135
  rspec-expectations (2.12.1)
134
136
  diff-lcs (~> 1.1.3)
135
- rspec-mocks (2.12.0)
136
- rspec-rails (2.12.0)
137
- actionpack (>= 3.0)
138
- activesupport (>= 3.0)
139
- railties (>= 3.0)
140
- rspec-core (~> 2.12.0)
141
- rspec-expectations (~> 2.12.0)
142
- rspec-mocks (~> 2.12.0)
143
- ruby-debug-base19 (0.11.25)
144
- columnize (>= 0.3.1)
145
- linecache19 (>= 0.5.11)
146
- ruby_core_source (>= 0.1.4)
147
- ruby-debug19 (0.11.6)
148
- columnize (>= 0.3.1)
149
- linecache19 (>= 0.5.11)
150
- ruby-debug-base19 (>= 0.11.19)
151
- ruby_core_source (0.1.5)
152
- archive-tar-minitar (>= 0.5.2)
137
+ rspec-mocks (2.12.1)
138
+ ruby_parser (3.1.1)
139
+ sexp_processor (~> 4.1)
140
+ sexp_processor (4.1.3)
153
141
  simplecov (0.7.1)
154
142
  multi_json (~> 1.0)
155
143
  simplecov-html (~> 0.7.1)
@@ -168,34 +156,26 @@ GEM
168
156
  polyglot
169
157
  polyglot (>= 0.3.1)
170
158
  tzinfo (0.3.35)
171
- yard (0.8.3)
172
159
 
173
160
  PLATFORMS
174
161
  ruby
175
162
 
176
163
  DEPENDENCIES
177
- activerecord (~> 3)
178
- bundler
164
+ api_resource!
179
165
  colorize
180
166
  differ
181
- factory_girl
182
167
  faker
168
+ flay
169
+ flog
183
170
  growl
184
171
  guard-bundler
185
172
  guard-rspec
186
173
  guard-spork
187
174
  hash_dealer
188
- jeweler (~> 1.6.4)
189
- json
190
- log4r
191
- mocha
192
- pry
193
- pry-doc
194
- pry-nav
195
- rails (~> 3)
196
- rest-client
175
+ mocha (= 0.12.7)
176
+ rake
177
+ rb-fsevent
197
178
  rspec
198
- rspec-rails
199
- ruby-debug19
200
179
  simplecov
180
+ spork
201
181
  sqlite3
data/Guardfile CHANGED
@@ -7,7 +7,7 @@ guard 'bundler' do
7
7
  # watch(/^.+\.gemspec/)
8
8
  end
9
9
 
10
- guard 'rspec', :version => 2, :cli => "--color --format nested" do
10
+ guard 'rspec', :version => 2, :cli => "--color --format nested --drb", :all_on_start => false, :all_after_pass => false do
11
11
  watch(%r{^spec/.+_spec\.rb$})
12
12
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
13
13
  watch(%r{^lib/api_resource/(.+)\.rb$}) {|m| "spec/lib/#{m[1]}_spec.rb"}
@@ -24,4 +24,10 @@ guard 'rspec', :version => 2, :cli => "--color --format nested" do
24
24
  watch('app/controllers/application_controller.rb') { "spec/controllers" }
25
25
  # Capybara request specs
26
26
  watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
27
+ end
28
+
29
+ guard 'spork' do
30
+ watch('api_resource.gemspec')
31
+ watch('Gemfile.lock')
32
+ watch('spec/spec_helper.rb') { :rspec }
27
33
  end
@@ -1,4 +1,6 @@
1
- Copyright (c) 2011 Ethan Langevin
1
+ Copyright (c) 2012 Ethan Langevin
2
+
3
+ MIT License
2
4
 
3
5
  Permission is hereby granted, free of charge, to any person obtaining
4
6
  a copy of this software and associated documentation files (the
@@ -17,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
19
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
20
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
21
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # ApiResource
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'api_resource'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install api_resource
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/README.rdoc CHANGED
@@ -1,4 +1,8 @@
1
- = resource
1
+ = Api Resource
2
+
3
+ {<img src="https://travis-ci.org/LifebookerInc/api_resource.png?branch=master" alt="Build Status" />}[https://travis-ci.org/LifebookerInc/api_resource]
4
+
5
+ Library for working with remote Rails applications
2
6
 
3
7
  Description goes here.
4
8
 
data/Rakefile CHANGED
@@ -1,39 +1,8 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
13
-
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "api_resource"
18
- gem.homepage = "http://github.com/ejlangev/resource"
19
- gem.license = "MIT"
20
- gem.summary = %Q{A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources}
21
- gem.description = %Q{A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources}
22
- gem.email = "ejl6266@gmail.com"
23
- gem.authors = ["Ethan Langevin"]
24
- # dependencies defined in Gemfile
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
- require 'rspec/core'
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
29
3
  require 'rspec/core/rake_task'
30
- RSpec::Core::RakeTask.new(:spec) do |spec|
31
- spec.pattern = FileList['spec/**/*_spec.rb']
32
- end
33
4
 
34
- RSpec::Core::RakeTask.new(:rcov) do |spec|
35
- spec.pattern = 'spec/**/*_spec.rb'
36
- spec.rcov = true
37
- end
5
+ RSpec::Core::RakeTask.new(:spec)
38
6
 
39
- task :default => :spec
7
+ task :default => :spec
8
+ task :ci => %w(rspec benchmark)
data/api_resource.gemspec CHANGED
@@ -1,110 +1,46 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/api_resource/version', __FILE__)
5
3
 
6
- Gem::Specification.new do |s|
7
- s.name = "api_resource"
8
- s.version = "0.5.1"
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Ethan Langevin", "Dan Langevin", "Brian Howald"]
6
+ gem.email = ["developers@lifebooker.com"]
7
+ gem.description = %q{A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources}
8
+ gem.summary = %q{ActiveRecord for restful APIs}
9
+ gem.homepage = ""
9
10
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Ethan Langevin", "Dan Langevin", "Brian Howald"]
12
- s.date = "2012-12-19"
13
- s.description = "A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources"
14
- s.email = "developers@lifebooker.com"
15
- s.extra_rdoc_files = [
16
- "LICENSE.txt",
17
- "README.rdoc"
18
- ]
19
- s.files = Dir["**/*"]
20
- s.homepage = "http://github.com/ejlangev/resource"
21
- s.licenses = ["MIT"]
22
- s.require_paths = ["lib"]
23
- s.rubygems_version = "1.8.24"
24
- s.summary = "A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources"
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = "api_resource"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = ApiResource::VERSION
25
17
 
26
- if s.respond_to? :specification_version then
27
- s.specification_version = 3
18
+ # Development Dependencies
19
+ gem.add_development_dependency "rake"
20
+ gem.add_development_dependency "rspec"
21
+ gem.add_development_dependency "spork"
22
+ # this latest version of mocha is not compatible with the rails
23
+ # 3.2.9
24
+ gem.add_development_dependency "mocha", ["=0.12.7"]
25
+ gem.add_development_dependency "faker"
26
+ gem.add_development_dependency "guard-bundler"
27
+ gem.add_development_dependency "guard-rspec"
28
+ gem.add_development_dependency "guard-spork"
29
+ gem.add_development_dependency "growl"
30
+ gem.add_development_dependency "flay"
31
+ gem.add_development_dependency "flog"
32
+ gem.add_development_dependency "hash_dealer"
33
+ gem.add_development_dependency "rb-fsevent"
34
+ gem.add_development_dependency "simplecov"
35
+ # stuff that seems like crap
36
+ gem.add_development_dependency "differ"
37
+ gem.add_development_dependency "colorize"
38
+ gem.add_development_dependency "sqlite3"
28
39
 
29
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
30
- s.add_runtime_dependency(%q<rails>, ["~> 3"])
31
- s.add_runtime_dependency(%q<hash_dealer>, [">= 0"])
32
- s.add_runtime_dependency(%q<rest-client>, [">= 0"])
33
- s.add_runtime_dependency(%q<log4r>, [">= 0"])
34
- s.add_runtime_dependency(%q<differ>, [">= 0"])
35
- s.add_runtime_dependency(%q<colorize>, [">= 0"])
36
- s.add_runtime_dependency(%q<json>, [">= 0"])
37
- s.add_development_dependency(%q<pry>, [">= 0"])
38
- s.add_development_dependency(%q<pry-doc>, [">= 0"])
39
- s.add_development_dependency(%q<pry-nav>, [">= 0"])
40
- s.add_development_dependency(%q<rspec>, [">= 0"])
41
- s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
42
- s.add_development_dependency(%q<growl>, [">= 0"])
43
- s.add_development_dependency(%q<rspec-rails>, [">= 0"])
44
- s.add_development_dependency(%q<factory_girl>, [">= 0"])
45
- s.add_development_dependency(%q<simplecov>, [">= 0"])
46
- s.add_development_dependency(%q<faker>, [">= 0"])
47
- s.add_development_dependency(%q<guard-bundler>, [">= 0"])
48
- s.add_development_dependency(%q<guard-rspec>, [">= 0"])
49
- s.add_development_dependency(%q<guard-spork>, [">= 0"])
50
- s.add_development_dependency(%q<mocha>, [">= 0"])
51
- s.add_development_dependency(%q<bundler>, [">= 0"])
52
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
53
- s.add_development_dependency(%q<activerecord>, ["~> 3"])
54
- s.add_development_dependency(%q<sqlite3>, [">= 0"])
55
- else
56
- s.add_dependency(%q<rails>, ["~> 3"])
57
- s.add_dependency(%q<hash_dealer>, [">= 0"])
58
- s.add_dependency(%q<rest-client>, [">= 0"])
59
- s.add_dependency(%q<log4r>, [">= 0"])
60
- s.add_dependency(%q<differ>, [">= 0"])
61
- s.add_dependency(%q<colorize>, [">= 0"])
62
- s.add_dependency(%q<json>, [">= 0"])
63
- s.add_dependency(%q<pry>, [">= 0"])
64
- s.add_dependency(%q<pry-doc>, [">= 0"])
65
- s.add_dependency(%q<pry-nav>, [">= 0"])
66
- s.add_dependency(%q<rspec>, [">= 0"])
67
- s.add_dependency(%q<ruby-debug19>, [">= 0"])
68
- s.add_dependency(%q<growl>, [">= 0"])
69
- s.add_dependency(%q<rspec-rails>, [">= 0"])
70
- s.add_dependency(%q<factory_girl>, [">= 0"])
71
- s.add_dependency(%q<simplecov>, [">= 0"])
72
- s.add_dependency(%q<faker>, [">= 0"])
73
- s.add_dependency(%q<guard-bundler>, [">= 0"])
74
- s.add_dependency(%q<guard-rspec>, [">= 0"])
75
- s.add_dependency(%q<guard-spork>, [">= 0"])
76
- s.add_dependency(%q<mocha>, [">= 0"])
77
- s.add_dependency(%q<bundler>, [">= 0"])
78
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
79
- s.add_dependency(%q<activerecord>, ["~> 3"])
80
- s.add_dependency(%q<sqlite3>, [">= 0"])
81
- end
82
- else
83
- s.add_dependency(%q<rails>, ["~> 3"])
84
- s.add_dependency(%q<hash_dealer>, [">= 0"])
85
- s.add_dependency(%q<rest-client>, [">= 0"])
86
- s.add_dependency(%q<log4r>, [">= 0"])
87
- s.add_dependency(%q<differ>, [">= 0"])
88
- s.add_dependency(%q<colorize>, [">= 0"])
89
- s.add_dependency(%q<json>, [">= 0"])
90
- s.add_dependency(%q<pry>, [">= 0"])
91
- s.add_dependency(%q<pry-doc>, [">= 0"])
92
- s.add_dependency(%q<pry-nav>, [">= 0"])
93
- s.add_dependency(%q<rspec>, [">= 0"])
94
- s.add_dependency(%q<ruby-debug19>, [">= 0"])
95
- s.add_dependency(%q<growl>, [">= 0"])
96
- s.add_dependency(%q<rspec-rails>, [">= 0"])
97
- s.add_dependency(%q<factory_girl>, [">= 0"])
98
- s.add_dependency(%q<simplecov>, [">= 0"])
99
- s.add_dependency(%q<faker>, [">= 0"])
100
- s.add_dependency(%q<guard-bundler>, [">= 0"])
101
- s.add_dependency(%q<guard-rspec>, [">= 0"])
102
- s.add_dependency(%q<guard-spork>, [">= 0"])
103
- s.add_dependency(%q<mocha>, [">= 0"])
104
- s.add_dependency(%q<bundler>, [">= 0"])
105
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
106
- s.add_dependency(%q<activerecord>, ["~> 3"])
107
- s.add_dependency(%q<sqlite3>, [">= 0"])
108
- end
40
+ gem.add_dependency "rails"
41
+ gem.add_dependency "activemodel"
42
+ gem.add_dependency "activesupport"
43
+ gem.add_dependency "json"
44
+ gem.add_dependency "rest-client"
45
+ gem.add_dependency "log4r"
109
46
  end
110
-