rabl 0.14.3 → 0.14.4

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 (560) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +6 -0
  3. data/lib/rabl/version.rb +1 -1
  4. metadata +2 -558
  5. data/.gitignore +0 -8
  6. data/.travis.yml +0 -18
  7. data/Gemfile +0 -29
  8. data/Rakefile +0 -63
  9. data/examples/base.json.rabl +0 -8
  10. data/examples/demo.json.rabl +0 -42
  11. data/examples/inherited.json.rabl +0 -11
  12. data/fixtures/ashared/NOTES +0 -100
  13. data/fixtures/ashared/README +0 -39
  14. data/fixtures/ashared/controllers_rails_5/posts_controller.rb +0 -17
  15. data/fixtures/ashared/controllers_rails_5/users_controller.rb +0 -11
  16. data/fixtures/ashared/helpers/application_helper.rb +0 -5
  17. data/fixtures/ashared/migrate/20111002092016_create_users.rb +0 -15
  18. data/fixtures/ashared/migrate/20111002092019_create_posts.rb +0 -14
  19. data/fixtures/ashared/migrate/20111002092024_create_phone_numbers.rb +0 -16
  20. data/fixtures/ashared/models/phone_number.rb +0 -7
  21. data/fixtures/ashared/models/post.rb +0 -3
  22. data/fixtures/ashared/models/user.rb +0 -3
  23. data/fixtures/ashared/views/layouts/application.html.erb +0 -9
  24. data/fixtures/ashared/views/posts/_show_footer_script.js.erb +0 -1
  25. data/fixtures/ashared/views/posts/date.rabl +0 -3
  26. data/fixtures/ashared/views/posts/index.rabl +0 -12
  27. data/fixtures/ashared/views/posts/show.rabl +0 -17
  28. data/fixtures/ashared/views/users/index.json.rabl +0 -3
  29. data/fixtures/ashared/views/users/phone_number.json.rabl +0 -6
  30. data/fixtures/ashared/views/users/show.json.rabl +0 -16
  31. data/fixtures/ashared/views_rails_3/layouts/application.html.erb +0 -13
  32. data/fixtures/ashared/views_rails_3/posts/_show_footer_script.js.erb +0 -1
  33. data/fixtures/ashared/views_rails_3/posts/date.rabl +0 -3
  34. data/fixtures/ashared/views_rails_3/posts/index.html.erb +0 -3
  35. data/fixtures/ashared/views_rails_3/posts/index.rabl +0 -12
  36. data/fixtures/ashared/views_rails_3/posts/renderer.rabl +0 -8
  37. data/fixtures/ashared/views_rails_3/posts/renderer_partial.rabl +0 -4
  38. data/fixtures/ashared/views_rails_3/posts/show.html.erb +0 -3
  39. data/fixtures/ashared/views_rails_3/posts/show.rabl +0 -25
  40. data/fixtures/ashared/views_rails_3/posts/show.rabl_test_v1.rabl +0 -7
  41. data/fixtures/ashared/views_rails_3/users/index.json.rabl +0 -3
  42. data/fixtures/ashared/views_rails_3/users/phone_number.json.rabl +0 -8
  43. data/fixtures/ashared/views_rails_3/users/phone_number.xml.rabl +0 -1
  44. data/fixtures/ashared/views_rails_3/users/show.json.rabl +0 -16
  45. data/fixtures/ashared/views_rails_3/users/show.rabl_test_v1.rabl +0 -3
  46. data/fixtures/ashared/views_rails_6/layouts/application.html.erb +0 -13
  47. data/fixtures/ashared/views_rails_6/posts/_show_footer_script.js.erb +0 -1
  48. data/fixtures/ashared/views_rails_6/posts/date.rabl +0 -3
  49. data/fixtures/ashared/views_rails_6/posts/index.html.erb +0 -3
  50. data/fixtures/ashared/views_rails_6/posts/index.rabl +0 -12
  51. data/fixtures/ashared/views_rails_6/posts/renderer.rabl +0 -8
  52. data/fixtures/ashared/views_rails_6/posts/renderer_partial.rabl +0 -4
  53. data/fixtures/ashared/views_rails_6/posts/show.html.erb +0 -3
  54. data/fixtures/ashared/views_rails_6/posts/show.rabl +0 -25
  55. data/fixtures/ashared/views_rails_6/posts/show.rabl_test_v1.rabl +0 -7
  56. data/fixtures/ashared/views_rails_6/users/index.json.rabl +0 -3
  57. data/fixtures/ashared/views_rails_6/users/phone_number.json.rabl +0 -8
  58. data/fixtures/ashared/views_rails_6/users/phone_number.xml.rabl +0 -1
  59. data/fixtures/ashared/views_rails_6/users/show.json.rabl +0 -16
  60. data/fixtures/ashared/views_rails_6/users/show.rabl_test_v1.rabl +0 -3
  61. data/fixtures/padrino_test/.components +0 -7
  62. data/fixtures/padrino_test/.gitignore +0 -7
  63. data/fixtures/padrino_test/Gemfile +0 -17
  64. data/fixtures/padrino_test/Rakefile +0 -3
  65. data/fixtures/padrino_test/app/app.rb +0 -31
  66. data/fixtures/padrino_test/app/controllers/posts.rb +0 -11
  67. data/fixtures/padrino_test/app/controllers/users.rb +0 -11
  68. data/fixtures/padrino_test/app/helpers/posts_helper.rb +0 -7
  69. data/fixtures/padrino_test/app/helpers/users_helper.rb +0 -7
  70. data/fixtures/padrino_test/app/views +0 -1
  71. data/fixtures/padrino_test/config.ru +0 -9
  72. data/fixtures/padrino_test/config/apps.rb +0 -34
  73. data/fixtures/padrino_test/config/boot.rb +0 -29
  74. data/fixtures/padrino_test/config/database.rb +0 -43
  75. data/fixtures/padrino_test/db/migrate +0 -1
  76. data/fixtures/padrino_test/db/schema.rb +0 -42
  77. data/fixtures/padrino_test/models +0 -1
  78. data/fixtures/padrino_test/public/favicon.ico +0 -0
  79. data/fixtures/padrino_test/test/app/controllers/posts_controller_test.rb +0 -1
  80. data/fixtures/padrino_test/test/app/controllers/users_controller_test.rb +0 -1
  81. data/fixtures/padrino_test/test/test.rake +0 -18
  82. data/fixtures/padrino_test/test/test_config.rb +0 -18
  83. data/fixtures/rails2/.gitignore +0 -1
  84. data/fixtures/rails2/Gemfile +0 -10
  85. data/fixtures/rails2/Rakefile +0 -14
  86. data/fixtures/rails2/app/controllers/application_controller.rb +0 -10
  87. data/fixtures/rails2/app/controllers/posts_controller.rb +0 -15
  88. data/fixtures/rails2/app/controllers/users_controller.rb +0 -15
  89. data/fixtures/rails2/app/helpers/application_helper.rb +0 -2
  90. data/fixtures/rails2/app/helpers/posts_helper.rb +0 -2
  91. data/fixtures/rails2/app/helpers/users_helper.rb +0 -2
  92. data/fixtures/rails2/app/models +0 -1
  93. data/fixtures/rails2/app/views +0 -1
  94. data/fixtures/rails2/config/boot.rb +0 -129
  95. data/fixtures/rails2/config/database.yml +0 -16
  96. data/fixtures/rails2/config/environment.rb +0 -64
  97. data/fixtures/rails2/config/environments/development.rb +0 -17
  98. data/fixtures/rails2/config/environments/production.rb +0 -28
  99. data/fixtures/rails2/config/environments/test.rb +0 -28
  100. data/fixtures/rails2/config/initializers/backtrace_silencers.rb +0 -7
  101. data/fixtures/rails2/config/initializers/cookie_verification_secret.rb +0 -7
  102. data/fixtures/rails2/config/initializers/inflections.rb +0 -10
  103. data/fixtures/rails2/config/initializers/mime_types.rb +0 -5
  104. data/fixtures/rails2/config/initializers/new_rails_defaults.rb +0 -21
  105. data/fixtures/rails2/config/initializers/session_store.rb +0 -15
  106. data/fixtures/rails2/config/locales/en.yml +0 -5
  107. data/fixtures/rails2/config/preinitializer.rb +0 -20
  108. data/fixtures/rails2/config/routes.rb +0 -45
  109. data/fixtures/rails2/db/migrate +0 -1
  110. data/fixtures/rails2/db/schema.rb +0 -40
  111. data/fixtures/rails2/db/seeds.rb +0 -7
  112. data/fixtures/rails2/public/404.html +0 -30
  113. data/fixtures/rails2/public/422.html +0 -30
  114. data/fixtures/rails2/public/500.html +0 -30
  115. data/fixtures/rails2/public/favicon.ico +0 -0
  116. data/fixtures/rails2/public/images/rails.png +0 -0
  117. data/fixtures/rails2/public/index.html +0 -275
  118. data/fixtures/rails2/public/robots.txt +0 -5
  119. data/fixtures/rails2/script/about +0 -4
  120. data/fixtures/rails2/script/console +0 -3
  121. data/fixtures/rails2/script/dbconsole +0 -3
  122. data/fixtures/rails2/script/destroy +0 -3
  123. data/fixtures/rails2/script/generate +0 -3
  124. data/fixtures/rails2/script/performance/benchmarker +0 -3
  125. data/fixtures/rails2/script/performance/profiler +0 -3
  126. data/fixtures/rails2/script/plugin +0 -3
  127. data/fixtures/rails2/script/runner +0 -3
  128. data/fixtures/rails2/script/server +0 -3
  129. data/fixtures/rails2/test/functionals/posts_controller_test.rb +0 -1
  130. data/fixtures/rails2/test/functionals/users_controller_test.rb +0 -1
  131. data/fixtures/rails2/test/test_helper.rb +0 -33
  132. data/fixtures/rails3/.gitignore +0 -4
  133. data/fixtures/rails3/Gemfile +0 -37
  134. data/fixtures/rails3/Rakefile +0 -12
  135. data/fixtures/rails3/app/controllers/application_controller.rb +0 -14
  136. data/fixtures/rails3/app/controllers/posts_controller.rb +0 -11
  137. data/fixtures/rails3/app/controllers/users_controller.rb +0 -11
  138. data/fixtures/rails3/app/models +0 -1
  139. data/fixtures/rails3/app/views +0 -1
  140. data/fixtures/rails3/config.ru +0 -4
  141. data/fixtures/rails3/config/application.rb +0 -42
  142. data/fixtures/rails3/config/boot.rb +0 -6
  143. data/fixtures/rails3/config/database.yml +0 -22
  144. data/fixtures/rails3/config/environment.rb +0 -5
  145. data/fixtures/rails3/config/environments/development.rb +0 -26
  146. data/fixtures/rails3/config/environments/production.rb +0 -49
  147. data/fixtures/rails3/config/environments/test.rb +0 -35
  148. data/fixtures/rails3/config/initializers/backtrace_silencers.rb +0 -7
  149. data/fixtures/rails3/config/initializers/inflections.rb +0 -10
  150. data/fixtures/rails3/config/initializers/mime_types.rb +0 -5
  151. data/fixtures/rails3/config/initializers/secret_token.rb +0 -7
  152. data/fixtures/rails3/config/initializers/session_store.rb +0 -8
  153. data/fixtures/rails3/config/locales/en.yml +0 -5
  154. data/fixtures/rails3/config/routes.rb +0 -61
  155. data/fixtures/rails3/db/migrate +0 -1
  156. data/fixtures/rails3/db/schema.rb +0 -42
  157. data/fixtures/rails3/db/seeds.rb +0 -7
  158. data/fixtures/rails3/lib/tasks/.gitkeep +0 -0
  159. data/fixtures/rails3/public/404.html +0 -26
  160. data/fixtures/rails3/public/422.html +0 -26
  161. data/fixtures/rails3/public/500.html +0 -26
  162. data/fixtures/rails3/public/favicon.ico +0 -0
  163. data/fixtures/rails3/public/images/rails.png +0 -0
  164. data/fixtures/rails3/public/index.html +0 -239
  165. data/fixtures/rails3/public/robots.txt +0 -5
  166. data/fixtures/rails3/public/stylesheets/.gitkeep +0 -0
  167. data/fixtures/rails3/script/rails +0 -6
  168. data/fixtures/rails3/test/functional/posts_controller_test.rb +0 -1
  169. data/fixtures/rails3/test/functional/users_controller_test.rb +0 -1
  170. data/fixtures/rails3/test/test_helper.rb +0 -26
  171. data/fixtures/rails3_2/.gitignore +0 -15
  172. data/fixtures/rails3_2/Gemfile +0 -40
  173. data/fixtures/rails3_2/README.rdoc +0 -261
  174. data/fixtures/rails3_2/Rakefile +0 -12
  175. data/fixtures/rails3_2/app/assets/images/rails.png +0 -0
  176. data/fixtures/rails3_2/app/assets/javascripts/application.js +0 -15
  177. data/fixtures/rails3_2/app/assets/javascripts/posts.js.coffee +0 -3
  178. data/fixtures/rails3_2/app/assets/javascripts/users.js.coffee +0 -3
  179. data/fixtures/rails3_2/app/assets/stylesheets/application.css +0 -13
  180. data/fixtures/rails3_2/app/assets/stylesheets/posts.css.scss +0 -3
  181. data/fixtures/rails3_2/app/assets/stylesheets/users.css.scss +0 -3
  182. data/fixtures/rails3_2/app/controllers/application_controller.rb +0 -14
  183. data/fixtures/rails3_2/app/controllers/posts_controller.rb +0 -16
  184. data/fixtures/rails3_2/app/controllers/users_controller.rb +0 -11
  185. data/fixtures/rails3_2/app/helpers/application_helper.rb +0 -5
  186. data/fixtures/rails3_2/app/helpers/posts_helper.rb +0 -2
  187. data/fixtures/rails3_2/app/helpers/users_helper.rb +0 -2
  188. data/fixtures/rails3_2/app/mailers/.gitkeep +0 -0
  189. data/fixtures/rails3_2/app/models +0 -1
  190. data/fixtures/rails3_2/app/views +0 -1
  191. data/fixtures/rails3_2/config.ru +0 -4
  192. data/fixtures/rails3_2/config/application.rb +0 -59
  193. data/fixtures/rails3_2/config/boot.rb +0 -6
  194. data/fixtures/rails3_2/config/database.yml +0 -25
  195. data/fixtures/rails3_2/config/environment.rb +0 -5
  196. data/fixtures/rails3_2/config/environments/development.rb +0 -37
  197. data/fixtures/rails3_2/config/environments/production.rb +0 -67
  198. data/fixtures/rails3_2/config/environments/test.rb +0 -37
  199. data/fixtures/rails3_2/config/initializers/backtrace_silencers.rb +0 -7
  200. data/fixtures/rails3_2/config/initializers/inflections.rb +0 -15
  201. data/fixtures/rails3_2/config/initializers/mime_types.rb +0 -7
  202. data/fixtures/rails3_2/config/initializers/secret_token.rb +0 -7
  203. data/fixtures/rails3_2/config/initializers/session_store.rb +0 -8
  204. data/fixtures/rails3_2/config/initializers/wrap_parameters.rb +0 -14
  205. data/fixtures/rails3_2/config/locales/en.yml +0 -5
  206. data/fixtures/rails3_2/config/routes.rb +0 -64
  207. data/fixtures/rails3_2/db/migrate +0 -1
  208. data/fixtures/rails3_2/db/schema.rb +0 -42
  209. data/fixtures/rails3_2/db/seeds.rb +0 -7
  210. data/fixtures/rails3_2/doc/README_FOR_APP +0 -2
  211. data/fixtures/rails3_2/lib/assets/.gitkeep +0 -0
  212. data/fixtures/rails3_2/lib/tasks/.gitkeep +0 -0
  213. data/fixtures/rails3_2/log/.gitkeep +0 -0
  214. data/fixtures/rails3_2/public/404.html +0 -26
  215. data/fixtures/rails3_2/public/422.html +0 -26
  216. data/fixtures/rails3_2/public/500.html +0 -25
  217. data/fixtures/rails3_2/public/favicon.ico +0 -0
  218. data/fixtures/rails3_2/public/index.html +0 -241
  219. data/fixtures/rails3_2/public/robots.txt +0 -5
  220. data/fixtures/rails3_2/script/rails +0 -6
  221. data/fixtures/rails3_2/test/fixtures/phone_numbers.yml +0 -11
  222. data/fixtures/rails3_2/test/fixtures/posts.yml +0 -11
  223. data/fixtures/rails3_2/test/fixtures/users.yml +0 -11
  224. data/fixtures/rails3_2/test/functional/posts_controller_test.rb +0 -1
  225. data/fixtures/rails3_2/test/functional/users_controller_test.rb +0 -1
  226. data/fixtures/rails3_2/test/integration/.gitkeep +0 -0
  227. data/fixtures/rails3_2/test/performance/browsing_test.rb +0 -12
  228. data/fixtures/rails3_2/test/test_helper.rb +0 -26
  229. data/fixtures/rails3_2/test/unit/helpers/posts_helper_test.rb +0 -4
  230. data/fixtures/rails3_2/test/unit/helpers/users_helper_test.rb +0 -4
  231. data/fixtures/rails3_2/test/unit/phone_number_test.rb +0 -7
  232. data/fixtures/rails3_2/test/unit/post_test.rb +0 -7
  233. data/fixtures/rails3_2/test/unit/user_test.rb +0 -7
  234. data/fixtures/rails3_2/vendor/assets/javascripts/.gitkeep +0 -0
  235. data/fixtures/rails3_2/vendor/assets/stylesheets/.gitkeep +0 -0
  236. data/fixtures/rails3_2/vendor/plugins/.gitkeep +0 -0
  237. data/fixtures/rails4/.gitignore +0 -16
  238. data/fixtures/rails4/Gemfile +0 -53
  239. data/fixtures/rails4/README.rdoc +0 -28
  240. data/fixtures/rails4/Rakefile +0 -11
  241. data/fixtures/rails4/app/assets/javascripts/application.js +0 -16
  242. data/fixtures/rails4/app/assets/stylesheets/application.css +0 -13
  243. data/fixtures/rails4/app/controllers/application_controller.rb +0 -5
  244. data/fixtures/rails4/app/controllers/concerns/.keep +0 -0
  245. data/fixtures/rails4/app/controllers/posts_controller.rb +0 -16
  246. data/fixtures/rails4/app/controllers/users_controller.rb +0 -11
  247. data/fixtures/rails4/app/helpers/application_helper.rb +0 -5
  248. data/fixtures/rails4/app/mailers/.keep +0 -0
  249. data/fixtures/rails4/app/models +0 -1
  250. data/fixtures/rails4/app/views +0 -1
  251. data/fixtures/rails4/bin/bundle +0 -3
  252. data/fixtures/rails4/bin/rails +0 -4
  253. data/fixtures/rails4/bin/rake +0 -4
  254. data/fixtures/rails4/config.ru +0 -4
  255. data/fixtures/rails4/config/application.rb +0 -23
  256. data/fixtures/rails4/config/boot.rb +0 -4
  257. data/fixtures/rails4/config/database.yml +0 -25
  258. data/fixtures/rails4/config/environment.rb +0 -5
  259. data/fixtures/rails4/config/environments/development.rb +0 -29
  260. data/fixtures/rails4/config/environments/production.rb +0 -80
  261. data/fixtures/rails4/config/environments/test.rb +0 -39
  262. data/fixtures/rails4/config/initializers/backtrace_silencers.rb +0 -7
  263. data/fixtures/rails4/config/initializers/filter_parameter_logging.rb +0 -4
  264. data/fixtures/rails4/config/initializers/inflections.rb +0 -16
  265. data/fixtures/rails4/config/initializers/mime_types.rb +0 -7
  266. data/fixtures/rails4/config/initializers/secret_token.rb +0 -12
  267. data/fixtures/rails4/config/initializers/session_store.rb +0 -3
  268. data/fixtures/rails4/config/initializers/wrap_parameters.rb +0 -14
  269. data/fixtures/rails4/config/locales/en.yml +0 -23
  270. data/fixtures/rails4/config/routes.rb +0 -55
  271. data/fixtures/rails4/db/migrate +0 -1
  272. data/fixtures/rails4/db/schema.rb +0 -42
  273. data/fixtures/rails4/db/seeds.rb +0 -7
  274. data/fixtures/rails4/lib/assets/.keep +0 -0
  275. data/fixtures/rails4/lib/tasks/.keep +0 -0
  276. data/fixtures/rails4/log/.keep +0 -0
  277. data/fixtures/rails4/public/404.html +0 -58
  278. data/fixtures/rails4/public/422.html +0 -58
  279. data/fixtures/rails4/public/500.html +0 -57
  280. data/fixtures/rails4/public/favicon.ico +0 -0
  281. data/fixtures/rails4/public/robots.txt +0 -5
  282. data/fixtures/rails4/test/controllers/.keep +0 -0
  283. data/fixtures/rails4/test/fixtures/.keep +0 -0
  284. data/fixtures/rails4/test/functional/posts_controller_test.rb +0 -1
  285. data/fixtures/rails4/test/functional/users_controller_test.rb +0 -1
  286. data/fixtures/rails4/test/helpers/.keep +0 -0
  287. data/fixtures/rails4/test/integration/.keep +0 -0
  288. data/fixtures/rails4/test/mailers/.keep +0 -0
  289. data/fixtures/rails4/test/models/.keep +0 -0
  290. data/fixtures/rails4/test/test_helper.rb +0 -26
  291. data/fixtures/rails4/vendor/assets/javascripts/.keep +0 -0
  292. data/fixtures/rails4/vendor/assets/stylesheets/.keep +0 -0
  293. data/fixtures/rails5/.gitignore +0 -21
  294. data/fixtures/rails5/Gemfile +0 -53
  295. data/fixtures/rails5/README.md +0 -24
  296. data/fixtures/rails5/Rakefile +0 -13
  297. data/fixtures/rails5/app/assets/config/manifest.js +0 -3
  298. data/fixtures/rails5/app/assets/images/.keep +0 -0
  299. data/fixtures/rails5/app/assets/javascripts/application.js +0 -16
  300. data/fixtures/rails5/app/assets/javascripts/cable.js +0 -13
  301. data/fixtures/rails5/app/assets/javascripts/channels/.keep +0 -0
  302. data/fixtures/rails5/app/assets/stylesheets/application.css +0 -15
  303. data/fixtures/rails5/app/channels/application_cable/channel.rb +0 -4
  304. data/fixtures/rails5/app/channels/application_cable/connection.rb +0 -4
  305. data/fixtures/rails5/app/controllers/application_controller.rb +0 -3
  306. data/fixtures/rails5/app/controllers/concerns/.keep +0 -0
  307. data/fixtures/rails5/app/controllers/posts_controller.rb +0 -1
  308. data/fixtures/rails5/app/controllers/users_controller.rb +0 -1
  309. data/fixtures/rails5/app/helpers +0 -1
  310. data/fixtures/rails5/app/jobs/application_job.rb +0 -2
  311. data/fixtures/rails5/app/mailers/application_mailer.rb +0 -4
  312. data/fixtures/rails5/app/models +0 -1
  313. data/fixtures/rails5/app/views +0 -1
  314. data/fixtures/rails5/bin/bundle +0 -3
  315. data/fixtures/rails5/bin/rails +0 -9
  316. data/fixtures/rails5/bin/rake +0 -9
  317. data/fixtures/rails5/bin/setup +0 -34
  318. data/fixtures/rails5/bin/spring +0 -15
  319. data/fixtures/rails5/bin/update +0 -29
  320. data/fixtures/rails5/config.ru +0 -5
  321. data/fixtures/rails5/config/application.rb +0 -15
  322. data/fixtures/rails5/config/boot.rb +0 -3
  323. data/fixtures/rails5/config/cable.yml +0 -9
  324. data/fixtures/rails5/config/database.yml +0 -25
  325. data/fixtures/rails5/config/environment.rb +0 -5
  326. data/fixtures/rails5/config/environments/development.rb +0 -54
  327. data/fixtures/rails5/config/environments/production.rb +0 -86
  328. data/fixtures/rails5/config/environments/test.rb +0 -42
  329. data/fixtures/rails5/config/initializers/application_controller_renderer.rb +0 -6
  330. data/fixtures/rails5/config/initializers/assets.rb +0 -11
  331. data/fixtures/rails5/config/initializers/backtrace_silencers.rb +0 -7
  332. data/fixtures/rails5/config/initializers/cookies_serializer.rb +0 -5
  333. data/fixtures/rails5/config/initializers/filter_parameter_logging.rb +0 -4
  334. data/fixtures/rails5/config/initializers/inflections.rb +0 -16
  335. data/fixtures/rails5/config/initializers/mime_types.rb +0 -6
  336. data/fixtures/rails5/config/initializers/new_framework_defaults.rb +0 -24
  337. data/fixtures/rails5/config/initializers/session_store.rb +0 -3
  338. data/fixtures/rails5/config/initializers/wrap_parameters.rb +0 -14
  339. data/fixtures/rails5/config/locales/en.yml +0 -23
  340. data/fixtures/rails5/config/puma.rb +0 -47
  341. data/fixtures/rails5/config/routes.rb +0 -8
  342. data/fixtures/rails5/config/secrets.yml +0 -22
  343. data/fixtures/rails5/config/spring.rb +0 -6
  344. data/fixtures/rails5/db/migrate +0 -1
  345. data/fixtures/rails5/db/schema.rb +0 -41
  346. data/fixtures/rails5/db/seeds.rb +0 -7
  347. data/fixtures/rails5/lib/assets/.keep +0 -0
  348. data/fixtures/rails5/lib/tasks/.keep +0 -0
  349. data/fixtures/rails5/log/.keep +0 -0
  350. data/fixtures/rails5/public/404.html +0 -67
  351. data/fixtures/rails5/public/422.html +0 -67
  352. data/fixtures/rails5/public/500.html +0 -66
  353. data/fixtures/rails5/public/apple-touch-icon-precomposed.png +0 -0
  354. data/fixtures/rails5/public/apple-touch-icon.png +0 -0
  355. data/fixtures/rails5/public/favicon.ico +0 -0
  356. data/fixtures/rails5/public/robots.txt +0 -5
  357. data/fixtures/rails5/test/controllers/.keep +0 -0
  358. data/fixtures/rails5/test/fixtures/.keep +0 -0
  359. data/fixtures/rails5/test/fixtures/files/.keep +0 -0
  360. data/fixtures/rails5/test/functional/posts_controller_test.rb +0 -1
  361. data/fixtures/rails5/test/functional/users_controller_test.rb +0 -1
  362. data/fixtures/rails5/test/helpers/.keep +0 -0
  363. data/fixtures/rails5/test/integration/.keep +0 -0
  364. data/fixtures/rails5/test/mailers/.keep +0 -0
  365. data/fixtures/rails5/test/models/.keep +0 -0
  366. data/fixtures/rails5/test/test_helper.rb +0 -26
  367. data/fixtures/rails5/tmp/.keep +0 -0
  368. data/fixtures/rails5/vendor/assets/javascripts/.keep +0 -0
  369. data/fixtures/rails5/vendor/assets/stylesheets/.keep +0 -0
  370. data/fixtures/rails5_api/.gitignore +0 -21
  371. data/fixtures/rails5_api/Gemfile +0 -46
  372. data/fixtures/rails5_api/README.md +0 -24
  373. data/fixtures/rails5_api/Rakefile +0 -13
  374. data/fixtures/rails5_api/app/channels/application_cable/channel.rb +0 -4
  375. data/fixtures/rails5_api/app/channels/application_cable/connection.rb +0 -4
  376. data/fixtures/rails5_api/app/controllers/application_controller.rb +0 -2
  377. data/fixtures/rails5_api/app/controllers/concerns/.keep +0 -0
  378. data/fixtures/rails5_api/app/controllers/posts_controller.rb +0 -1
  379. data/fixtures/rails5_api/app/controllers/users_controller.rb +0 -1
  380. data/fixtures/rails5_api/app/helpers +0 -1
  381. data/fixtures/rails5_api/app/jobs/application_job.rb +0 -2
  382. data/fixtures/rails5_api/app/mailers/application_mailer.rb +0 -4
  383. data/fixtures/rails5_api/app/models +0 -1
  384. data/fixtures/rails5_api/app/views +0 -1
  385. data/fixtures/rails5_api/bin/bundle +0 -3
  386. data/fixtures/rails5_api/bin/rails +0 -9
  387. data/fixtures/rails5_api/bin/rake +0 -9
  388. data/fixtures/rails5_api/bin/setup +0 -34
  389. data/fixtures/rails5_api/bin/spring +0 -17
  390. data/fixtures/rails5_api/bin/update +0 -29
  391. data/fixtures/rails5_api/config.ru +0 -5
  392. data/fixtures/rails5_api/config/application.rb +0 -30
  393. data/fixtures/rails5_api/config/boot.rb +0 -3
  394. data/fixtures/rails5_api/config/cable.yml +0 -9
  395. data/fixtures/rails5_api/config/database.yml +0 -25
  396. data/fixtures/rails5_api/config/environment.rb +0 -5
  397. data/fixtures/rails5_api/config/environments/development.rb +0 -47
  398. data/fixtures/rails5_api/config/environments/production.rb +0 -78
  399. data/fixtures/rails5_api/config/environments/test.rb +0 -42
  400. data/fixtures/rails5_api/config/initializers/application_controller_renderer.rb +0 -6
  401. data/fixtures/rails5_api/config/initializers/backtrace_silencers.rb +0 -7
  402. data/fixtures/rails5_api/config/initializers/cors.rb +0 -16
  403. data/fixtures/rails5_api/config/initializers/filter_parameter_logging.rb +0 -4
  404. data/fixtures/rails5_api/config/initializers/inflections.rb +0 -16
  405. data/fixtures/rails5_api/config/initializers/mime_types.rb +0 -5
  406. data/fixtures/rails5_api/config/initializers/new_framework_defaults.rb +0 -18
  407. data/fixtures/rails5_api/config/initializers/wrap_parameters.rb +0 -14
  408. data/fixtures/rails5_api/config/locales/en.yml +0 -23
  409. data/fixtures/rails5_api/config/puma.rb +0 -47
  410. data/fixtures/rails5_api/config/routes.rb +0 -8
  411. data/fixtures/rails5_api/config/secrets.yml +0 -22
  412. data/fixtures/rails5_api/config/spring.rb +0 -6
  413. data/fixtures/rails5_api/db/migrate +0 -1
  414. data/fixtures/rails5_api/db/schema.rb +0 -41
  415. data/fixtures/rails5_api/db/seeds.rb +0 -7
  416. data/fixtures/rails5_api/lib/tasks/.keep +0 -0
  417. data/fixtures/rails5_api/log/.keep +0 -0
  418. data/fixtures/rails5_api/public/robots.txt +0 -5
  419. data/fixtures/rails5_api/test/controllers/.keep +0 -0
  420. data/fixtures/rails5_api/test/fixtures/.keep +0 -0
  421. data/fixtures/rails5_api/test/fixtures/files/.keep +0 -0
  422. data/fixtures/rails5_api/test/functional/posts_controller_test.rb +0 -1
  423. data/fixtures/rails5_api/test/functional/users_controller_test.rb +0 -1
  424. data/fixtures/rails5_api/test/integration/.keep +0 -0
  425. data/fixtures/rails5_api/test/mailers/.keep +0 -0
  426. data/fixtures/rails5_api/test/models/.keep +0 -0
  427. data/fixtures/rails5_api/test/test_helper.rb +0 -39
  428. data/fixtures/rails5_api/tmp/.keep +0 -0
  429. data/fixtures/rails6/.gitignore +0 -35
  430. data/fixtures/rails6/Gemfile +0 -58
  431. data/fixtures/rails6/README.md +0 -24
  432. data/fixtures/rails6/Rakefile +0 -14
  433. data/fixtures/rails6/app/assets/config/manifest.js +0 -2
  434. data/fixtures/rails6/app/assets/images/.keep +0 -0
  435. data/fixtures/rails6/app/assets/stylesheets/application.css +0 -15
  436. data/fixtures/rails6/app/channels/application_cable/channel.rb +0 -4
  437. data/fixtures/rails6/app/channels/application_cable/connection.rb +0 -4
  438. data/fixtures/rails6/app/controllers/application_controller.rb +0 -2
  439. data/fixtures/rails6/app/controllers/concerns/.keep +0 -0
  440. data/fixtures/rails6/app/controllers/posts_controller.rb +0 -17
  441. data/fixtures/rails6/app/controllers/users_controller.rb +0 -11
  442. data/fixtures/rails6/app/helpers +0 -1
  443. data/fixtures/rails6/app/javascript/channels/consumer.js +0 -6
  444. data/fixtures/rails6/app/javascript/channels/index.js +0 -5
  445. data/fixtures/rails6/app/javascript/packs/application.js +0 -17
  446. data/fixtures/rails6/app/jobs/application_job.rb +0 -7
  447. data/fixtures/rails6/app/mailers/application_mailer.rb +0 -4
  448. data/fixtures/rails6/app/models +0 -1
  449. data/fixtures/rails6/app/views +0 -1
  450. data/fixtures/rails6/babel.config.js +0 -72
  451. data/fixtures/rails6/bin/bundle +0 -105
  452. data/fixtures/rails6/bin/rails +0 -9
  453. data/fixtures/rails6/bin/rake +0 -9
  454. data/fixtures/rails6/bin/setup +0 -36
  455. data/fixtures/rails6/bin/spring +0 -17
  456. data/fixtures/rails6/bin/webpack +0 -19
  457. data/fixtures/rails6/bin/webpack-dev-server +0 -19
  458. data/fixtures/rails6/bin/yarn +0 -11
  459. data/fixtures/rails6/config.ru +0 -5
  460. data/fixtures/rails6/config/application.rb +0 -19
  461. data/fixtures/rails6/config/boot.rb +0 -4
  462. data/fixtures/rails6/config/cable.yml +0 -10
  463. data/fixtures/rails6/config/credentials.yml.enc +0 -1
  464. data/fixtures/rails6/config/database.yml +0 -25
  465. data/fixtures/rails6/config/environment.rb +0 -5
  466. data/fixtures/rails6/config/environments/development.rb +0 -62
  467. data/fixtures/rails6/config/environments/production.rb +0 -112
  468. data/fixtures/rails6/config/environments/test.rb +0 -48
  469. data/fixtures/rails6/config/initializers/application_controller_renderer.rb +0 -8
  470. data/fixtures/rails6/config/initializers/assets.rb +0 -14
  471. data/fixtures/rails6/config/initializers/backtrace_silencers.rb +0 -7
  472. data/fixtures/rails6/config/initializers/content_security_policy.rb +0 -27
  473. data/fixtures/rails6/config/initializers/cookies_serializer.rb +0 -5
  474. data/fixtures/rails6/config/initializers/filter_parameter_logging.rb +0 -4
  475. data/fixtures/rails6/config/initializers/inflections.rb +0 -16
  476. data/fixtures/rails6/config/initializers/mime_types.rb +0 -6
  477. data/fixtures/rails6/config/initializers/wrap_parameters.rb +0 -14
  478. data/fixtures/rails6/config/locales/en.yml +0 -33
  479. data/fixtures/rails6/config/puma.rb +0 -35
  480. data/fixtures/rails6/config/routes.rb +0 -8
  481. data/fixtures/rails6/config/spring.rb +0 -6
  482. data/fixtures/rails6/config/storage.yml +0 -34
  483. data/fixtures/rails6/config/webpack/development.js +0 -5
  484. data/fixtures/rails6/config/webpack/environment.js +0 -3
  485. data/fixtures/rails6/config/webpack/production.js +0 -5
  486. data/fixtures/rails6/config/webpack/test.js +0 -5
  487. data/fixtures/rails6/config/webpacker.yml +0 -95
  488. data/fixtures/rails6/db/migrate/20111002092016_create_users.rb +0 -11
  489. data/fixtures/rails6/db/migrate/20111002092019_create_posts.rb +0 -10
  490. data/fixtures/rails6/db/migrate/20111002092024_create_phone_numbers.rb +0 -12
  491. data/fixtures/rails6/db/schema.rb +0 -41
  492. data/fixtures/rails6/db/seeds.rb +0 -7
  493. data/fixtures/rails6/lib/assets/.keep +0 -0
  494. data/fixtures/rails6/lib/tasks/.keep +0 -0
  495. data/fixtures/rails6/log/.keep +0 -0
  496. data/fixtures/rails6/package.json +0 -15
  497. data/fixtures/rails6/postcss.config.js +0 -12
  498. data/fixtures/rails6/public/404.html +0 -67
  499. data/fixtures/rails6/public/422.html +0 -67
  500. data/fixtures/rails6/public/500.html +0 -66
  501. data/fixtures/rails6/public/apple-touch-icon-precomposed.png +0 -0
  502. data/fixtures/rails6/public/apple-touch-icon.png +0 -0
  503. data/fixtures/rails6/public/favicon.ico +0 -0
  504. data/fixtures/rails6/public/robots.txt +0 -1
  505. data/fixtures/rails6/storage/.keep +0 -0
  506. data/fixtures/rails6/test/application_system_test_case.rb +0 -5
  507. data/fixtures/rails6/test/channels/application_cable/connection_test.rb +0 -11
  508. data/fixtures/rails6/test/controllers/.keep +0 -0
  509. data/fixtures/rails6/test/fixtures/.keep +0 -0
  510. data/fixtures/rails6/test/fixtures/files/.keep +0 -0
  511. data/fixtures/rails6/test/functional/posts_controller_test.rb +0 -1
  512. data/fixtures/rails6/test/functional/users_controller_test.rb +0 -1
  513. data/fixtures/rails6/test/helpers/.keep +0 -0
  514. data/fixtures/rails6/test/integration/.keep +0 -0
  515. data/fixtures/rails6/test/mailers/.keep +0 -0
  516. data/fixtures/rails6/test/models/.keep +0 -0
  517. data/fixtures/rails6/test/system/.keep +0 -0
  518. data/fixtures/rails6/test/test_helper.rb +0 -27
  519. data/fixtures/rails6/tmp/.keep +0 -0
  520. data/fixtures/rails6/vendor/.keep +0 -0
  521. data/fixtures/rails6/yarn.lock +0 -7201
  522. data/fixtures/sinatra_test/Gemfile +0 -13
  523. data/fixtures/sinatra_test/Rakefile +0 -6
  524. data/fixtures/sinatra_test/app.rb +0 -55
  525. data/fixtures/sinatra_test/config.ru +0 -7
  526. data/fixtures/sinatra_test/db/migrate +0 -1
  527. data/fixtures/sinatra_test/models +0 -1
  528. data/fixtures/sinatra_test/test/functional/posts_controller_test.rb +0 -1
  529. data/fixtures/sinatra_test/test/functional/users_controller_test.rb +0 -1
  530. data/fixtures/sinatra_test/test/test_helper.rb +0 -19
  531. data/fixtures/sinatra_test/views +0 -1
  532. data/rabl.gemspec +0 -34
  533. data/test.watchr +0 -47
  534. data/test/bson_engine_test.rb +0 -310
  535. data/test/builder_test.rb +0 -388
  536. data/test/configuration_test.rb +0 -91
  537. data/test/engine_test.rb +0 -841
  538. data/test/helpers_test.rb +0 -146
  539. data/test/integration/posts_controller_test.rb +0 -108
  540. data/test/integration/rails3_2/posts_controller_test.rb +0 -263
  541. data/test/integration/rails3_2/users_controller_test.rb +0 -87
  542. data/test/integration/rails4/posts_controller_test.rb +0 -248
  543. data/test/integration/rails4/users_controller_test.rb +0 -87
  544. data/test/integration/rails5/posts_controller_test.rb +0 -251
  545. data/test/integration/rails5/users_controller_test.rb +0 -87
  546. data/test/integration/rails6/posts_controller_test.rb +0 -185
  547. data/test/integration/rails6/users_controller_test.rb +0 -87
  548. data/test/integration/test_init.rb +0 -36
  549. data/test/integration/users_controller_test.rb +0 -87
  550. data/test/models/ormless.rb +0 -3
  551. data/test/models/user.rb +0 -35
  552. data/test/msgpack_engine_test.rb +0 -312
  553. data/test/multi_builder_test.rb +0 -69
  554. data/test/partials_test.rb +0 -205
  555. data/test/plist_engine_test.rb +0 -308
  556. data/test/renderer_test.rb +0 -390
  557. data/test/silence.rb +0 -23
  558. data/test/template_test.rb +0 -63
  559. data/test/teststrap.rb +0 -42
  560. data/test/xml_test.rb +0 -297
