rabl 0.13.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (303) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +35 -0
  3. data/CONTRIBUTING.md +2 -2
  4. data/README.md +16 -11
  5. data/lib/rabl/builder.rb +29 -17
  6. data/lib/rabl/cache_engine.rb +30 -1
  7. data/lib/rabl/configuration.rb +3 -1
  8. data/lib/rabl/digestor/rails3.rb +12 -0
  9. data/lib/rabl/digestor/rails41.rb +12 -0
  10. data/lib/rabl/digestor/rails5.rb +6 -0
  11. data/lib/rabl/digestor.rb +5 -37
  12. data/lib/rabl/engine.rb +30 -11
  13. data/lib/rabl/helpers.rb +7 -3
  14. data/lib/rabl/railtie.rb +18 -1
  15. data/lib/rabl/template.rb +21 -1
  16. data/lib/rabl/version.rb +1 -1
  17. data/lib/rabl.rb +5 -5
  18. metadata +15 -298
  19. data/.gitignore +0 -8
  20. data/.travis.yml +0 -15
  21. data/Gemfile +0 -27
  22. data/Rakefile +0 -54
  23. data/examples/base.json.rabl +0 -8
  24. data/examples/demo.json.rabl +0 -42
  25. data/examples/inherited.json.rabl +0 -11
  26. data/fixtures/ashared/NOTES +0 -44
  27. data/fixtures/ashared/README +0 -39
  28. data/fixtures/ashared/migrate/20111002092016_create_users.rb +0 -15
  29. data/fixtures/ashared/migrate/20111002092019_create_posts.rb +0 -14
  30. data/fixtures/ashared/migrate/20111002092024_create_phone_numbers.rb +0 -16
  31. data/fixtures/ashared/models/phone_number.rb +0 -7
  32. data/fixtures/ashared/models/post.rb +0 -3
  33. data/fixtures/ashared/models/user.rb +0 -3
  34. data/fixtures/ashared/views/layouts/application.html.erb +0 -9
  35. data/fixtures/ashared/views/posts/_show_footer_script.js.erb +0 -1
  36. data/fixtures/ashared/views/posts/date.rabl +0 -3
  37. data/fixtures/ashared/views/posts/index.rabl +0 -12
  38. data/fixtures/ashared/views/posts/show.rabl +0 -17
  39. data/fixtures/ashared/views/users/index.json.rabl +0 -3
  40. data/fixtures/ashared/views/users/phone_number.json.rabl +0 -6
  41. data/fixtures/ashared/views/users/show.json.rabl +0 -16
  42. data/fixtures/ashared/views_rails_3/layouts/application.html.erb +0 -13
  43. data/fixtures/ashared/views_rails_3/posts/_show_footer_script.js.erb +0 -1
  44. data/fixtures/ashared/views_rails_3/posts/date.rabl +0 -3
  45. data/fixtures/ashared/views_rails_3/posts/index.html.erb +0 -3
  46. data/fixtures/ashared/views_rails_3/posts/index.rabl +0 -12
  47. data/fixtures/ashared/views_rails_3/posts/renderer.rabl +0 -8
  48. data/fixtures/ashared/views_rails_3/posts/renderer_partial.rabl +0 -4
  49. data/fixtures/ashared/views_rails_3/posts/show.html.erb +0 -3
  50. data/fixtures/ashared/views_rails_3/posts/show.rabl +0 -25
  51. data/fixtures/ashared/views_rails_3/posts/show.rabl_test_v1.rabl +0 -7
  52. data/fixtures/ashared/views_rails_3/users/index.json.rabl +0 -3
  53. data/fixtures/ashared/views_rails_3/users/phone_number.json.rabl +0 -8
  54. data/fixtures/ashared/views_rails_3/users/phone_number.xml.rabl +0 -8
  55. data/fixtures/ashared/views_rails_3/users/show.json.rabl +0 -16
  56. data/fixtures/ashared/views_rails_3/users/show.rabl_test_v1.rabl +0 -3
  57. data/fixtures/padrino_test/.components +0 -7
  58. data/fixtures/padrino_test/.gitignore +0 -7
  59. data/fixtures/padrino_test/Gemfile +0 -17
  60. data/fixtures/padrino_test/Rakefile +0 -3
  61. data/fixtures/padrino_test/app/app.rb +0 -31
  62. data/fixtures/padrino_test/app/controllers/posts.rb +0 -11
  63. data/fixtures/padrino_test/app/controllers/users.rb +0 -11
  64. data/fixtures/padrino_test/app/helpers/posts_helper.rb +0 -7
  65. data/fixtures/padrino_test/app/helpers/users_helper.rb +0 -7
  66. data/fixtures/padrino_test/config/apps.rb +0 -34
  67. data/fixtures/padrino_test/config/boot.rb +0 -29
  68. data/fixtures/padrino_test/config/database.rb +0 -43
  69. data/fixtures/padrino_test/config.ru +0 -9
  70. data/fixtures/padrino_test/db/schema.rb +0 -42
  71. data/fixtures/padrino_test/public/favicon.ico +0 -0
  72. data/fixtures/padrino_test/test/app/controllers/posts_controller_test.rb +0 -108
  73. data/fixtures/padrino_test/test/app/controllers/users_controller_test.rb +0 -87
  74. data/fixtures/padrino_test/test/test.rake +0 -18
  75. data/fixtures/padrino_test/test/test_config.rb +0 -18
  76. data/fixtures/rails2/.gitignore +0 -1
  77. data/fixtures/rails2/Gemfile +0 -10
  78. data/fixtures/rails2/Rakefile +0 -14
  79. data/fixtures/rails2/app/controllers/application_controller.rb +0 -10
  80. data/fixtures/rails2/app/controllers/posts_controller.rb +0 -15
  81. data/fixtures/rails2/app/controllers/users_controller.rb +0 -15
  82. data/fixtures/rails2/app/helpers/application_helper.rb +0 -2
  83. data/fixtures/rails2/app/helpers/posts_helper.rb +0 -2
  84. data/fixtures/rails2/app/helpers/users_helper.rb +0 -2
  85. data/fixtures/rails2/config/boot.rb +0 -129
  86. data/fixtures/rails2/config/database.yml +0 -16
  87. data/fixtures/rails2/config/environment.rb +0 -64
  88. data/fixtures/rails2/config/environments/development.rb +0 -17
  89. data/fixtures/rails2/config/environments/production.rb +0 -28
  90. data/fixtures/rails2/config/environments/test.rb +0 -28
  91. data/fixtures/rails2/config/initializers/backtrace_silencers.rb +0 -7
  92. data/fixtures/rails2/config/initializers/cookie_verification_secret.rb +0 -7
  93. data/fixtures/rails2/config/initializers/inflections.rb +0 -10
  94. data/fixtures/rails2/config/initializers/mime_types.rb +0 -5
  95. data/fixtures/rails2/config/initializers/new_rails_defaults.rb +0 -21
  96. data/fixtures/rails2/config/initializers/session_store.rb +0 -15
  97. data/fixtures/rails2/config/locales/en.yml +0 -5
  98. data/fixtures/rails2/config/preinitializer.rb +0 -20
  99. data/fixtures/rails2/config/routes.rb +0 -45
  100. data/fixtures/rails2/db/schema.rb +0 -40
  101. data/fixtures/rails2/db/seeds.rb +0 -7
  102. data/fixtures/rails2/public/404.html +0 -30
  103. data/fixtures/rails2/public/422.html +0 -30
  104. data/fixtures/rails2/public/500.html +0 -30
  105. data/fixtures/rails2/public/favicon.ico +0 -0
  106. data/fixtures/rails2/public/images/rails.png +0 -0
  107. data/fixtures/rails2/public/index.html +0 -275
  108. data/fixtures/rails2/public/robots.txt +0 -5
  109. data/fixtures/rails2/script/about +0 -4
  110. data/fixtures/rails2/script/console +0 -3
  111. data/fixtures/rails2/script/dbconsole +0 -3
  112. data/fixtures/rails2/script/destroy +0 -3
  113. data/fixtures/rails2/script/generate +0 -3
  114. data/fixtures/rails2/script/performance/benchmarker +0 -3
  115. data/fixtures/rails2/script/performance/profiler +0 -3
  116. data/fixtures/rails2/script/plugin +0 -3
  117. data/fixtures/rails2/script/runner +0 -3
  118. data/fixtures/rails2/script/server +0 -3
  119. data/fixtures/rails2/test/functionals/posts_controller_test.rb +0 -108
  120. data/fixtures/rails2/test/functionals/users_controller_test.rb +0 -87
  121. data/fixtures/rails2/test/test_helper.rb +0 -33
  122. data/fixtures/rails3/.gitignore +0 -4
  123. data/fixtures/rails3/Gemfile +0 -37
  124. data/fixtures/rails3/Rakefile +0 -12
  125. data/fixtures/rails3/app/controllers/application_controller.rb +0 -14
  126. data/fixtures/rails3/app/controllers/posts_controller.rb +0 -11
  127. data/fixtures/rails3/app/controllers/users_controller.rb +0 -11
  128. data/fixtures/rails3/config/application.rb +0 -42
  129. data/fixtures/rails3/config/boot.rb +0 -6
  130. data/fixtures/rails3/config/database.yml +0 -22
  131. data/fixtures/rails3/config/environment.rb +0 -5
  132. data/fixtures/rails3/config/environments/development.rb +0 -26
  133. data/fixtures/rails3/config/environments/production.rb +0 -49
  134. data/fixtures/rails3/config/environments/test.rb +0 -35
  135. data/fixtures/rails3/config/initializers/backtrace_silencers.rb +0 -7
  136. data/fixtures/rails3/config/initializers/inflections.rb +0 -10
  137. data/fixtures/rails3/config/initializers/mime_types.rb +0 -5
  138. data/fixtures/rails3/config/initializers/secret_token.rb +0 -7
  139. data/fixtures/rails3/config/initializers/session_store.rb +0 -8
  140. data/fixtures/rails3/config/locales/en.yml +0 -5
  141. data/fixtures/rails3/config/routes.rb +0 -61
  142. data/fixtures/rails3/config.ru +0 -4
  143. data/fixtures/rails3/db/seeds.rb +0 -7
  144. data/fixtures/rails3/lib/tasks/.gitkeep +0 -0
  145. data/fixtures/rails3/public/404.html +0 -26
  146. data/fixtures/rails3/public/422.html +0 -26
  147. data/fixtures/rails3/public/500.html +0 -26
  148. data/fixtures/rails3/public/favicon.ico +0 -0
  149. data/fixtures/rails3/public/images/rails.png +0 -0
  150. data/fixtures/rails3/public/index.html +0 -239
  151. data/fixtures/rails3/public/robots.txt +0 -5
  152. data/fixtures/rails3/public/stylesheets/.gitkeep +0 -0
  153. data/fixtures/rails3/script/rails +0 -6
  154. data/fixtures/rails3/test/functional/posts_controller_test.rb +0 -108
  155. data/fixtures/rails3/test/functional/users_controller_test.rb +0 -87
  156. data/fixtures/rails3/test/test_helper.rb +0 -26
  157. data/fixtures/rails3_2/.gitignore +0 -15
  158. data/fixtures/rails3_2/Gemfile +0 -40
  159. data/fixtures/rails3_2/README.rdoc +0 -261
  160. data/fixtures/rails3_2/Rakefile +0 -12
  161. data/fixtures/rails3_2/app/assets/images/rails.png +0 -0
  162. data/fixtures/rails3_2/app/assets/javascripts/application.js +0 -15
  163. data/fixtures/rails3_2/app/assets/javascripts/posts.js.coffee +0 -3
  164. data/fixtures/rails3_2/app/assets/javascripts/users.js.coffee +0 -3
  165. data/fixtures/rails3_2/app/assets/stylesheets/application.css +0 -13
  166. data/fixtures/rails3_2/app/assets/stylesheets/posts.css.scss +0 -3
  167. data/fixtures/rails3_2/app/assets/stylesheets/users.css.scss +0 -3
  168. data/fixtures/rails3_2/app/controllers/application_controller.rb +0 -14
  169. data/fixtures/rails3_2/app/controllers/posts_controller.rb +0 -16
  170. data/fixtures/rails3_2/app/controllers/users_controller.rb +0 -11
  171. data/fixtures/rails3_2/app/helpers/application_helper.rb +0 -5
  172. data/fixtures/rails3_2/app/helpers/posts_helper.rb +0 -2
  173. data/fixtures/rails3_2/app/helpers/users_helper.rb +0 -2
  174. data/fixtures/rails3_2/app/mailers/.gitkeep +0 -0
  175. data/fixtures/rails3_2/config/application.rb +0 -59
  176. data/fixtures/rails3_2/config/boot.rb +0 -6
  177. data/fixtures/rails3_2/config/database.yml +0 -25
  178. data/fixtures/rails3_2/config/environment.rb +0 -5
  179. data/fixtures/rails3_2/config/environments/development.rb +0 -37
  180. data/fixtures/rails3_2/config/environments/production.rb +0 -67
  181. data/fixtures/rails3_2/config/environments/test.rb +0 -37
  182. data/fixtures/rails3_2/config/initializers/backtrace_silencers.rb +0 -7
  183. data/fixtures/rails3_2/config/initializers/inflections.rb +0 -15
  184. data/fixtures/rails3_2/config/initializers/mime_types.rb +0 -7
  185. data/fixtures/rails3_2/config/initializers/secret_token.rb +0 -7
  186. data/fixtures/rails3_2/config/initializers/session_store.rb +0 -8
  187. data/fixtures/rails3_2/config/initializers/wrap_parameters.rb +0 -14
  188. data/fixtures/rails3_2/config/locales/en.yml +0 -5
  189. data/fixtures/rails3_2/config/routes.rb +0 -64
  190. data/fixtures/rails3_2/config.ru +0 -4
  191. data/fixtures/rails3_2/db/schema.rb +0 -42
  192. data/fixtures/rails3_2/db/seeds.rb +0 -7
  193. data/fixtures/rails3_2/doc/README_FOR_APP +0 -2
  194. data/fixtures/rails3_2/lib/assets/.gitkeep +0 -0
  195. data/fixtures/rails3_2/lib/tasks/.gitkeep +0 -0
  196. data/fixtures/rails3_2/log/.gitkeep +0 -0
  197. data/fixtures/rails3_2/public/404.html +0 -26
  198. data/fixtures/rails3_2/public/422.html +0 -26
  199. data/fixtures/rails3_2/public/500.html +0 -25
  200. data/fixtures/rails3_2/public/favicon.ico +0 -0
  201. data/fixtures/rails3_2/public/index.html +0 -241
  202. data/fixtures/rails3_2/public/robots.txt +0 -5
  203. data/fixtures/rails3_2/script/rails +0 -6
  204. data/fixtures/rails3_2/test/fixtures/phone_numbers.yml +0 -11
  205. data/fixtures/rails3_2/test/fixtures/posts.yml +0 -11
  206. data/fixtures/rails3_2/test/fixtures/users.yml +0 -11
  207. data/fixtures/rails3_2/test/functional/posts_controller_test.rb +0 -263
  208. data/fixtures/rails3_2/test/functional/users_controller_test.rb +0 -87
  209. data/fixtures/rails3_2/test/integration/.gitkeep +0 -0
  210. data/fixtures/rails3_2/test/performance/browsing_test.rb +0 -12
  211. data/fixtures/rails3_2/test/test_helper.rb +0 -26
  212. data/fixtures/rails3_2/test/unit/helpers/posts_helper_test.rb +0 -4
  213. data/fixtures/rails3_2/test/unit/helpers/users_helper_test.rb +0 -4
  214. data/fixtures/rails3_2/test/unit/phone_number_test.rb +0 -7
  215. data/fixtures/rails3_2/test/unit/post_test.rb +0 -7
  216. data/fixtures/rails3_2/test/unit/user_test.rb +0 -7
  217. data/fixtures/rails3_2/vendor/assets/javascripts/.gitkeep +0 -0
  218. data/fixtures/rails3_2/vendor/assets/stylesheets/.gitkeep +0 -0
  219. data/fixtures/rails3_2/vendor/plugins/.gitkeep +0 -0
  220. data/fixtures/rails4/.gitignore +0 -16
  221. data/fixtures/rails4/Gemfile +0 -49
  222. data/fixtures/rails4/README.rdoc +0 -28
  223. data/fixtures/rails4/Rakefile +0 -11
  224. data/fixtures/rails4/app/assets/javascripts/application.js +0 -16
  225. data/fixtures/rails4/app/assets/stylesheets/application.css +0 -13
  226. data/fixtures/rails4/app/controllers/application_controller.rb +0 -5
  227. data/fixtures/rails4/app/controllers/concerns/.keep +0 -0
  228. data/fixtures/rails4/app/controllers/posts_controller.rb +0 -16
  229. data/fixtures/rails4/app/controllers/users_controller.rb +0 -11
  230. data/fixtures/rails4/app/helpers/application_helper.rb +0 -5
  231. data/fixtures/rails4/app/mailers/.keep +0 -0
  232. data/fixtures/rails4/bin/bundle +0 -3
  233. data/fixtures/rails4/bin/rails +0 -4
  234. data/fixtures/rails4/bin/rake +0 -4
  235. data/fixtures/rails4/config/application.rb +0 -23
  236. data/fixtures/rails4/config/boot.rb +0 -4
  237. data/fixtures/rails4/config/database.yml +0 -25
  238. data/fixtures/rails4/config/environment.rb +0 -5
  239. data/fixtures/rails4/config/environments/development.rb +0 -29
  240. data/fixtures/rails4/config/environments/production.rb +0 -80
  241. data/fixtures/rails4/config/environments/test.rb +0 -36
  242. data/fixtures/rails4/config/initializers/backtrace_silencers.rb +0 -7
  243. data/fixtures/rails4/config/initializers/filter_parameter_logging.rb +0 -4
  244. data/fixtures/rails4/config/initializers/inflections.rb +0 -16
  245. data/fixtures/rails4/config/initializers/mime_types.rb +0 -7
  246. data/fixtures/rails4/config/initializers/secret_token.rb +0 -12
  247. data/fixtures/rails4/config/initializers/session_store.rb +0 -3
  248. data/fixtures/rails4/config/initializers/wrap_parameters.rb +0 -14
  249. data/fixtures/rails4/config/locales/en.yml +0 -23
  250. data/fixtures/rails4/config/routes.rb +0 -55
  251. data/fixtures/rails4/config.ru +0 -4
  252. data/fixtures/rails4/db/seeds.rb +0 -7
  253. data/fixtures/rails4/lib/assets/.keep +0 -0
  254. data/fixtures/rails4/lib/tasks/.keep +0 -0
  255. data/fixtures/rails4/log/.keep +0 -0
  256. data/fixtures/rails4/public/404.html +0 -58
  257. data/fixtures/rails4/public/422.html +0 -58
  258. data/fixtures/rails4/public/500.html +0 -57
  259. data/fixtures/rails4/public/favicon.ico +0 -0
  260. data/fixtures/rails4/public/robots.txt +0 -5
  261. data/fixtures/rails4/test/controllers/.keep +0 -0
  262. data/fixtures/rails4/test/fixtures/.keep +0 -0
  263. data/fixtures/rails4/test/functional/posts_controller_test.rb +0 -248
  264. data/fixtures/rails4/test/functional/users_controller_test.rb +0 -87
  265. data/fixtures/rails4/test/helpers/.keep +0 -0
  266. data/fixtures/rails4/test/integration/.keep +0 -0
  267. data/fixtures/rails4/test/mailers/.keep +0 -0
  268. data/fixtures/rails4/test/models/.keep +0 -0
  269. data/fixtures/rails4/test/test_helper.rb +0 -26
  270. data/fixtures/rails4/vendor/assets/javascripts/.keep +0 -0
  271. data/fixtures/rails4/vendor/assets/stylesheets/.keep +0 -0
  272. data/fixtures/sinatra_test/Gemfile +0 -13
  273. data/fixtures/sinatra_test/Rakefile +0 -6
  274. data/fixtures/sinatra_test/app.rb +0 -55
  275. data/fixtures/sinatra_test/config.ru +0 -7
  276. data/fixtures/sinatra_test/test/functional/posts_controller_test.rb +0 -108
  277. data/fixtures/sinatra_test/test/functional/users_controller_test.rb +0 -87
  278. data/fixtures/sinatra_test/test/test_helper.rb +0 -19
  279. data/rabl.gemspec +0 -36
  280. data/test/bson_engine_test.rb +0 -310
  281. data/test/builder_test.rb +0 -362
  282. data/test/configuration_test.rb +0 -91
  283. data/test/engine_test.rb +0 -835
  284. data/test/helpers_test.rb +0 -136
  285. data/test/integration/posts_controller_test.rb +0 -108
  286. data/test/integration/rails3_2/posts_controller_test.rb +0 -263
  287. data/test/integration/rails3_2/users_controller_test.rb +0 -87
  288. data/test/integration/rails4/posts_controller_test.rb +0 -248
  289. data/test/integration/rails4/users_controller_test.rb +0 -87
  290. data/test/integration/test_init.rb +0 -36
  291. data/test/integration/users_controller_test.rb +0 -87
  292. data/test/models/ormless.rb +0 -3
  293. data/test/models/user.rb +0 -34
  294. data/test/msgpack_engine_test.rb +0 -312
  295. data/test/multi_builder_test.rb +0 -69
  296. data/test/partials_test.rb +0 -205
  297. data/test/plist_engine_test.rb +0 -308
  298. data/test/renderer_test.rb +0 -390
  299. data/test/silence.rb +0 -21
  300. data/test/template_test.rb +0 -63
  301. data/test/teststrap.rb +0 -37
  302. data/test/xml_test.rb +0 -297
  303. data/test.watchr +0 -47