data/test/builder_test.rb DELETED
@@ -1,388 +0,0 @@
1
- require File.expand_path('../teststrap', __FILE__)
2
-
3
- context "Rabl::Builder" do
4
- helper(:builder) { |*args| Rabl::Builder.new(*args) }
5
- helper(:build_hash) { |*args| builder(*args).to_hash }
6
-
7
- setup do
8
- @users = [User.new, User.new]
9
- @user = User.new
10
- builder(nil, nil, {:view_path => '/path/to/views'})
11
- end
12
-
13
- context "#initialize" do
14
- asserts_topic.assigns :options
15
- asserts_topic.assigns :_view_path
16
- end
17
-
18
- context "#to_hash" do
19
- context "when given a simple object" do
20
- setup { builder(nil, { :attributes => [ { :name => :name } ] }) }
21
- asserts "that the object is set properly" do
22
- topic.to_hash(User.new, nil, :root_name => "user")
23
- end.equivalent_to({ "user" => { :name => "rabl" } })
24
- end
25
-
26
- context "when given an object alias" do
27
- setup { builder(nil, { :attributes => [ { :name => :name, :options => { :as => :foo } } ] }) }
28
- asserts "that the object is set properly" do
29
- topic.to_hash(User.new, nil, :root_name => "person")
30
- end.equivalent_to({ "person" => { :foo => "rabl" } })
31
- end
32
-
33
- context "when specified with no root" do
34
- setup { builder(nil, { :attributes => [ { :name => :name, :options => { :as => :name } } ] }) }
35
- asserts "that the object is set properly" do
36
- topic.to_hash(User.new, nil, :root => false)
37
- end.equivalent_to({ :name => "rabl" })
38
- end
39
-
40
- context "when nil values are replaced with empty strings" do
41
- setup do
42
- Rabl.configuration.replace_nil_values_with_empty_strings = true
43
- builder(nil, { :attributes => [ { :name => :name } ], :node => [{ :name => :extra, :options => {}, :block => lambda { |u| { :twitter => u.twitter } } }] })
44
- end
45
-
46
- asserts "that an empty string is returned as the value" do
47
- topic.to_hash(User.new(:name => nil, :twitter => nil))
48
- end.equivalent_to({ :name => '', :extra => { :twitter => '' } })
49
-
50
- asserts "that it handles existing non nil values correctly" do
51
- topic.to_hash(User.new(:name => 10, :twitter => 'twitter'))
52
- end.equivalent_to({ :name => 10, :extra => { :twitter => 'twitter' } })
53
-
54
- teardown do
55
- Rabl.configuration.replace_nil_values_with_empty_strings = false
56
- end
57
- end
58
-
59
- context "when empty string values are replaced with nil values" do
60
- setup do
61
- Rabl.configuration.replace_empty_string_values_with_nil_values = true
62
- builder(nil, { :attributes => [ { :name => :name } ], :node => [{ :name => :extra, :options => {}, :block => lambda { |u| { :twitter => u.twitter } } }] })
63
- end
64
-
65
- asserts "that nil is returned as the value" do
66
- topic.to_hash(User.new(:name => "", :twitter => ''))
67
- end.equivalent_to({ :name => nil, :extra => { :twitter => nil } })
68
-
69
- asserts "that it handles existing nil values correctly" do
70
- topic.to_hash(User.new(:name => nil, :twitter => nil))
71
- end.equivalent_to({ :name => nil, :extra => { :twitter => nil } })
72
-
73
- asserts "that it handles existing non nil values correctly" do
74
- topic.to_hash(User.new(:name => 10, :twitter => 'twitter'))
75
- end.equivalent_to({ :name => 10, :extra => { :twitter => 'twitter' } })
76
-
77
- teardown do
78
- Rabl.configuration.replace_empty_string_values_with_nil_values = false
79
- end
80
- end
81
-
82
- context "when nil values are excluded" do
83
- setup do
84
- Rabl.configuration.exclude_nil_values = true
85
- builder(nil, { :attributes => [ { :name => :name } ] })
86
- end
87
- asserts "that an nil attribute is not returned" do
88
- topic.to_hash(User.new(:name => nil))
89
- end.equivalent_to({ })
90
- teardown do
91
- Rabl.configuration.exclude_nil_values = false
92
- end
93
- end
94
-
95
- context "when keys are camelized" do
96
- setup do
97
- Rabl.configuration.camelize_keys = true
98
- builder(nil, { :attributes => [ { :name => :first_pets_name } ] })
99
- end
100
- asserts "that the key is camelized" do
101
- topic.to_hash(User.new)
102
- end.equivalent_to({ :firstPetsName => 'jack' })
103
- teardown do
104
- Rabl.configuration.camelize_keys = false
105
- end
106
- end
107
-
108
- context "when keys are camelized with upper case first letter" do
109
- setup do
110
- Rabl.configuration.camelize_keys = :upper
111
- builder(nil, { :attributes => [ { :name => :first_pets_name } ] })
112
- end
113
- asserts "that the key is camelized with upper case first letter" do
114
- topic.to_hash(User.new)
115
- end.equivalent_to({ :FirstPetsName => 'jack' })
116
- teardown do
117
- Rabl.configuration.camelize_keys = false
118
- end
119
- end
120
- end
121
-
122
- context "#attribute" do
123
- asserts "that the node" do
124
- build_hash @user, :attributes => [ { :name => :name }, { :name => :city, :options => { :as => :city } } ]
125
- end.equivalent_to({:name => 'rabl', :city => 'irvine'})
126
-
127
- context "that with a non-existent attribute" do
128
- context "when non-existent attributes are allowed by the configuration" do
129
- setup { stub(Rabl.configuration).raise_on_missing_attribute { false } }
130
-
131
- asserts "the node" do
132
- build_hash @user, :attributes => [ { :name => :fake } ]
133
- end.equals({})
134
- end
135
-
136
- context "when non-existent attributes are forbidden by the configuration" do
137
- setup { stub(Rabl.configuration).raise_on_missing_attribute { true } }
138
-
139
- asserts "the node" do
140
- build_hash @user, :attributes => [ { :name => :fake } ]
141
- end.raises(RuntimeError)
142
- end
143
- end
144
-
145
- context "that with a string key" do
146
- setup { builder(nil, { :attributes => [ { :name => "name" } ] }) }
147
- asserts "the node name is converted to a symbol" do
148
- topic.to_hash(User.new, :name => "user")
149
- end.equivalent_to({ :name => "rabl" })
150
- end
151
-
152
- context "that with the same node names as strings and symbols" do
153
- setup { builder(nil, { :attributes => [ { :name => "name" }, { :name => :name } ] }) }
154
- asserts "the nodes aren't duplicated" do
155
- topic.to_hash(User.new, :name => "user")
156
- end.equivalent_to({ :name => "rabl" })
157
- end
158
- end
159
-
160
- context "#node" do
161
- asserts "that it has node :foo" do
162
- build_hash @user, :node => [{ :name => :foo, :options => {}, :block => lambda { |u| "bar" } }]
163
- end.equivalent_to({:foo => 'bar'})
164
-
165
- asserts "that using object it has node :boo" do
166
- build_hash @user, :node => [
167
- { :name => :foo, :options => {}, :block => lambda { |u| "bar" } },
168
- { :name => :baz, :options => {}, :block => lambda { |u| u.city } }
169
- ]
170
- end.equivalent_to({:foo => 'bar', :baz => 'irvine'})
171
-
172
- asserts "that it converts the node name to a symbol" do
173
- build_hash @user, :node => [{ :name => "foo", :options => {}, :block => lambda { |u| "bar" } }]
174
- end.equivalent_to({:foo => 'bar'})
175
-
176
- asserts "that the same node names as a string and symbol aren't duplicated" do
177
- build_hash @user, :node => [
178
- { :name => "foo", :options => {}, :block => lambda { |u| "bar" } },
179
- { :name => :foo, :options => {}, :block => lambda { |u| "bar" } }
180
- ]
181
- end.equivalent_to({:foo => 'bar'})
182
- end
183
-
184
- context "#child" do
185
- asserts "that it generates if no data present" do
186
- builder(nil, :child => []).to_hash(@user)
187
- end.equals({})
188
-
189
- asserts "that it generates with a hash" do
190
- b = builder(nil, :child => [ { :data => { @user => :user }, :options => { }, :block => lambda { |u| attribute :name } } ])
191
- b.to_hash(@user)
192
- end.equivalent_to({ :user => { :name => "rabl" } })
193
-
194
- asserts "that it generates with a hash alias" do
195
- b = builder nil, :child => [{ :data => { @user => :person }, :options => {}, :block => lambda { |u| attribute :name } }]
196
- b.to_hash(@user)
197
- end.equivalent_to({ :person => { :name => "rabl" } })
198
-
199
- asserts "that it generates with an object" do
200
- b = builder nil, :child => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name } }]
201
- e = Rabl::Engine.new('')
202
- mock(b).data_name(@user) { :user }
203
- mock(e).render.returns('xyz')
204
- mock(b).object_to_engine(@user, { :root => false }).returns(e).subject
205
- b.to_hash(@user)
206
- end.equivalent_to({ :user => 'xyz'})
207
-
208
- asserts "that it generates with an collection and child_root" do
209
- b = builder nil, { :child => [{ :data => @users, :options => {}, :block => lambda { |u| attribute :name } }] }, { :child_root => true }
210
- e = Rabl::Engine.new('')
211
- mock(b).data_name(@users) { :users }
212
- mock(e).render.returns('xyz')
213
- mock(b).object_to_engine(@users, { :root => true, :child_root => true }).returns(e).subject
214
- b.to_hash(@user)
215
- end.equivalent_to({ :users => 'xyz'})
216
-
217
- asserts "that it generates with an collection and no child root" do
218
- b = builder nil, { :child => [{ :data => @users, :options => {}, :block => lambda { |u| attribute :name } }] }, { :child_root => false }
219
- e = Rabl::Engine.new('')
220
- mock(b).data_name(@users) { :users }
221
- mock(e).render.returns('xyz')
222
- mock(b).object_to_engine(@users, { :root => false, :child_root => false }).returns(e).subject
223
- b.to_hash(@user)
224
- end.equivalent_to({ :users => 'xyz'})
225
-
226
- asserts "that it generates with an collection and a specified object_root_name and root" do
227
- ops = { :object_root => "person", :root => :people }
228
- b = builder nil, { :child => [{ :data => @users, :options => ops, :block => lambda { |u| attribute :name } }] }, { :child_root => true }
229
- e = Rabl::Engine.new('')
230
- mock(e).render.returns('xyz')
231
- mock(b).object_to_engine(@users, { :root => "person", :object_root_name => "person", :child_root => true }).returns(e).subject
232
- b.to_hash(@user)
233
- end.equivalent_to({ :people => 'xyz'})
234
-
235
- asserts "that it converts the child name to a symbol" do
236
- b = builder(nil, :child => [ { :data => { @user => "user" }, :options => { }, :block => lambda { |u| attribute :name } } ])
237
- b.to_hash(@user)
238
- end.equivalent_to({ :user => { :name => "rabl" } })
239
-
240
- asserts "that it does't duplicate childs with the same name as a string and symbol" do
241
- b = builder(nil, :child => [
242
- { :data => { @user => "user" }, :options => { }, :block => lambda { |u| attribute :name } },
243
- { :data => { @user => :user }, :options => { }, :block => lambda { |u| attribute :name } }
244
- ])
245
- b.to_hash(@user)
246
- end.equivalent_to({ :user => { :name => "rabl" } })
247
- end
248
-
249
- context "#glue" do
250
- asserts "that it generates if no data present" do
251
- builder(nil, :glue => []).to_hash(@user)
252
- end.equals({})
253
-
254
- asserts "that it generates the glue attributes" do
255
- b = builder nil, :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name }}]
256
- e = Rabl::Engine.new('')
257
- mock(e).render.returns({:user => 'xyz'})
258
- mock(b).object_to_engine(@user, { :root => false }).returns(e).subject
259
- b.to_hash(@user)
260
- end.equivalent_to({ :user => 'xyz' })
261
-
262
- asserts "that it appends the glue attributes to result" do
263
- b = builder nil, :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name => :user_name }}]
264
- b.to_hash(@user)
265
- end.equivalent_to({ :user_name => 'rabl' })
266
-
267
- asserts "that it does not generate new attributes if no glue attributes are present" do
268
- b = builder nil, :glue => [{ :data => @user, :options => {}, :block => lambda { |u| attribute :name }}]
269
- e = Rabl::Engine.new('')
270
- mock(e).render.returns({})
271
- mock(b).object_to_engine(@user,{ :root => false }).returns(e).subject
272
- b.to_hash(@user)
273
- end.equals({})
274
- end
275
-
276
- context "#extends" do
277
- asserts "that it does not generate if no data is present" do
278
- b = builder nil, :extends => [{ :file => 'users/show', :options => {}, :block => lambda { |u| attribute :name }}]
279
- e = Rabl::Engine.new('users/show')
280
- mock(b).partial_as_engine('users/show',{ :object => @user}).returns(e)
281
- mock(e).render.returns({}).subject
282
- b.to_hash(@user)
283
- end.equals({})
284
-
285
- asserts "that it generates if data is present" do
286
- b = builder nil, :extends => [{ :file => 'users/show', :options => {}, :block => lambda { |u| attribute :name }}]
287
- e = Rabl::Engine.new('users/show')
288
- mock(b).partial_as_engine('users/show',{ :object => @user}).returns(e)
289
- mock(e).render.returns({:user => 'xyz'}).subject
290
- b.to_hash(@user)
291
- end.equivalent_to({:user => 'xyz'})
292
-
293
- asserts "that it generates if local data is present but object is false" do
294
- b = builder nil, :extends => [{ :file => 'users/show', :options => { :object => @user }, :block => lambda { |u| attribute :name }}]
295
- e = Rabl::Engine.new('users/show')
296
- mock(b).partial_as_engine('users/show',{ :object => @user}).returns(e)
297
- mock(e).render.returns({:user => 'xyz'}).subject
298
- b.to_hash(false)
299
- end.equivalent_to({:user => 'xyz'})
300
- end
301
-
302
- context "#resolve_conditionals" do
303
- class ArbObj
304
- def cool?
305
- false
306
- end
307
-
308
- def smooth?
309
- true
310
- end
311
- end
312
-
313
- asserts "that it can use symbols on if condition and return false if method returns false" do
314
- scope = Rabl::Builder.new(ArbObj.new)
315
- scope.send(:resolve_condition, { :if => :cool? })
316
- end.equals(false)
317
-
318
- asserts "that it can use symbols on if condition and return true if method returns true" do
319
- scope = Rabl::Builder.new(ArbObj.new)
320
- scope.send :resolve_condition, { :if => :smooth? }
321
- end.equals(true)
322
-
323
- asserts "that it can use symbols as unless condition and return true if method returns false" do
324
- scope = Rabl::Builder.new(ArbObj.new)
325
- scope.send :resolve_condition, { :unless => :cool? }
326
- end.equals(true)
327
-
328
- asserts "that it can use symbols as unless condition and return false if method returns true" do
329
- scope = Rabl::Builder.new(ArbObj.new)
330
- scope.send :resolve_condition, { :unless => :smooth? }
331
- end.equals(false)
332
-
333
- asserts "that it can use :unless and :if at the same time and return true when if is true and unless is false" do
334
- scope = Rabl::Builder.new(ArbObj.new)
335
- scope.send :resolve_condition, { :if => true, :unless => false }
336
- end.equals(true)
337
-
338
- asserts "that it can use :unless and :if at the same time and return false when if is false and unless is false" do
339
- scope = Rabl::Builder.new(ArbObj.new)
340
- scope.send :resolve_condition, { :if => false, :unless => false }
341
- end.equals(false)
342
-
343
- asserts "that it can use :unless and :if at the same time and return false when if is true and unless is true" do
344
- scope = Rabl::Builder.new(ArbObj.new)
345
- scope.send :resolve_condition, { :if => true, :unless => true }
346
- end.equals(false)
347
-
348
- asserts "that it can use :unless and :if at the same time and return false when if is false and unless is true" do
349
- scope = Rabl::Builder.new(ArbObj.new)
350
- scope.send :resolve_condition, { :if => false, :unless => true }
351
- end.equals(false)
352
-
353
- asserts "that it can use lambda on if condition and return false if lambda returns false" do
354
- scope = Rabl::Builder.new(ArbObj.new)
355
- scope.send(:resolve_condition, { :if => lambda { |obj| false } })
356
- end.equals(false)
357
-
358
- asserts "that it can use lambda on if condition and return true if lambda returns true" do
359
- scope = Rabl::Builder.new(ArbObj.new)
360
- scope.send(:resolve_condition, { :if => lambda { |obj| true } })
361
- end.equals(true)
362
-
363
- asserts "that it can use proc on if condition and return false if proc returns false" do
364
- scope = Rabl::Builder.new(ArbObj.new)
365
- scope.send(:resolve_condition, { :if => proc { false } })
366
- end.equals(false)
367
-
368
- asserts "that it can use proc on if condition and return true if proc returns true" do
369
- scope = Rabl::Builder.new(ArbObj.new)
370
- scope.send(:resolve_condition, { :if => proc { true } })
371
- end.equals(true)
372
-
373
- asserts "that it can use a variable on if condition and return true if variable is truthy" do
374
- scope = Rabl::Builder.new(ArbObj.new)
375
- scope.send(:resolve_condition, { :if => 'Im truthy' })
376
- end.equals('Im truthy')
377
-
378
- asserts "that it can use a variable on if condition and return false if variable is falsy" do
379
- scope = Rabl::Builder.new(ArbObj.new)
380
- scope.send(:resolve_condition, { :if => nil })
381
- end.equals(nil)
382
-
383
- asserts "that it can use a hash variable on if condition and return true" do
384
- scope = Rabl::Builder.new(ArbObj.new)
385
- scope.send(:resolve_condition, { :if => { some: 'data' } })
386
- end.equals({some: 'data'})
387
- end
388
- end
@@ -1,91 +0,0 @@
1
- require File.expand_path('../teststrap', __FILE__)
2
-
3
- context 'Rabl::Configuration' do
4
- context 'defaults' do
5
- # multi_json compatibility TODO
6
- helper(:json_engine) { ::Oj }
7
- setup { Rabl.configuration }
8
-
9
- asserts(:include_json_root).equals true
10
- asserts(:include_child_root).equals true
11
- asserts(:include_xml_root).equals false
12
- asserts(:enable_json_callbacks).equals false
13
- asserts(:view_paths).equals []
14
- asserts(:json_engine).equals { json_engine }
15
- asserts(:cache_engine).is_a?(Rabl::CacheEngine)
16
- asserts(:replace_nil_values_with_empty_strings).equals false
17
- asserts(:replace_empty_string_values_with_nil_values).equals false
18
- asserts(:exclude_nil_values).equals false
19
- asserts(:exclude_empty_values_in_collections).equals false
20
- end
21
-
22
- context 'custom JSON engine configured as Symbol' do
23
- setup do
24
- Rabl.configure do |c|
25
- c.json_engine = :oj
26
- end
27
- end
28
-
29
- asserts('uses a custom JSON engine') { topic.json_engine.to_s =~ /oj/i }
30
- end # custom json, symbol
31
-
32
- context 'custom JSON engine configured as Class' do
33
- setup do
34
- Rabl.configure do |c|
35
- c.json_engine = ActiveSupport::JSON
36
- end
37
- end
38
-
39
- asserts('uses a custom JSON engine') { topic.json_engine.to_s == 'ActiveSupport::JSON' }
40
- end # custom JSON, class
41
-
42
- context 'raise on missing attributes' do
43
- setup do
44
- Rabl.configure do |c|
45
- c.raise_on_missing_attribute = true
46
- end
47
- end
48
-
49
- asserts(:raise_on_missing_attribute).equals true
50
- end # raise on missing
51
-
52
- context 'replace nil values with empty strings' do
53
- setup do
54
- Rabl.configure do |c|
55
- c.replace_nil_values_with_empty_strings = true
56
- end
57
- end
58
-
59
- asserts(:replace_nil_values_with_empty_strings).equals true
60
- end # replace nil values with empty strings
61
-
62
- context 'replace empty string values with nil values' do
63
- setup do
64
- Rabl.configure do |c|
65
- c.replace_empty_string_values_with_nil_values = true
66
- end
67
- end
68
-
69
- asserts(:replace_empty_string_values_with_nil_values).equals true
70
- end # replace empty string values with nil values
71
-
72
- context 'exclude nil values' do
73
- setup do
74
- Rabl.configure do |c|
75
- c.exclude_nil_values = true
76
- end
77
- end
78
-
79
- asserts(:exclude_nil_values).equals true
80
- end # exclude nil values
81
-
82
- context 'exclude empty values in collections' do
83
- setup do
84
- Rabl.configure do |c|
85
- c.exclude_empty_values_in_collections = true
86
- end
87
- end
88
-
89
- asserts(:exclude_empty_values_in_collections).equals true
90
- end # exclude empty values in collections
91
- end