@@ -1,87 +0,0 @@
1
- # Lives in <rabl>/test/integration/users_controller_test.rb
2
- # Symlinked to fixture applications
3
-
4
- begin # Sinatra
5
- require File.expand_path(File.dirname(__FILE__) + '/../../test_config.rb')
6
- rescue LoadError # Rails
7
- require File.expand_path(File.dirname(__FILE__) + '/../test_helper.rb')
8
- end
9
-
10
- context "UsersController" do
11
- helper(:json_output) { JSON.parse(last_response.body) }
12
-
13
- setup do
14
- create_users!
15
- end
16
-
17
- context "for index action" do
18
- # Tests `collection @users` extending from 'show' template
19
-
20
- setup do
21
- get "/users"
22
- end
23
-
24
- # Attributes (regular)
25
- asserts("contains user usernames") do
26
- json_output.map { |u| u["user"]["username"] }
27
- end.equals { @users.map(&:username) }
28
- asserts("contains email") do
29
- json_output.map { |u| u["user"]["email"] }
30
- end.equals { @users.map(&:email) }
31
- asserts("contains location") do
32
- json_output.map { |u| u["user"]["location"] }
33
- end.equals { @users.map(&:location) }
34
-
35
- # Attributes (custom name)
36
- asserts("contains registered_at") do
37
- json_output.map { |u| u["user"]["registered_at"] }
38
- end.equals { @users.map(&:created_at).map(&:iso8601) }
39
-
40
- # Node (renders based on attribute)
41
- asserts("contains role") do
42
- json_output.map { |u| u["user"]["role"] }
43
- end.equals ['normal', 'normal', 'admin']
44
-
45
- # Child (custom collection name)
46
- asserts("contains formatted phone numbers") do
47
- json_output.map { |u| u["user"]["pnumbers"].map { |n| n["pnumber"]["formatted"] } }
48
- end.equals { @users.map { |u| u.phone_numbers.map(&:formatted) } }
49
-
50
- # Node (renders collection partial)
51
- asserts("contains formatted node numbers") do
52
- json_output.map { |u| u["user"]["node_numbers"].map { |n| n["formatted"] } }
53
- end.equals { @users.map { |u| u.phone_numbers.map(&:formatted) } }
54
- end # index
55
-
56
- context "for show action" do
57
- # Tests `object :user => :person` custom parent node name
58
- setup do
59
- get "/users/#{@user1.id}"
60
- end
61
-
62
- # Attributes (regular)
63
- asserts("contains username") { json_output["person"]["username"] }.equals { @user1.username }
64
- asserts("contains email") { json_output["person"]["email"] }.equals { @user1.email }
65
- asserts("contains location") { json_output["person"]["location"] }.equals { @user1.location }
66
- # Attributes (custom name)
67
- asserts("contains registered_at") { json_output["person"]["registered_at"] }.equals { @user1.created_at.iso8601 }
68
- # Node (renders based on attribute)
69
- asserts("contains role node") { json_output["person"]["role"] }.equals "normal"
70
-
71
- # Child (custom collection name)
72
- asserts("contains first phone number") {
73
- json_output["person"]["pnumbers"][0]["pnumber"]["formatted"]
74
- }.equals { @user1.phone_numbers[0].formatted }
75
- asserts("contains second phone number") {
76
- json_output["person"]["pnumbers"][1]["pnumber"]["formatted"]
77
- }.equals { @user1.phone_numbers[1].formatted }
78
-
79
- # Node (renders collection partial)
80
- asserts("contains first node number") {
81
- json_output["person"]["node_numbers"][0]["formatted"]
82
- }.equals { @user1.phone_numbers[0].formatted }
83
- asserts("contains second node number") {
84
- json_output["person"]["node_numbers"][1]["formatted"]
85
- }.equals { @user1.phone_numbers[1].formatted }
86
- end # show
87
- end
@@ -1,18 +0,0 @@
1
- require 'rake/testtask'
2
-
3
- test_tasks = Dir['test/*/'].map { |d| File.basename(d) }
4
-
5
- test_tasks.each do |folder|
6
- Rake::TestTask.new("test:#{folder}") do |test|
7
- test.pattern = "test/#{folder}/**/*_test.rb"
8
- test.verbose = true
9
- end
10
- end
11
-
12
- desc "Run application test suite"
13
- task 'test' => test_tasks.map { |f| "test:#{f}" }
14
-
15
- Rake::TestTask.new("test:rabl") do |test|
16
- test.pattern = "test/app/controllers/**/*_test.rb"
17
- test.verbose = true
18
- end
@@ -1,18 +0,0 @@
1
- # Load Silence Functionality
2
- require File.expand_path(File.dirname(__FILE__) + "/../../../test/silence.rb")
3
-
4
- silence_warnings do
5
- PADRINO_ENV = 'test' unless defined?(PADRINO_ENV)
6
- require File.expand_path(File.dirname(__FILE__) + "/../config/boot")
7
- silence_stream(STDOUT) { ActiveRecord::Migrator.up('db/migrate') } # Load up test migrations
8
- end
9
-
10
- # Load Riot Test Environment
11
- require File.expand_path(File.dirname(__FILE__) + "/../../../test/integration/test_init.rb")
12
-
13
- class Riot::Situation
14
- def app
15
- @app || Padrino.application
16
- end
17
- end
18
-
@@ -1 +0,0 @@
1
- log/*
@@ -1,10 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem "rails", "~> 2.3.18"
4
- gem "sqlite3", :require => "sqlite3"
5
- gem 'json'
6
- gem 'rabl', :path => File.expand_path(File.dirname(__FILE__) + "/../../")
7
- gem 'rake', "~> 0.9.2.2"
8
-
9
- gem 'riot', :group => "test"
10
- gem 'rack-test', :require => "rack/test", :group => "test"
@@ -1,14 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require(File.join(File.dirname(__FILE__), 'config', 'boot'))
5
-
6
- require 'rake'
7
- require 'rake/testtask'
8
-
9
- require 'tasks/rails'
10
-
11
- Rake::TestTask.new("test:rabl") do |test|
12
- test.pattern = "test/functionals/**/*_test.rb"
13
- test.verbose = true
14
- end
@@ -1,10 +0,0 @@
1
- # Filters added to this controller apply to all controllers in the application.
2
- # Likewise, all the methods added will be available for all controllers.
3
-
4
- class ApplicationController < ActionController::Base
5
- helper :all # include all helpers, all the time
6
- protect_from_forgery # See ActionController::RequestForgeryProtection for details
7
-
8
- # Scrub sensitive parameters from your log
9
- # filter_parameter_logging :password
10
- end
@@ -1,15 +0,0 @@
1
- class PostsController < ApplicationController
2
- def index
3
- @posts = Post.all(:order => "id ASC")
4
- respond_to do |format|
5
- format.json { render "posts/index" }
6
- end
7
- end
8
-
9
- def show
10
- @post = Post.find(params[:id])
11
- respond_to do |format|
12
- format.json { render "posts/show" }
13
- end
14
- end
15
- end
@@ -1,15 +0,0 @@
1
- class UsersController < ApplicationController
2
- def index
3
- @users = User.all(:order => "username ASC")
4
- respond_to do |format|
5
- format.json { render "users/index" }
6
- end
7
- end
8
-
9
- def show
10
- @user = User.find(params[:id])
11
- respond_to do |format|
12
- format.json { render "users/show" }
13
- end
14
- end
15
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,2 +0,0 @@
1
- module PostsHelper
2
- end
@@ -1,2 +0,0 @@
1
- module UsersHelper
2
- end
@@ -1,129 +0,0 @@
1
- # Don't change this file!
2
- # Configure your app in config/environment.rb and config/environments/*.rb
3
-
4
- RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
5
-
6
- module Rails
7
- class << self
8
- def boot!
9
- unless booted?
10
- preinitialize
11
- pick_boot.run
12
- end
13
- end
14
-
15
- def booted?
16
- defined? Rails::Initializer
17
- end
18
-
19
- def pick_boot
20
- (vendor_rails? ? VendorBoot : GemBoot).new
21
- end
22
-
23
- def vendor_rails?
24
- File.exist?("#{RAILS_ROOT}/vendor/rails")
25
- end
26
-
27
- def preinitialize
28
- load(preinitializer_path) if File.exist?(preinitializer_path)
29
- end
30
-
31
- def preinitializer_path
32
- "#{RAILS_ROOT}/config/preinitializer.rb"
33
- end
34
- end
35
-
36
- class Boot
37
- def run
38
- load_initializer
39
- Rails::Initializer.run(:set_load_path)
40
- end
41
- end
42
-
43
- class VendorBoot < Boot
44
- def load_initializer
45
- require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
46
- Rails::Initializer.run(:install_gem_spec_stubs)
47
- Rails::GemDependency.add_frozen_gem_path
48
- end
49
- end
50
-
51
- class GemBoot < Boot
52
- def load_initializer
53
- self.class.load_rubygems
54
- load_rails_gem
55
- require 'initializer'
56
- end
57
-
58
- def load_rails_gem
59
- if version = self.class.gem_version
60
- gem 'rails', version
61
- else
62
- gem 'rails'
63
- end
64
- rescue Gem::LoadError => load_error
65
- if load_error.message =~ /Could not find RubyGem rails/
66
- STDERR.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
67
- exit 1
68
- else
69
- raise
70
- end
71
- end
72
-
73
- class << self
74
- def rubygems_version
75
- Gem::RubyGemsVersion rescue nil
76
- end
77
-
78
- def gem_version
79
- if defined? RAILS_GEM_VERSION
80
- RAILS_GEM_VERSION
81
- elsif ENV.include?('RAILS_GEM_VERSION')
82
- ENV['RAILS_GEM_VERSION']
83
- else
84
- parse_gem_version(read_environment_rb)
85
- end
86
- end
87
-
88
- def load_rubygems
89
- min_version = '1.3.2'
90
- require 'rubygems'
91
- unless rubygems_version >= min_version
92
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
93
- exit 1
94
- end
95
-
96
- rescue LoadError
97
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
98
- exit 1
99
- end
100
-
101
- def parse_gem_version(text)
102
- $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
103
- end
104
-
105
- private
106
- def read_environment_rb
107
- File.read("#{RAILS_ROOT}/config/environment.rb")
108
- end
109
- end
110
- end
111
- end
112
-
113
- # Bundler: http://gembundler.com/rails23.html
114
- class Rails::Boot
115
- def run
116
- load_initializer
117
-
118
- Rails::Initializer.class_eval do
119
- def load_gems
120
- @bundler_loaded ||= Bundler.require :default, Rails.env
121
- end
122
- end
123
-
124
- Rails::Initializer.run(:set_load_path)
125
- end
126
- end
127
-
128
- # All that for this:
129
- Rails.boot!
@@ -1,16 +0,0 @@
1
- # SQLite version 3.x
2
- # gem install sqlite3-ruby (not necessary on OS X Leopard)
3
- development:
4
- adapter: sqlite3
5
- database: ":memory:"
6
- pool: 5
7
- timeout: 5000
8
-
9
- # Warning: The database defined as "test" will be erased and
10
- # re-generated from your development database when you run "rake".
11
- # Do not set this db to the same as development or production.
12
- test:
13
- adapter: sqlite3
14
- database: ":memory:"
15
- pool: 5
16
- timeout: 5000
@@ -1,64 +0,0 @@
1
- # Be sure to restart your server when you modify this file
2
-
3
- # Specifies gem version of Rails to use when vendor/rails is not present
4
- RAILS_GEM_VERSION = '2.3.18' unless defined? RAILS_GEM_VERSION
5
-
6
- # Bootstrap the Rails environment, frameworks, and default configuration
7
- require File.join(File.dirname(__FILE__), 'boot')
8
-
9
- # Hot patch since Gem.source_index was deprecated in later rubygems
10
- unless Gem.method_defined?(:source_index)
11
- module Gem
12
- def self.source_index
13
- sources
14
- end
15
-
16
- def self.cache
17
- sources
18
- end
19
-
20
- SourceIndex = Specification
21
-
22
- class SourceList
23
- # If you want vendor gems, this is where to start writing code.
24
- def search( *args ); []; end
25
- def each( &block ); end
26
- include Enumerable
27
- end
28
- end
29
- end
30
-
31
- Rails::Initializer.run do |config|
32
- # Settings in config/environments/* take precedence over those specified here.
33
- # Application configuration should go into files in config/initializers
34
- # -- all .rb files in that directory are automatically loaded.
35
-
36
- # Add additional load paths for your own custom dirs
37
- # config.autoload_paths += %W( #{RAILS_ROOT}/extras )
38
-
39
- # Specify gems that this application depends on and have them installed with rake gems:install
40
- # config.gem "bj"
41
- # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
42
- # config.gem "sqlite3-ruby", :lib => "sqlite3"
43
- # config.gem "aws-s3", :lib => "aws/s3"
44
- config.gem "rack-test", :lib => "rack/test"
45
-
46
- # Only load the plugins named here, in the order given (default is alphabetical).
47
- # :all can be used as a placeholder for all plugins not explicitly named
48
- # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
49
-
50
- # Skip frameworks you're not going to use. To use Rails without a database,
51
- # you must remove the Active Record framework.
52
- # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
53
-
54
- # Activate observers that should always be running
55
- # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
56
-
57
- # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
58
- # Run "rake -D time" for a list of tasks for finding time zone names.
59
- config.time_zone = 'UTC'
60
-
61
- # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
62
- # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
63
- # config.i18n.default_locale = :de
64
- end
@@ -1,17 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # In the development environment your application's code is reloaded on
4
- # every request. This slows down response time but is perfect for development
5
- # since you don't have to restart the webserver when you make code changes.
6
- config.cache_classes = false
7
-
8
- # Log error messages when you accidentally call methods on nil.
9
- config.whiny_nils = true
10
-
11
- # Show full error reports and disable caching
12
- config.action_controller.consider_all_requests_local = true
13
- config.action_view.debug_rjs = true
14
- config.action_controller.perform_caching = false
15
-
16
- # Don't care if the mailer can't send
17
- config.action_mailer.raise_delivery_errors = false
@@ -1,28 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # The production environment is meant for finished, "live" apps.
4
- # Code is not reloaded between requests
5
- config.cache_classes = true
6
-
7
- # Full error reports are disabled and caching is turned on
8
- config.action_controller.consider_all_requests_local = false
9
- config.action_controller.perform_caching = true
10
- config.action_view.cache_template_loading = true
11
-
12
- # See everything in the log (default is :info)
13
- # config.log_level = :debug
14
-
15
- # Use a different logger for distributed setups
16
- # config.logger = SyslogLogger.new
17
-
18
- # Use a different cache store in production
19
- # config.cache_store = :mem_cache_store
20
-
21
- # Enable serving of images, stylesheets, and javascripts from an asset server
22
- # config.action_controller.asset_host = "http://assets.example.com"
23
-
24
- # Disable delivery errors, bad email addresses will be ignored
25
- # config.action_mailer.raise_delivery_errors = false
26
-
27
- # Enable threaded mode
28
- # config.threadsafe!
@@ -1,28 +0,0 @@
1
- # Settings specified here will take precedence over those in config/environment.rb
2
-
3
- # The test environment is used exclusively to run your application's
4
- # test suite. You never need to work with it otherwise. Remember that
5
- # your test database is "scratch space" for the test suite and is wiped
6
- # and recreated between test runs. Don't rely on the data there!
7
- config.cache_classes = true
8
-
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
-
12
- # Show full error reports and disable caching
13
- config.action_controller.consider_all_requests_local = true
14
- config.action_controller.perform_caching = false
15
- config.action_view.cache_template_loading = true
16
-
17
- # Disable request forgery protection in test environment
18
- config.action_controller.allow_forgery_protection = false
19
-
20
- # Tell Action Mailer not to deliver emails to the real world.
21
- # The :test delivery method accumulates sent emails in the
22
- # ActionMailer::Base.deliveries array.
23
- config.action_mailer.delivery_method = :test
24
-
25
- # Use SQL instead of Active Record's schema dumper when creating the test database.
26
- # This is necessary if your schema can't be completely dumped by the schema dumper,
27
- # like if you have constraints or database-specific column types
28
- # config.active_record.schema_format = :sql
@@ -1,7 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
- # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
-
6
- # You can also remove all the silencers if you're trying do debug a problem that might steem from framework code.
7
- # Rails.backtrace_cleaner.remove_silencers!
@@ -1,7 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
- # Make sure the secret is at least 30 characters and all random,
6
- # no regular words or you'll be exposed to dictionary attacks.
7
- ActionController::Base.cookie_verifier_secret = '07d74a7edfe4b5e0cf80f002948a3907a515a0dc6c8fdb2411dc73de8547012acde659641dba5cc31b5a40a09c4fd1298c2ea0080eda689181ed786502e70e00';
@@ -1,10 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new inflection rules using the following format
4
- # (all these examples are active by default):
5
- # ActiveSupport::Inflector.inflections do |inflect|
6
- # inflect.plural /^(ox)$/i, '\1en'
7
- # inflect.singular /^(ox)en/i, '\1'
8
- # inflect.irregular 'person', 'people'
9
- # inflect.uncountable %w( fish sheep )
10
- # end
@@ -1,5 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new mime types for use in respond_to blocks:
4
- # Mime::Type.register "text/richtext", :rtf
5
- # Mime::Type.register_alias "text/html", :iphone
@@ -1,21 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # These settings change the behavior of Rails 2 apps and will be defaults
4
- # for Rails 3. You can remove this initializer when Rails 3 is released.
5
-
6
- if defined?(ActiveRecord)
7
- # Include Active Record class name as root for JSON serialized output.
8
- ActiveRecord::Base.include_root_in_json = true
9
-
10
- # Store the full class name (including module namespace) in STI type column.
11
- ActiveRecord::Base.store_full_sti_class = true
12
- end
13
-
14
- ActionController::Routing.generate_best_match = false
15
-
16
- # Use ISO 8601 format for JSON serialized times and dates.
17
- ActiveSupport.use_standard_json_time_format = true
18
-
19
- # Don't escape HTML entities in JSON, leave that for the #json_escape helper.
20
- # if you're including raw json in an HTML page.
21
- ActiveSupport.escape_html_entities_in_json = false
@@ -1,15 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key for verifying cookie session data integrity.
4
- # If you change this key, all old sessions will become invalid!
5
- # Make sure the secret is at least 30 characters and all random,
6
- # no regular words or you'll be exposed to dictionary attacks.
7
- ActionController::Base.session = {
8
- :key => '_rails2_session',
9
- :secret => 'b2d31ab1f626a19684aee969cb099d7ab2824150dae712c1c69aaf421bbce2ceb9c2ae85ea9f213440e6baa8e6029f75cebe80fa3af2de8309f885e5f646e8a8'
10
- }
11
-
12
- # Use the database for sessions instead of the cookie-based default,
13
- # which shouldn't be used to store highly confidential information
14
- # (create the session table with "rake db:sessions:create")
15
- # ActionController::Base.session_store = :active_record_store
@@ -1,5 +0,0 @@
1
- # Sample localization file for English. Add more files in this directory for other locales.
2
- # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
-
4
- en:
5
- hello: "Hello world"
@@ -1,20 +0,0 @@
1
- begin
2
- require "rubygems"
3
- require "bundler"
4
- rescue LoadError
5
- raise "Could not load the bundler gem. Install it with `gem install bundler`."
6
- end
7
-
8
- if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.24")
9
- raise RuntimeError, "Your bundler version is too old for Rails 2.3." +
10
- "Run `gem install bundler` to upgrade."
11
- end
12
-
13
- begin
14
- # Set up load paths for all bundled gems
15
- ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)
16
- Bundler.setup
17
- rescue Bundler::GemNotFound
18
- raise RuntimeError, "Bundler couldn't find some gems." +
19
- "Did you run `bundle install`?"
20
- end
@@ -1,45 +0,0 @@
1
- ActionController::Routing::Routes.draw do |map|
2
- map.resources :posts
3
- map.resources :users
4
- # The priority is based upon order of creation: first created -> highest priority.
5
-
6
- # Sample of regular route:
7
- # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
8
- # Keep in mind you can assign values other than :controller and :action
9
-
10
- # Sample of named route:
11
- # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
12
- # This route can be invoked with purchase_url(:id => product.id)
13
-
14
- # Sample resource route (maps HTTP verbs to controller actions automatically):
15
- # map.resources :products
16
-
17
- # Sample resource route with options:
18
- # map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
19
-
20
- # Sample resource route with sub-resources:
21
- # map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
22
-
23
- # Sample resource route with more complex sub-resources
24
- # map.resources :products do |products|
25
- # products.resources :comments
26
- # products.resources :sales, :collection => { :recent => :get }
27
- # end
28
-
29
- # Sample resource route within a namespace:
30
- # map.namespace :admin do |admin|
31
- # # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
32
- # admin.resources :products
33
- # end
34
-
35
- # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
36
- # map.root :controller => "welcome"
37
-
38
- # See how all your routes lay out with "rake routes"
39
-
40
- # Install the default routes as the lowest priority.
41
- # Note: These default routes make all actions in every controller accessible via GET requests. You should
42
- # consider removing or commenting them out if you're using named routes and resources.
43
- # map.connect ':controller/:action/:id'
44
- # map.connect ':controller/:action/:id.:format'
45
- end