rails_admin 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rails_admin might be problematic. Click here for more details.

Files changed (528) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/Gemfile +22 -10
  5. data/README.md +32 -92
  6. data/Rakefile +13 -2
  7. data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +3 -3
  8. data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +153 -58
  9. data/app/controllers/rails_admin/application_controller.rb +12 -12
  10. data/app/controllers/rails_admin/main_controller.rb +30 -35
  11. data/app/helpers/rails_admin/application_helper.rb +37 -40
  12. data/app/helpers/rails_admin/form_builder.rb +26 -25
  13. data/app/helpers/rails_admin/main_helper.rb +10 -9
  14. data/app/views/rails_admin/main/_dashboard_history.html.haml +5 -4
  15. data/app/views/rails_admin/main/index.html.haml +7 -0
  16. data/config/initializers/active_record_extensions.rb +3 -3
  17. data/config/initializers/haml.rb +1 -1
  18. data/config/routes.rb +7 -7
  19. data/lib/generators/rails_admin/install_generator.rb +5 -84
  20. data/lib/generators/rails_admin/templates/initializer.erb +29 -95
  21. data/lib/generators/rails_admin/utils.rb +3 -14
  22. data/lib/rails_admin.rb +1 -1
  23. data/lib/rails_admin/abstract_model.rb +30 -28
  24. data/lib/rails_admin/adapters/active_record.rb +36 -36
  25. data/lib/rails_admin/adapters/active_record/abstract_object.rb +2 -2
  26. data/lib/rails_admin/adapters/mongoid.rb +102 -108
  27. data/lib/rails_admin/adapters/mongoid/abstract_object.rb +1 -1
  28. data/lib/rails_admin/adapters/mongoid/extension.rb +5 -5
  29. data/lib/rails_admin/bootstrap-sass.rb +7 -8
  30. data/lib/rails_admin/bootstrap-sass/compass_functions.rb +2 -1
  31. data/lib/rails_admin/config.rb +24 -29
  32. data/lib/rails_admin/config/actions.rb +12 -15
  33. data/lib/rails_admin/config/actions/base.rb +8 -8
  34. data/lib/rails_admin/config/actions/bulk_delete.rb +3 -3
  35. data/lib/rails_admin/config/actions/dashboard.rb +5 -5
  36. data/lib/rails_admin/config/actions/delete.rb +4 -4
  37. data/lib/rails_admin/config/actions/edit.rb +3 -3
  38. data/lib/rails_admin/config/actions/export.rb +1 -1
  39. data/lib/rails_admin/config/actions/history_index.rb +1 -1
  40. data/lib/rails_admin/config/actions/history_show.rb +1 -1
  41. data/lib/rails_admin/config/actions/index.rb +20 -11
  42. data/lib/rails_admin/config/actions/new.rb +3 -3
  43. data/lib/rails_admin/config/actions/show.rb +2 -2
  44. data/lib/rails_admin/config/actions/show_in_app.rb +1 -1
  45. data/lib/rails_admin/config/configurable.rb +27 -27
  46. data/lib/rails_admin/config/fields.rb +7 -7
  47. data/lib/rails_admin/config/fields/association.rb +6 -7
  48. data/lib/rails_admin/config/fields/base.rb +32 -30
  49. data/lib/rails_admin/config/fields/factories/association.rb +9 -10
  50. data/lib/rails_admin/config/fields/factories/carrierwave.rb +3 -9
  51. data/lib/rails_admin/config/fields/factories/devise.rb +2 -4
  52. data/lib/rails_admin/config/fields/factories/dragonfly.rb +3 -5
  53. data/lib/rails_admin/config/fields/factories/enum.rb +1 -1
  54. data/lib/rails_admin/config/fields/factories/paperclip.rb +3 -3
  55. data/lib/rails_admin/config/fields/group.rb +6 -8
  56. data/lib/rails_admin/config/fields/types.rb +2 -2
  57. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +4 -4
  58. data/lib/rails_admin/config/fields/types/boolean.rb +2 -2
  59. data/lib/rails_admin/config/fields/types/bson_object_id.rb +7 -12
  60. data/lib/rails_admin/config/fields/types/carrierwave.rb +1 -1
  61. data/lib/rails_admin/config/fields/types/ck_editor.rb +3 -3
  62. data/lib/rails_admin/config/fields/types/code_mirror.rb +9 -9
  63. data/lib/rails_admin/config/fields/types/color.rb +2 -2
  64. data/lib/rails_admin/config/fields/types/date.rb +2 -2
  65. data/lib/rails_admin/config/fields/types/datetime.rb +52 -54
  66. data/lib/rails_admin/config/fields/types/decimal.rb +1 -1
  67. data/lib/rails_admin/config/fields/types/dragonfly.rb +2 -2
  68. data/lib/rails_admin/config/fields/types/enum.rb +3 -3
  69. data/lib/rails_admin/config/fields/types/file_upload.rb +5 -5
  70. data/lib/rails_admin/config/fields/types/float.rb +1 -1
  71. data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +1 -1
  72. data/lib/rails_admin/config/fields/types/has_many_association.rb +1 -1
  73. data/lib/rails_admin/config/fields/types/has_one_association.rb +3 -4
  74. data/lib/rails_admin/config/fields/types/hidden.rb +1 -1
  75. data/lib/rails_admin/config/fields/types/integer.rb +1 -1
  76. data/lib/rails_admin/config/fields/types/paperclip.rb +2 -2
  77. data/lib/rails_admin/config/fields/types/password.rb +4 -4
  78. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +8 -11
  79. data/lib/rails_admin/config/fields/types/serialized.rb +1 -1
  80. data/lib/rails_admin/config/fields/types/string.rb +5 -6
  81. data/lib/rails_admin/config/fields/types/text.rb +6 -6
  82. data/lib/rails_admin/config/fields/types/time.rb +4 -4
  83. data/lib/rails_admin/config/fields/types/timestamp.rb +1 -1
  84. data/lib/rails_admin/config/fields/types/wysihtml5.rb +1 -2
  85. data/lib/rails_admin/config/has_fields.rb +24 -24
  86. data/lib/rails_admin/config/has_groups.rb +5 -3
  87. data/lib/rails_admin/config/hideable.rb +2 -2
  88. data/lib/rails_admin/config/lazy_model.rb +1 -1
  89. data/lib/rails_admin/config/model.rb +6 -7
  90. data/lib/rails_admin/config/proxyable/proxy.rb +4 -6
  91. data/lib/rails_admin/config/sections.rb +1 -3
  92. data/lib/rails_admin/config/sections/base.rb +1 -1
  93. data/lib/rails_admin/config/sections/list.rb +4 -0
  94. data/lib/rails_admin/engine.rb +3 -3
  95. data/lib/rails_admin/extension.rb +3 -3
  96. data/lib/rails_admin/extensions/cancan.rb +3 -3
  97. data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +1 -1
  98. data/lib/rails_admin/extensions/history.rb +3 -3
  99. data/lib/rails_admin/extensions/history/auditing_adapter.rb +1 -1
  100. data/lib/rails_admin/extensions/history/history.rb +12 -11
  101. data/lib/rails_admin/extensions/paper_trail.rb +3 -3
  102. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +30 -19
  103. data/lib/rails_admin/i18n_support.rb +11 -15
  104. data/lib/rails_admin/support/core_extensions.rb +4 -5
  105. data/lib/rails_admin/support/csv_converter.rb +21 -23
  106. data/lib/rails_admin/version.rb +4 -7
  107. data/lib/rails_admin/version.rbc +582 -0
  108. data/lib/tasks/rails_admin.rake +0 -12
  109. data/spec/controllers/rails_admin/application_controller_spec.rb +12 -12
  110. data/spec/controllers/rails_admin/main_controller_spec.rb +127 -131
  111. data/spec/dummy_app/Gemfile +12 -6
  112. data/spec/dummy_app/Gemfile.lock +276 -47
  113. data/spec/dummy_app/app/active_record/abstract.rb +0 -2
  114. data/spec/dummy_app/app/active_record/another_field_test.rb +1 -1
  115. data/spec/dummy_app/app/active_record/ball.rb +2 -2
  116. data/spec/dummy_app/app/active_record/carrierwave_uploader.rb +1 -3
  117. data/spec/dummy_app/app/active_record/category.rb +1 -1
  118. data/spec/dummy_app/app/active_record/cms/basic_page.rb +1 -1
  119. data/spec/dummy_app/app/active_record/comment.rb +1 -1
  120. data/spec/dummy_app/app/active_record/comment/confirmed.rb +1 -1
  121. data/spec/dummy_app/app/active_record/division.rb +2 -2
  122. data/spec/dummy_app/app/active_record/draft.rb +5 -5
  123. data/spec/dummy_app/app/active_record/field_test.rb +6 -6
  124. data/spec/dummy_app/app/active_record/image.rb +1 -1
  125. data/spec/dummy_app/app/active_record/league.rb +3 -3
  126. data/spec/dummy_app/app/active_record/nested_field_test.rb +4 -4
  127. data/spec/dummy_app/app/active_record/player.rb +7 -7
  128. data/spec/dummy_app/app/active_record/team.rb +12 -9
  129. data/spec/dummy_app/app/active_record/user.rb +2 -2
  130. data/spec/dummy_app/app/mongoid/another_field_test.rb +1 -1
  131. data/spec/dummy_app/app/mongoid/ball.rb +3 -3
  132. data/spec/dummy_app/app/mongoid/carrierwave_uploader.rb +1 -3
  133. data/spec/dummy_app/app/mongoid/category.rb +1 -1
  134. data/spec/dummy_app/app/mongoid/cms/basic_page.rb +3 -3
  135. data/spec/dummy_app/app/mongoid/comment.rb +2 -2
  136. data/spec/dummy_app/app/mongoid/comment/confirmed.rb +1 -1
  137. data/spec/dummy_app/app/mongoid/division.rb +2 -2
  138. data/spec/dummy_app/app/mongoid/draft.rb +11 -11
  139. data/spec/dummy_app/app/mongoid/embed.rb +1 -1
  140. data/spec/dummy_app/app/mongoid/fan.rb +1 -1
  141. data/spec/dummy_app/app/mongoid/field_test.rb +35 -35
  142. data/spec/dummy_app/app/mongoid/image.rb +1 -1
  143. data/spec/dummy_app/app/mongoid/league.rb +3 -3
  144. data/spec/dummy_app/app/mongoid/nested_field_test.rb +5 -5
  145. data/spec/dummy_app/app/mongoid/player.rb +17 -17
  146. data/spec/dummy_app/app/mongoid/team.rb +28 -24
  147. data/spec/dummy_app/app/mongoid/user.rb +13 -13
  148. data/spec/dummy_app/config/application.rb +5 -5
  149. data/spec/dummy_app/config/boot.rb +1 -3
  150. data/spec/dummy_app/config/environments/test.rb +1 -1
  151. data/spec/dummy_app/config/initializers/devise.rb +2 -2
  152. data/spec/dummy_app/config/initializers/session_patch.rb +1 -2
  153. data/spec/dummy_app/config/initializers/session_store.rb +1 -1
  154. data/spec/dummy_app/config/initializers/wrap_parameters.rb +1 -1
  155. data/spec/dummy_app/config/routes.rb +2 -2
  156. data/spec/dummy_app/db/development.sqlite3 +0 -0
  157. data/spec/dummy_app/db/migrate/00000000000001_create_divisions_migration.rb +1 -1
  158. data/spec/dummy_app/db/migrate/00000000000002_create_drafts_migration.rb +1 -1
  159. data/spec/dummy_app/db/migrate/00000000000003_create_leagues_migration.rb +1 -1
  160. data/spec/dummy_app/db/migrate/00000000000004_create_players_migration.rb +5 -5
  161. data/spec/dummy_app/db/migrate/00000000000005_create_teams_migration.rb +5 -5
  162. data/spec/dummy_app/db/migrate/00000000000006_devise_create_users.rb +5 -5
  163. data/spec/dummy_app/db/migrate/00000000000007_create_histories_table.rb +7 -7
  164. data/spec/dummy_app/db/migrate/00000000000008_create_fans_migration.rb +1 -1
  165. data/spec/dummy_app/db/migrate/00000000000009_create_fans_teams_migration.rb +1 -1
  166. data/spec/dummy_app/db/migrate/00000000000010_add_revenue_to_team_migration.rb +1 -1
  167. data/spec/dummy_app/db/migrate/00000000000011_add_suspended_to_player_migration.rb +1 -1
  168. data/spec/dummy_app/db/migrate/00000000000012_add_avatar_columns_to_user.rb +0 -1
  169. data/spec/dummy_app/db/migrate/20101223222233_create_rel_tests.rb +1 -1
  170. data/spec/dummy_app/db/migrate/20110714095433_create_balls.rb +1 -1
  171. data/spec/dummy_app/db/migrate/20110901131551_change_division_primary_key.rb +3 -3
  172. data/spec/dummy_app/db/migrate/20110901150912_set_primary_key_not_null_for_divisions.rb +4 -5
  173. data/spec/dummy_app/db/migrate/20120319041705_drop_rel_tests.rb +1 -1
  174. data/spec/dummy_app/db/schema.rb +197 -0
  175. data/spec/dummy_app/db/seeds.rb +9 -9
  176. data/spec/dummy_app/db/test.sqlite3 +0 -0
  177. data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/mixins.scssc +0 -0
  178. data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/theming.scssc +0 -0
  179. data/spec/dummy_app/tmp/cache/assets/test/sass/{46504e29e25493e203f6e081863c6f722ba34fce → 0e28199903adc18ba5ed7000a3cfbe6be324f02c}/variables.scssc +0 -0
  180. data/spec/dummy_app/tmp/cache/assets/test/sass/66bb15d356a3ae9531c123a31be7776c5874ac21/font-awesome.css.erbc +0 -0
  181. data/spec/dummy_app/tmp/cache/assets/test/sass/7a85589b70ac6319b07ac05552a98bba4b834a39/font-awesome-4-compability.scssc +0 -0
  182. data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/mixins.scssc +0 -0
  183. data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/theming.scssc +0 -0
  184. data/spec/dummy_app/tmp/cache/assets/test/sass/{245c4be20f01db9121b0992275b77e082f23d7df → 7a85589b70ac6319b07ac05552a98bba4b834a39}/variables.scssc +0 -0
  185. data/spec/dummy_app/tmp/cache/assets/test/sass/{ebde8a6cd2923d8c583ca746dd952b4fe080c2a1 → 92899d6fb50bc282d329302d61a5c00fa959d762}/jquery-ui-1.8.7.custom.scssc +0 -0
  186. data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/jquery.colorpicker.scssc +0 -0
  187. data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/jquery.ui.timepicker.scssc +0 -0
  188. data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.calendar-additions.scssc +0 -0
  189. data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.filtering-multiselect.scssc +0 -0
  190. data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/ra.widgets.scssc +0 -0
  191. data/spec/dummy_app/tmp/cache/assets/test/sass/{c7aba53479ebd90acc5f6ba8fb7463fa43b1ae1c → 977fdcd1d57ae400c0a80cee764210478c5780f6}/rails_admin.scss.erbc +0 -0
  192. data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/mixins.scssc +0 -0
  193. data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/theming.scssc +0 -0
  194. data/spec/dummy_app/tmp/cache/assets/test/sass/{a65ba3e01aefad1ad59b6317cbb14d0560ca012b → 9a24497045e3375a0450bb40eb1ffe1eb56bc709}/variables.scssc +0 -0
  195. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_accordion.scssc +0 -0
  196. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_alerts.scssc +0 -0
  197. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_breadcrumbs.scssc +0 -0
  198. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_button-groups.scssc +0 -0
  199. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_buttons.scssc +0 -0
  200. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_carousel.scssc +0 -0
  201. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_close.scssc +0 -0
  202. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_component-animations.scssc +0 -0
  203. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_dropdowns.scssc +0 -0
  204. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_forms.scssc +0 -0
  205. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_grid.scssc +0 -0
  206. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_hero-unit.scssc +0 -0
  207. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_labels-badges.scssc +0 -0
  208. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_layouts.scssc +0 -0
  209. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_mixins.scssc +0 -0
  210. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_modals.scssc +0 -0
  211. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_navbar.scssc +0 -0
  212. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_navs.scssc +0 -0
  213. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_pager.scssc +0 -0
  214. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_pagination.scssc +0 -0
  215. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_popovers.scssc +0 -0
  216. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_progress-bars.scssc +0 -0
  217. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_reset.scssc +0 -0
  218. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_scaffolding.scssc +0 -0
  219. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_tables.scssc +0 -0
  220. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_thumbnails.scssc +0 -0
  221. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_tooltip.scssc +0 -0
  222. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_type.scssc +0 -0
  223. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_utilities.scssc +0 -0
  224. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_variables.scssc +0 -0
  225. data/spec/dummy_app/tmp/cache/assets/test/sass/{c996a898a33b80a44fab822802e73b6e409755d2 → a011cf534fa35e4fa0708adf6019078657586c2c}/_wells.scssc +0 -0
  226. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d1c2c3a2df8517e019edf30db44566b4 → 021e87bfe65a024a849db3c621f39607} +0 -0
  227. data/spec/dummy_app/tmp/cache/assets/test/sprockets/02da6cc33425a1387089c6030cf514db +0 -0
  228. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{4863c57f6c9bbf8cf392ba250f7e8e99 → 04880af615c5763f7808495d1676565b} +0 -0
  229. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0599094d22f449fecdbc1ae48e3d901e +0 -0
  230. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5c75555dac51f16619f3630fc4ce7811 → 06065efe9216af455ca5ae63b780842a} +0 -0
  231. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{fb0757f81f5726edb2a3fecb73c190ac → 07f7c76677c34256252f23976ce6c2a1} +0 -0
  232. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0843377cd450cc8688003ba317723fae +0 -0
  233. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0a4355e8cc379590a5aaf8542419d306 +0 -0
  234. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0b35ad462ccf12ca91cff9c51164c5a0 +0 -0
  235. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0f04a8cf5d989e555542213f5b5db676 +0 -0
  236. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{129530d9cbfe95daa40fefb31b541d13 → 1252be603446e6064e85dae1533eaa59} +0 -0
  237. data/spec/dummy_app/tmp/cache/assets/test/sprockets/12b2ef118f691f66646eac032f7535d3 +0 -0
  238. data/spec/dummy_app/tmp/cache/assets/test/sprockets/136f479ebd2eedeb83550b4a882538e5 +0 -0
  239. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1381657fbbc4cc175ae0406c8cbdd852 +0 -0
  240. data/spec/dummy_app/tmp/cache/assets/test/sprockets/161f8f439887fb5926b02a917b2fab29 +0 -0
  241. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1b26b92ae53bdc1e9f8a5afa7b72b381 +0 -0
  242. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1befe9a4bb03dc468cd7f5e7148a6a52 +0 -0
  243. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1d12409a91dcc8c8a4965c52a7f6b099 +0 -0
  244. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1db0d2a002e581a113a91a6e93e5d4e7 +0 -0
  245. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{10c9ca24ee38f89898883cf73e22a947 → 1dd74057b76db8f42e06cbb888f14956} +0 -0
  246. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{996f66db546cbb0e74c8e1b206934a8b → 1e7b3532f20949a13b8b69d2dddc559a} +0 -0
  247. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2051323c87c06ef9fb769ff13afe1d46 +0 -0
  248. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{714f390b93b33846a6c8358e3fb0555e → 2197e41c9dda6c82b109eaa0d5adaf2f} +0 -0
  249. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{cde5d358d89af1813033adcf5abdc012 → 22003805d8abcf11f0649bff9cef6c35} +0 -0
  250. data/spec/dummy_app/tmp/cache/assets/test/sprockets/258dbc982e14f78732a377754ed23a4b +0 -0
  251. data/spec/dummy_app/tmp/cache/assets/test/sprockets/26489e402a71f43f962d6055e30787d0 +0 -0
  252. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{969c58767a7de67e78f9ea69195183d9 → 276e2819a676347a7de259b70679adb8} +0 -0
  253. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2894746ab7d895286c1b09e42fc94281 +0 -0
  254. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2ab4ad958f77a3629fb62246f5604bce → 28c0c99cd6d41ead252f979cef74c6c5} +0 -0
  255. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{095e7d24e036c328ff8a353b062c075e → 2943f3fe07d2ae0184c2282647d5c50e} +0 -0
  256. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{a03d8b8153d1a1abc2abf53568d4dad0 → 2a421ff8fbf280e0d7323f26d2656144} +0 -0
  257. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d35f06fe57bd03bea2483b5398b2c6f8 → 2f23e3869b68c4c9492f9497b288f6bb} +0 -0
  258. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{9011102569db38052e6353455fac950e → 30539f6bae0581cb548f51ee6d9d5b9b} +0 -0
  259. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2656c3bece9f7e34887e2fceded0784e → 318296efd3e38c26a302d99d1638e4ad} +0 -0
  260. data/spec/dummy_app/tmp/cache/assets/test/sprockets/31bfcc7896d47062b682cb7305aa9052 +0 -0
  261. data/spec/dummy_app/tmp/cache/assets/test/sprockets/346057a4a317d5399f0faa78baf2be98 +0 -0
  262. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0ed0d802514844bf10f8361f431c8cc8 → 374aecf6aa1d05dd23ce4881c1bdd71b} +0 -0
  263. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{76c588a87498d0a7b9c4b93f78c47965 → 382ebccfe8b6bce742f4a2bc0c109d0f} +0 -0
  264. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{9ba5c2b7b2f656550a0deffc19472e39 → 39792f57ea45373a09c7ac823905cb29} +0 -0
  265. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e647f039e5c667d1ca130f914fb70624 → 3a3728ebf0994eb3f68ac9acf74c5904} +0 -0
  266. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5395b275597f09db5cc276d8a35b1c9b → 3aaf980536f44c31d1d0145ba8f1721d} +0 -0
  267. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{460d342022e00bbd6edff25125a60ab1 → 3ba808481868b8a56fdf9f106eeda367} +0 -0
  268. data/spec/dummy_app/tmp/cache/assets/test/sprockets/44e79847ae7bb5c853dbfefa452355f0 +0 -0
  269. data/spec/dummy_app/tmp/cache/assets/test/sprockets/459777cb1d30f6467da8dd53d9841bee +0 -0
  270. data/spec/dummy_app/tmp/cache/assets/test/sprockets/46842ce793ce3da43a6c21ef0c0e745e +0 -0
  271. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4764b71e86b2ebfa988853e0ce3bb441 +0 -0
  272. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4821eb4277ad6a0983c16630cd5806ae +0 -0
  273. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{375cc143f1184d76e6b3ff0dfb60187c → 485a6b0358511c73965a851ba5569014} +0 -0
  274. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{ba4f88faafacc90d28bc5a92032f2608 → 49ccc514fe103c24a38f100cecb21be9} +0 -0
  275. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b8e717c8deb6edc80a7a690369d13d35 → 49de4f401551329c23b46284313de8d1} +0 -0
  276. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{c61f7caef6bb75b1c15bde82e7cbbee2 → 4f3e6b4e40b631d3d949509f32ea9bc3} +0 -0
  277. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5de4f3048b6d83b2236bfbc041ad8f11 → 4fb06529e2126644ddf41924f5be2880} +0 -0
  278. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4fbd3f63d231f5b25d1b8eb02ecdd150 +0 -0
  279. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4ffa898a34dcdcfb92898d913da3f720 +0 -0
  280. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5159e29eea352859ecad8605385bc97e +0 -0
  281. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{498ee0d8892d5d9be8a37030e3253e14 → 529d621e1fb6b730d9d035b143e93f69} +0 -0
  282. data/spec/dummy_app/tmp/cache/assets/test/sprockets/54c3d5d9311b5d421c51b5d473de5b05 +0 -0
  283. data/spec/dummy_app/tmp/cache/assets/test/sprockets/582efaa561d6a724a7cd82b2023e8e29 +0 -0
  284. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b7ffc32371aea730fc8e27be3be8e633 → 59c191aebff69f4e76cb50860ff17df5} +0 -0
  285. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a0024fd5a8ae8322b07acc733c6caed +0 -0
  286. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a8fc55cb58b423142d530fc066dd3a4 +0 -0
  287. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5b1732a4f9d541544d84a04dda73e752 +0 -0
  288. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5c8e7da8dcddc72d152039cec5b173c9 +0 -0
  289. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2e774a2e56e0db0d18d782bbcb9639 +0 -0
  290. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6eff33b3b8fa010e960659ed61b250e6 → 5e9526449d8415fba07fb15676ccea95} +0 -0
  291. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{63ff3018e663064066c3dae6658c36fc → 5eed513a4451dedcc36ec16c45745bd4} +0 -0
  292. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5fab61053117e1d102e0a355e4b870d3 +0 -0
  293. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{8cfd86644ffefe11ed4880518435c8a5 → 62313843f7d1e2195eca82386ddbafc4} +0 -0
  294. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6e2e2c829c91d3d0c079771ed77e6654 → 638b254892f40165bda0c1ee6f62a6d6} +0 -0
  295. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{540da504e121104c4de8155ec685b4ea → 660d820d7f5e69fe59c0a7f01aaef8c6} +0 -0
  296. data/spec/dummy_app/tmp/cache/assets/test/sprockets/69f59cfc7f92e5d7ebf02df73928083b +0 -0
  297. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6a09089b5590cbb5dbccba9199b1aa0e +0 -0
  298. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6ab99dcd31d6d0380c0df7baa42a2b18 +0 -0
  299. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6b3e9ff481b3a040acb4e1ea61e4c8fc +0 -0
  300. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6ce0b5fdde88a0e3ff318a0c2726d46f +0 -0
  301. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6d278334e72b135765a41e991bec0500 +0 -0
  302. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e13a9d14cda66ff1562d59bae5bb0009 → 6f70cf17d6c5ba22b8afddd7d39c4d70} +0 -0
  303. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{743e275172178779f8b1f7fbe08dd5ea → 729b76b484c9c4df3af759a93635b21d} +0 -0
  304. data/spec/dummy_app/tmp/cache/assets/test/sprockets/72d8ec2796504cc9604b01118b806cd8 +0 -0
  305. data/spec/dummy_app/tmp/cache/assets/test/sprockets/74b195601a5c6c8bf93e5e7e9e6da12b +0 -0
  306. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2d1df5e32a061a951d5a2d4d9f6c3d24 → 75c3e223b3986acf0bc6c669d16054b8} +0 -0
  307. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4a49843caf12d9a6dc764014f42b895 → 75ed3fc3c431fc2154cdd1f760f3210e} +0 -0
  308. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7795054eed96c541e38536fa029a42ad +0 -0
  309. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2e8383214772b291c87934ed8a84b955 → 77a4a5a208b8121488fd9ef247d67813} +0 -0
  310. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7ec629ff58b2d1e0dfe7f8c56f2fc5d7 +0 -0
  311. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b82696d97bda7df1d71f90b91abbbb80 → 840324d228205039aaaafc391c208430} +0 -0
  312. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7be36e83efedfb86b40e05e2c2e9cacf → 842328de502c909f498ccca706cd47dc} +0 -0
  313. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{5cb7d2cb1418d5831b0b61ca68d18a07 → 8644f94b9a1a902153cd97473ce23266} +0 -0
  314. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bdf867751d648676e25e36a9435e6b26 → 88f2fbf474d52591035c94b07b696ff9} +0 -0
  315. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e1bba75ba340cdef270c20efd6f983ac → 89fe3f3e75d5eb4ecb1b836fd792990d} +0 -0
  316. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{a03fc26531eea1055e58e91bd64792b3 → 917c85b2a002bf08c90f4509aba5b538} +0 -0
  317. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7f5f2d823155f3f1da616e146d540dc1 → 920f17a87bb2678c28568f5e686a4cf1} +0 -0
  318. data/spec/dummy_app/tmp/cache/assets/test/sprockets/925c3596709eb590d786f15a3cf817bb +0 -0
  319. data/spec/dummy_app/tmp/cache/assets/test/sprockets/984e0e653074756d5c241ac3597b68d8 +0 -0
  320. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{7ed06e4bd001b429d263963fbe783f11 → 98a0e68016b3c8f8000d991b1d5bc044} +0 -0
  321. data/spec/dummy_app/tmp/cache/assets/test/sprockets/9b9810623fa8a8a92e55d065f93340ee +0 -0
  322. data/spec/dummy_app/tmp/cache/assets/test/sprockets/9c834e292807614b87fc885949cb12d5 +0 -0
  323. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{aa87eff56d455dae33b13bb129cd4d3f → 9dab4fa8ba5260be660ee06b90e3e847} +0 -0
  324. data/spec/dummy_app/tmp/cache/assets/test/sprockets/9f60a2e19502e0f9ad7ccffa2da50342 +0 -0
  325. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d5cb053b401e51026a9c743fc9442a45 → 9f6c080a6bd27db284fbb211f3f44a6c} +0 -0
  326. data/spec/dummy_app/tmp/cache/assets/test/sprockets/9fb546f0f37deda2fdcfd48930de0f69 +0 -0
  327. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bb2bc7acd86cbf95e1ca5d978aa3b407 → a0bdc79935fc14ace4c5366e1ba7d527} +0 -0
  328. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a1f2411c0e3e9a52183b5f0c96fa84c8 +0 -0
  329. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{24dcc2914999ebf715353482d3b22e51 → a41cd406b752008bf3aaeb365d9d5e8b} +0 -0
  330. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{bedffc652989e272a8e2774aab019da5 → a50199939a6040343c5487c1dde55260} +0 -0
  331. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a80f3bf6075735abb8874bf40ca7a4cd +0 -0
  332. data/spec/dummy_app/tmp/{dragonfly/cache/body/20/4b9c4f1d960805e206c28eac62367b6970f63b → cache/assets/test/sprockets/ad452a261b3fc90b3aca85ffc630817d} +0 -0
  333. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{38fd3d9139702eff7281ee67b638d92e → b0b910efc00aa49d187637e761ea0654} +0 -0
  334. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0c78a1295e80206cd724fb0661c58ee4 → b12de6d4d7f222f76b111c25f5dab178} +0 -0
  335. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b1d340312b1b800c7c5e652e1db6c9cc +0 -0
  336. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b31203d66a43ee74d976dc763f42f38a +0 -0
  337. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{20967f4e0f44fccf2c2de06aad218647 → b944bc4b0799f7954005e8b1a5336687} +0 -0
  338. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{f8d79539ba48d44d737f7ca1295354f7 → baf1f20ee8ed55082855f5ecfbb9db4e} +0 -0
  339. data/spec/dummy_app/tmp/cache/assets/test/sprockets/bf1fd5d742a16de894278017732d1b2c +0 -0
  340. data/spec/dummy_app/tmp/cache/assets/test/sprockets/bffa7d2c518d584c3f1ba8b9e11cf745 +0 -0
  341. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{0f72b417ab87169150cd61260cc18f4e → c2f1cee7fb8eb8492c4084ce00dc53b6} +0 -0
  342. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c53a5fc1810ee9b6c3c933fd5590228e +0 -0
  343. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c801ebd7cabbdbe237c427692b2f6017 +0 -0
  344. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{98c978063ce9eca4f00d35e8ee8ccccb → c87758b6b5f54876dccc4562ebd59a43} +0 -0
  345. data/spec/dummy_app/tmp/cache/assets/test/sprockets/cb1a9d6c11a7eb5430d3c79838a53eb1 +0 -0
  346. data/spec/dummy_app/tmp/cache/assets/test/sprockets/cb1d6fcc9bad898327636cf414f73b57 +0 -0
  347. data/spec/dummy_app/tmp/cache/assets/test/sprockets/cd8be896a3bf8f11cc61e0fb6b90eb80 +0 -0
  348. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{550d461012567dbfec3138e404c434e3 → ce027086e6de68f182037504b6227485} +0 -0
  349. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ce9ba680277b6a7f2f6c65c077e83384 +0 -0
  350. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4d934ea7bb7519042bc79deb3028314 → cf435b3d4a48bc16f5cc1db8f7049596} +0 -0
  351. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{672892e6983bdb28969d20d688b445c3 → d024b2e0207c1a894ac2fc0c0e002033} +0 -0
  352. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{6983eaa0179424c5a469abec763c7433 → d1b6047944a0a6e232951727bba44560} +0 -0
  353. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{306d8bf77dac0876fb62a6d7d7279f8b → d2acbd849a5e6d1809ac9e9639dbc893} +0 -0
  354. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d3e77ae2b265a7b6a4e6619ae888c02f +0 -0
  355. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{55b24a753c1452383f987ea056096fc8 → d43f3b9f17586aa28c6097e3be02822f} +0 -0
  356. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d533eddb21cd722c5216bc0bb88f1c6d +0 -0
  357. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d6205326f914ac8b2f61b0fefad24ef1 +0 -0
  358. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{1ef09ffd0e1376aabbac9def4652b166 → d79f4cb89c0bf1ea5e42bfda6e6b27c5} +0 -0
  359. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b68666c0d1bd7d3d06bacd7767043149 → d917eb39b30dcf6725854039c98a5012} +0 -0
  360. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{3a6a4e5299d2063b2dd6e980fa0551d5 → de1a47afa53c502369479e8dbbfebd9b} +0 -0
  361. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{e7da37b727b2c61d4f654f88ebda783d → dee3a9569b9ee7368f88a014ba475c3a} +0 -0
  362. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e1309c718c63004add03fd7c472ec5c1 +0 -0
  363. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d4de3cd17da73d9e0d3c4ff1142385c3 → e3e93c085f3fc84da01f92b8d61981ae} +0 -0
  364. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e5ce6cd41375d04320a8a3150db827a3 +0 -0
  365. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{8864a718fb2c0b6c297e9efbd210e1f5 → e613b18c9e1811582dc0aeaf095e56ae} +0 -0
  366. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{c242b461c1c4aa60e2dfa5486dc9a1a8 → e69a4b84ef07dbc0ac277803d272a6fa} +0 -0
  367. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d104a4ce0d9dc0398049425d45fd6e47 → e72ab273009021b9a7b5770457a9d13b} +0 -0
  368. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2998aba256780a65cc4058fdd00f3b8f → ebf2567e766b39401f690380a2d00e66} +0 -0
  369. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ec99299f858e97986ac4ba883d94826c +0 -0
  370. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ecddf8ef16cc19c9634433c4f5dcc256 +0 -0
  371. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{2e96c0383b32e1ec0746b08f3bea0c7b → eefb724057cd7d3f1e6fee605910718d} +0 -0
  372. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{51173669b5ab5031ba6c9eff069b6ae7 → f1f9a7b96317af0df54445979f298b68} +0 -0
  373. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f342ebdd61bbcd9b91b4d09aac84b7e6 +0 -0
  374. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{d778ac3298efe5fc7d13405e66041015 → f37153d14eee1485b7d6bb7bd5196af6} +0 -0
  375. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f3ad8cf21b94a7a5f382482e0529fe3c +0 -0
  376. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{1c166333b9ae232ca3c43174ff7ed396 → f4f596c9ba337be0d71e4ef01d05e45c} +0 -0
  377. data/spec/dummy_app/tmp/cache/assets/test/sprockets/{b1f49e09b0df0a360d041969f76da859 → fe334a948fd2e5baccfa25d2c4abffc4} +0 -0
  378. data/spec/dummy_app/tmp/dragonfly/cache/body/3e/2e27ad204d468500de8d9902b63d1e88657389 +4 -0
  379. data/spec/dummy_app/tmp/{cache/assets/test/sprockets/b1b5c83a14fd8b2081cbb32dd26021c4 → dragonfly/cache/body/6f/58795de38055147320844c9fa5ff32e0aa123e} +0 -0
  380. data/spec/dummy_app/tmp/dragonfly/cache/meta/1c/caf9bcaeb88256d4e9505faaa85621e4b53a8d +0 -0
  381. data/spec/dummy_app/tmp/dragonfly/cache/meta/25/1c81c04032b247ef575f4c929301f7f1963a39 +0 -0
  382. data/spec/dummy_app/tmp/dragonfly/cache/meta/2b/b5469f96538f0f47bb9c2828b5f970fae89a8d +0 -0
  383. data/spec/dummy_app/tmp/dragonfly/cache/meta/2e/276270b8e924ea3de50db2ad7a265c3bc4f0a1 +0 -0
  384. data/spec/dummy_app/tmp/dragonfly/cache/meta/62/36dfc092f525f643ded34bb316308d788f8f41 +0 -0
  385. data/spec/dummy_app/tmp/dragonfly/cache/meta/70/d58ddc461366882590f97c0d9ea3af5545b5a1 +0 -0
  386. data/spec/dummy_app/tmp/dragonfly/cache/meta/bd/bb171fbf5c5c34eff7efc8fa78817acc7dea9d +0 -0
  387. data/spec/dummy_app/tmp/dragonfly/cache/meta/d1/6c9c5ef0b7ae606b4a12cb7daf2fa7dc21acd5 +0 -0
  388. data/spec/factories.rb +2 -3
  389. data/spec/helpers/rails_admin/application_helper_spec.rb +86 -86
  390. data/spec/helpers/rails_admin/form_builder_spec.rb +6 -6
  391. data/spec/integration/authorization/cancan_spec.rb +168 -173
  392. data/spec/integration/basic/bulk_action/rails_admin_basic_bulk_action_spec.rb +11 -11
  393. data/spec/integration/basic/bulk_destroy/rails_admin_basic_bulk_destroy_spec.rb +16 -16
  394. data/spec/integration/basic/create/rails_admin_basic_create_spec.rb +69 -69
  395. data/spec/integration/basic/create/rails_admin_namespaced_model_create_spec.rb +8 -8
  396. data/spec/integration/basic/delete/rails_admin_basic_delete_spec.rb +21 -21
  397. data/spec/integration/basic/destroy/rails_admin_basic_destroy_spec.rb +32 -32
  398. data/spec/integration/basic/edit/rails_admin_basic_edit_spec.rb +39 -39
  399. data/spec/integration/basic/export/rails_admin_basic_export_spec.rb +36 -36
  400. data/spec/integration/basic/list/rails_admin_basic_list_spec.rb +194 -102
  401. data/spec/integration/basic/new/rails_admin_basic_new_spec.rb +30 -30
  402. data/spec/integration/basic/new/rails_admin_namespaced_model_new_spec.rb +12 -12
  403. data/spec/integration/basic/show/rails_admin_basic_show_spec.rb +34 -34
  404. data/spec/integration/basic/update/rails_admin_basic_update_spec.rb +90 -90
  405. data/spec/integration/config/edit/rails_admin_config_edit_spec.rb +351 -352
  406. data/spec/integration/config/list/rails_admin_config_list_spec.rb +132 -133
  407. data/spec/integration/config/show/rails_admin_config_show_spec.rb +82 -83
  408. data/spec/integration/history/rails_admin_history_spec.rb +15 -15
  409. data/spec/integration/rails_admin_spec.rb +48 -49
  410. data/spec/integration/relation_spec.rb +12 -12
  411. data/spec/orm/active_record.rb +7 -4
  412. data/spec/orm/mongoid.rb +1 -7
  413. data/spec/rails_admin/abstract_model_spec.rb +28 -28
  414. data/spec/rails_admin/active_record_extension_spec.rb +3 -3
  415. data/spec/rails_admin/adapters/active_record/abstract_object_spec.rb +29 -29
  416. data/spec/rails_admin/adapters/active_record_spec.rb +210 -215
  417. data/spec/rails_admin/adapters/mongoid/abstract_object_spec.rb +19 -19
  418. data/spec/rails_admin/adapters/mongoid_spec.rb +429 -435
  419. data/spec/rails_admin/config/actions/base_spec.rb +9 -9
  420. data/spec/rails_admin/config/actions_spec.rb +42 -42
  421. data/spec/rails_admin/config/fields/base_spec.rb +135 -136
  422. data/spec/rails_admin/config/fields/date_spec.rb +17 -17
  423. data/spec/rails_admin/config/fields/datetime_spec.rb +12 -13
  424. data/spec/rails_admin/config/fields/file_upload_spec.rb +4 -5
  425. data/spec/rails_admin/config/fields/time_spec.rb +12 -13
  426. data/spec/rails_admin/config/fields/timestamp_spec.rb +5 -5
  427. data/spec/rails_admin/config/fields/types/ck_editor_spec.rb +1 -1
  428. data/spec/rails_admin/config/fields/types/datetime_spec.rb +2 -2
  429. data/spec/rails_admin/config/fields_spec.rb +4 -4
  430. data/spec/rails_admin/config/has_fields_spec.rb +4 -4
  431. data/spec/rails_admin/config/lazy_model_spec.rb +5 -5
  432. data/spec/rails_admin/config/model_spec.rb +50 -50
  433. data/spec/rails_admin/config/proxyable/proxy_spec.rb +7 -10
  434. data/spec/rails_admin/config/sections_spec.rb +22 -22
  435. data/spec/rails_admin/config_spec.rb +81 -80
  436. data/spec/rails_admin/support/csv_converter_spec.rb +3 -3
  437. data/spec/spec_helper.rb +11 -14
  438. metadata +509 -548
  439. metadata.gz.sig +0 -0
  440. data/lib/generators/rails_admin/templates/drop.rb +0 -18
  441. data/lib/generators/rails_admin/templates/migration.rb +0 -18
  442. data/lib/generators/rails_admin/uninstall_generator.rb +0 -22
  443. data/spec/dummy_app/tmp/cache/assets/test/sass/245c4be20f01db9121b0992275b77e082f23d7df/font-awesome-4-compability.scssc +0 -0
  444. data/spec/dummy_app/tmp/cache/assets/test/sass/ec09962bad77c2bf0bbd3ac3d62b1dd18394a9fe/font-awesome.css.erbc +0 -0
  445. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0166686128d421b993db59eb5e22c92c +0 -0
  446. data/spec/dummy_app/tmp/cache/assets/test/sprockets/03c695c9019f09cbb02f63a7ae21d79f +0 -0
  447. data/spec/dummy_app/tmp/cache/assets/test/sprockets/09f8aac43754fe92352c1a0dac795897 +0 -0
  448. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0ae5c9a0fc0ac395440fd4a9475ad717 +0 -0
  449. data/spec/dummy_app/tmp/cache/assets/test/sprockets/11f4d136083919b98336de97c5a27364 +0 -0
  450. data/spec/dummy_app/tmp/cache/assets/test/sprockets/128dcffe5acb878aaf10cb69ede11e54 +0 -0
  451. data/spec/dummy_app/tmp/cache/assets/test/sprockets/143fa89e22fd0f160912728242c12d20 +0 -0
  452. data/spec/dummy_app/tmp/cache/assets/test/sprockets/174a5ce6774da56e0d025f915d2a5656 +0 -0
  453. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1e909aba91e1216beb4533895a4a6ffa +0 -0
  454. data/spec/dummy_app/tmp/cache/assets/test/sprockets/21af0c9472c74ff4307411a74eb52a08 +0 -0
  455. data/spec/dummy_app/tmp/cache/assets/test/sprockets/232be00ca912eb52d6fc11676eee2f52 +0 -0
  456. data/spec/dummy_app/tmp/cache/assets/test/sprockets/245b58f60816ff2e286784b47a8124a6 +0 -0
  457. data/spec/dummy_app/tmp/cache/assets/test/sprockets/24df57fbd4ef4a5d613ab3360a611f9d +0 -0
  458. data/spec/dummy_app/tmp/cache/assets/test/sprockets/26495c65c6a62b71419149d7dd3b601b +0 -0
  459. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2d69e41d82df0b55096aed4faa6f16c6 +0 -0
  460. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2f60f107ce85662c1588f521bb9e2c8b +0 -0
  461. data/spec/dummy_app/tmp/cache/assets/test/sprockets/30061ffe89ebc51d869d6b363b18a7cf +0 -0
  462. data/spec/dummy_app/tmp/cache/assets/test/sprockets/34ac1a6bcf81e3f9139511c7be3dfed9 +0 -0
  463. data/spec/dummy_app/tmp/cache/assets/test/sprockets/3c44e3b6e6c89b71c859ee6552fd8abb +0 -0
  464. data/spec/dummy_app/tmp/cache/assets/test/sprockets/412440cb48736db6d625f0ecb113344d +0 -0
  465. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4557193886d8770d362ce8103d320b9f +0 -0
  466. data/spec/dummy_app/tmp/cache/assets/test/sprockets/498f25956085afc83e15c44ffb1170e6 +0 -0
  467. data/spec/dummy_app/tmp/cache/assets/test/sprockets/57dc08580327982fc6a9e8c0a7f168ad +0 -0
  468. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a6cbfd514173d817be78f9d005c5680 +0 -0
  469. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2c9668e1a6c05d64b5c7cd79ddd647 +0 -0
  470. data/spec/dummy_app/tmp/cache/assets/test/sprockets/64277385d99fc22b7ff9fa9cacc0dc93 +0 -0
  471. data/spec/dummy_app/tmp/cache/assets/test/sprockets/66c9b69b948666df4d011498e6631eed +0 -0
  472. data/spec/dummy_app/tmp/cache/assets/test/sprockets/696be962f98b08b9fee127ddd7e99903 +0 -0
  473. data/spec/dummy_app/tmp/cache/assets/test/sprockets/69d2c687f9659c7d6fb668bddb032834 +0 -0
  474. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6bd55d53bef2f0dd81671f0f02f7d3ed +0 -0
  475. data/spec/dummy_app/tmp/cache/assets/test/sprockets/70b145271cbc457a0b6fd0c63af2983f +0 -0
  476. data/spec/dummy_app/tmp/cache/assets/test/sprockets/73f41636108e88974107e84d4d50801d +0 -0
  477. data/spec/dummy_app/tmp/cache/assets/test/sprockets/75f716413cdabd240c8b85adc42ddad9 +0 -0
  478. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7741691076a9f393f20d291004464ac0 +0 -0
  479. data/spec/dummy_app/tmp/cache/assets/test/sprockets/785ad3ea421e6a5227ad573a68eb210e +0 -0
  480. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7a9b30ad67a8c153e95d638e962bf463 +0 -0
  481. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7aa93b56c89c66301f9154d27ea9014f +0 -0
  482. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7c081ddde599ff1c2e0006defac49285 +0 -0
  483. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7ef92f534d8e2b3abde760d1813145d9 +0 -0
  484. data/spec/dummy_app/tmp/cache/assets/test/sprockets/82d50803717341c893f612a86d9a1400 +0 -0
  485. data/spec/dummy_app/tmp/cache/assets/test/sprockets/8626144fc98fb2a6c7ede9bf55f84cac +0 -0
  486. data/spec/dummy_app/tmp/cache/assets/test/sprockets/898f5214bcdb21409c81c8aade73b535 +0 -0
  487. data/spec/dummy_app/tmp/cache/assets/test/sprockets/8f5d6d8fba731caff3f9e84487876612 +0 -0
  488. data/spec/dummy_app/tmp/cache/assets/test/sprockets/91c2a4d8729e7c56e56029d18edb1176 +0 -0
  489. data/spec/dummy_app/tmp/cache/assets/test/sprockets/99e5beb37b7130f59a12936b6b763447 +0 -0
  490. data/spec/dummy_app/tmp/cache/assets/test/sprockets/9ad9a36052fd8184d3634f8edbf52a68 +0 -0
  491. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a70e63d06a6899f97de5cf676b2c395c +0 -0
  492. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b1b02c2fe88268d3d00709aeca4c2eb5 +0 -0
  493. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b95121cacfdf3b3cd1197526fbc6c098 +0 -0
  494. data/spec/dummy_app/tmp/cache/assets/test/sprockets/bab598b96111d2c4545459320f65853b +0 -0
  495. data/spec/dummy_app/tmp/cache/assets/test/sprockets/bbc9f2cbbd599b8b17e585cd2ebfc9a2 +0 -0
  496. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c1bbc7c7493a2006f9116a79be4aad50 +0 -0
  497. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c3381e393b50c9df2f8b97e4634b1349 +0 -0
  498. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c402e3bddd9e25c23e52df17c8bb42a3 +0 -0
  499. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c7222887ab4570345607228eed54b7c4 +0 -0
  500. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d4e4ebef5c7337c61bee8cc343e473d4 +0 -0
  501. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d5150138d2eedf2573c71dbd75180e2a +0 -0
  502. data/spec/dummy_app/tmp/cache/assets/test/sprockets/dbeda8fff4e9b5084fd1bc79a0f220d0 +0 -0
  503. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e43b6fc5e743fc33b6ec77b00fc1c916 +0 -0
  504. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ec6a90e298605bce56e3e47e1c4a6d5c +0 -0
  505. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ef41f276ef9b69b0d57e4566493cc15d +0 -0
  506. data/spec/dummy_app/tmp/cache/assets/test/sprockets/efba5ca5522c353d79d1b624f22179c1 +0 -0
  507. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f304c66c0c0e65597b8a53e4b9883357 +0 -0
  508. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f386bc0d31bc15498eaff65440bf1ead +0 -0
  509. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f9c9bd4d84f1951260e50180fa8ae0d2 +0 -0
  510. data/spec/dummy_app/tmp/cache/assets/test/sprockets/fa6cff1eeaad0d65a825b3ebd3045070 +0 -0
  511. data/spec/dummy_app/tmp/cache/assets/test/sprockets/fead2dec6a8d5e520cd797810ef316bd +0 -0
  512. data/spec/dummy_app/tmp/dragonfly/cache/body/d9/6abc70a2bba359cc1bebcf56d7d4e522eacbad +0 -4
  513. data/spec/dummy_app/tmp/dragonfly/cache/meta/01/52bba6767d462a8815bfef629b8413079a9d31 +0 -0
  514. data/spec/dummy_app/tmp/dragonfly/cache/meta/38/703cefed91dd44c4a8fea5cbb4b17e1ebfc99d +0 -0
  515. data/spec/dummy_app/tmp/dragonfly/cache/meta/40/1d77fa6d5446212f87dac823fbdcb241ec9325 +0 -0
  516. data/spec/dummy_app/tmp/dragonfly/cache/meta/40/95eda2cf7223fc56a96360973c859a9f24d468 +0 -0
  517. data/spec/dummy_app/tmp/dragonfly/cache/meta/5b/7f94b5e3c284cefaa1531e7b5c7f20354a6735 +0 -0
  518. data/spec/dummy_app/tmp/dragonfly/cache/meta/5e/ef47362a4fd7fd0542ff5e873eb5b76d7d5002 +0 -0
  519. data/spec/dummy_app/tmp/dragonfly/cache/meta/64/5a7c779a6e798b4f85e897f1d39ef331e1678c +0 -0
  520. data/spec/dummy_app/tmp/dragonfly/cache/meta/67/d60c85f99af4a911cf86702114da2d9fff52ac +0 -0
  521. data/spec/dummy_app/tmp/dragonfly/cache/meta/82/f18afea133bee8e0c723324497383d7bb510f9 +0 -0
  522. data/spec/dummy_app/tmp/dragonfly/cache/meta/84/9965055e94a3d5727a725d174bbbed8f8ecce3 +0 -0
  523. data/spec/dummy_app/tmp/dragonfly/cache/meta/90/acadf04574dc9417c2f7c238ee48e901b92474 +0 -0
  524. data/spec/dummy_app/tmp/dragonfly/cache/meta/a8/8839a9c373f06becc049eeb4f4cdb194c1ceda +0 -0
  525. data/spec/dummy_app/tmp/dragonfly/cache/meta/b7/b845f13b154ef49a71b1be96931905695a62fc +0 -0
  526. data/spec/dummy_app/tmp/dragonfly/cache/meta/ca/9693eea0638512131858fa1fc6c43a76687529 +0 -0
  527. data/spec/dummy_app/tmp/dragonfly/cache/meta/e7/c486ba5ec259581c09ba1f4ee381c719719397 +0 -0
  528. data/spec/dummy_app/tmp/dragonfly/cache/meta/f2/220f8edf3a69687421c04f7fc325efd46ca120 +0 -0
@@ -1,44 +1,44 @@
1
1
  require 'spec_helper'
2
2
  require 'timecop'
3
3
 
4
- describe "RailsAdmin::Adapters::ActiveRecord", :active_record => true do
4
+ describe 'RailsAdmin::Adapters::ActiveRecord', active_record: true do
5
5
  before do
6
- @like = ::ActiveRecord::Base.configurations[Rails.env]['adapter'] == "postgresql" ? 'ILIKE' : 'LIKE'
6
+ @like = ::ActiveRecord::Base.configurations[Rails.env]['adapter'] == 'postgresql' ? 'ILIKE' : 'LIKE'
7
7
  end
8
8
 
9
- describe "#associations" do
9
+ describe '#associations' do
10
10
  before :all do
11
11
  RailsAdmin::AbstractModel.reset_polymorphic_parents
12
12
 
13
13
  class ARBlog < ActiveRecord::Base
14
14
  has_many :a_r_posts
15
- has_many :a_r_comments, :as => :commentable
16
- belongs_to :librarian, :polymorphic => true
15
+ has_many :a_r_comments, as: :commentable
16
+ belongs_to :librarian, polymorphic: true
17
17
  end
18
18
 
19
19
  class ARPost < ActiveRecord::Base
20
20
  belongs_to :a_r_blog
21
21
  has_and_belongs_to_many :a_r_categories
22
- has_many :a_r_comments, :as => :commentable
22
+ has_many :a_r_comments, as: :commentable
23
23
  end
24
24
 
25
25
  class ARCategory < ActiveRecord::Base
26
26
  has_and_belongs_to_many :a_r_posts
27
- belongs_to :librarian, :polymorphic => true
27
+ belongs_to :librarian, polymorphic: true
28
28
  end
29
29
 
30
30
  class ARUser < ActiveRecord::Base
31
31
  has_one :a_r_profile
32
- has_many :a_r_categories, :as => :librarian
32
+ has_many :a_r_categories, as: :librarian
33
33
  end
34
34
 
35
35
  class ARProfile < ActiveRecord::Base
36
36
  belongs_to :a_r_user
37
- has_many :a_r_blogs, :as => :librarian
37
+ has_many :a_r_blogs, as: :librarian
38
38
  end
39
39
 
40
40
  class ARComment < ActiveRecord::Base
41
- belongs_to :commentable, :polymorphic => true
41
+ belongs_to :commentable, polymorphic: true
42
42
  end
43
43
 
44
44
  @blog = RailsAdmin::AbstractModel.new(ARBlog)
@@ -53,395 +53,390 @@ describe "RailsAdmin::Adapters::ActiveRecord", :active_record => true do
53
53
  RailsAdmin::AbstractModel.reset_polymorphic_parents
54
54
  end
55
55
 
56
- it "lists associations" do
57
- expect(@post.associations.map{|a|a[:name].to_s}).to match_array ['a_r_blog', 'a_r_categories', 'a_r_comments']
56
+ it 'lists associations' do
57
+ expect(@post.associations.collect { |a|a[:name].to_s }).to match_array %w(a_r_blog a_r_categories a_r_comments)
58
58
  end
59
59
 
60
- it "list associations types in supported [:belongs_to, :has_and_belongs_to_many, :has_many, :has_one]" do
61
- expect((@post.associations + @blog.associations + @user.associations).map{|a|a[:type]}.uniq.map(&:to_s)).to match_array ['belongs_to', 'has_and_belongs_to_many', 'has_many', 'has_one']
60
+ it 'list associations types in supported [:belongs_to, :has_and_belongs_to_many, :has_many, :has_one]' do
61
+ expect((@post.associations + @blog.associations + @user.associations).collect { |a|a[:type] }.uniq.collect(&:to_s)).to match_array %w(belongs_to has_and_belongs_to_many has_many has_one)
62
62
  end
63
63
 
64
- it "has correct parameter of belongs_to association" do
65
- param = @post.associations.select{|a| a[:name] == :a_r_blog}.first
66
- expect(param.reject{|k, v| [:primary_key_proc, :model_proc].include? k }).to eq({
67
- :name => :a_r_blog,
68
- :pretty_name => "A r blog",
69
- :type => :belongs_to,
70
- :foreign_key => :a_r_blog_id,
71
- :foreign_type => nil,
72
- :as => nil,
73
- :polymorphic => false,
74
- :inverse_of => nil,
75
- :read_only => nil,
76
- :nested_form => nil,
77
- })
64
+ it 'has correct parameter of belongs_to association' do
65
+ param = @post.associations.select { |a| a[:name] == :a_r_blog }.first
66
+ expect(param.reject { |k, v| [:primary_key_proc, :model_proc].include? k }).to eq(
67
+ name: :a_r_blog,
68
+ pretty_name: 'A r blog',
69
+ type: :belongs_to,
70
+ foreign_key: :a_r_blog_id,
71
+ foreign_type: nil,
72
+ as: nil,
73
+ polymorphic: false,
74
+ inverse_of: nil,
75
+ read_only: nil,
76
+ nested_form: nil
77
+ )
78
78
  expect(param[:primary_key_proc].call).to eq('id')
79
79
  expect(param[:model_proc].call).to eq(ARBlog)
80
80
  end
81
81
 
82
- it "has correct parameter of has_many association" do
83
- param = @blog.associations.select{|a| a[:name] == :a_r_posts}.first
84
- expect(param.reject{|k, v| [:primary_key_proc, :model_proc].include? k }).to eq({
85
- :name => :a_r_posts,
86
- :pretty_name => "A r posts",
87
- :type => :has_many,
88
- :foreign_key => :ar_blog_id,
89
- :foreign_type => nil,
90
- :as => nil,
91
- :polymorphic => false,
92
- :inverse_of => nil,
93
- :read_only => nil,
94
- :nested_form => nil,
95
- })
82
+ it 'has correct parameter of has_many association' do
83
+ param = @blog.associations.select { |a| a[:name] == :a_r_posts }.first
84
+ expect(param.reject { |k, v| [:primary_key_proc, :model_proc].include? k }).to eq(
85
+ name: :a_r_posts,
86
+ pretty_name: 'A r posts',
87
+ type: :has_many,
88
+ foreign_key: :ar_blog_id,
89
+ foreign_type: nil,
90
+ as: nil,
91
+ polymorphic: false,
92
+ inverse_of: nil,
93
+ read_only: nil,
94
+ nested_form: nil
95
+ )
96
96
  expect(param[:primary_key_proc].call).to eq('id')
97
97
  expect(param[:model_proc].call).to eq(ARPost)
98
98
  end
99
99
 
100
- it "has correct parameter of has_and_belongs_to_many association" do
101
- param = @post.associations.select{|a| a[:name] == :a_r_categories}.first
102
- expect(param.reject{|k, v| [:primary_key_proc, :model_proc].include? k }).to eq({
103
- :name => :a_r_categories,
104
- :pretty_name => "A r categories",
105
- :type => :has_and_belongs_to_many,
106
- :foreign_key => :ar_post_id,
107
- :foreign_type => nil,
108
- :as => nil,
109
- :polymorphic => false,
110
- :inverse_of => nil,
111
- :read_only => nil,
112
- :nested_form => nil
113
- })
100
+ it 'has correct parameter of has_and_belongs_to_many association' do
101
+ param = @post.associations.select { |a| a[:name] == :a_r_categories }.first
102
+ expect(param.reject { |k, v| [:primary_key_proc, :model_proc].include? k }).to eq(
103
+ name: :a_r_categories,
104
+ pretty_name: 'A r categories',
105
+ type: :has_and_belongs_to_many,
106
+ foreign_key: :ar_post_id,
107
+ foreign_type: nil,
108
+ as: nil,
109
+ polymorphic: false,
110
+ inverse_of: nil,
111
+ read_only: nil,
112
+ nested_form: nil
113
+ )
114
114
  expect(param[:primary_key_proc].call).to eq('id')
115
115
  expect(param[:model_proc].call).to eq(ARCategory)
116
116
  end
117
117
 
118
- it "has correct parameter of polymorphic belongs_to association" do
119
- allow(RailsAdmin::Config).to receive(:models_pool).and_return(["ARBlog", "ARPost", "ARCategory", "ARUser", "ARProfile", "ARComment"])
120
- param = @comment.associations.select{|a| a[:name] == :commentable}.first
121
- expect(param.reject{|k, v| [:primary_key_proc, :model_proc].include? k }).to eq({
122
- :name => :commentable,
123
- :pretty_name => "Commentable",
124
- :type => :belongs_to,
125
- :foreign_key => :commentable_id,
126
- :foreign_type => :commentable_type,
127
- :as => nil,
128
- :polymorphic => true,
129
- :inverse_of => nil,
130
- :read_only => nil,
131
- :nested_form => nil
132
- })
118
+ it 'has correct parameter of polymorphic belongs_to association' do
119
+ allow(RailsAdmin::Config).to receive(:models_pool).and_return(%w(ARBlog ARPost ARCategory ARUser ARProfile ARComment))
120
+ param = @comment.associations.select { |a| a[:name] == :commentable }.first
121
+ expect(param.reject { |k, v| [:primary_key_proc, :model_proc].include? k }).to eq(
122
+ name: :commentable,
123
+ pretty_name: 'Commentable',
124
+ type: :belongs_to,
125
+ foreign_key: :commentable_id,
126
+ foreign_type: :commentable_type,
127
+ as: nil,
128
+ polymorphic: true,
129
+ inverse_of: nil,
130
+ read_only: nil,
131
+ nested_form: nil
132
+ )
133
133
  # Should not be called for polymorphic relations.
134
134
  # TODO: Handle this case
135
135
  # expect(param[:primary_key_proc].call).to eq('id')
136
136
  expect(param[:model_proc].call).to eq([ARBlog, ARPost])
137
137
  end
138
138
 
139
- it "has correct parameter of polymorphic inverse has_many association" do
140
- param = @blog.associations.select{|a| a[:name] == :a_r_comments}.first
141
- expect(param.reject{|k, v| [:primary_key_proc, :model_proc].include? k }).to eq({
142
- :name => :a_r_comments,
143
- :pretty_name => "A r comments",
144
- :type => :has_many,
145
- :foreign_key => :commentable_id,
146
- :foreign_type => nil,
147
- :as => :commentable,
148
- :polymorphic => false,
149
- :inverse_of => nil,
150
- :read_only => nil,
151
- :nested_form => nil
152
- })
139
+ it 'has correct parameter of polymorphic inverse has_many association' do
140
+ param = @blog.associations.select { |a| a[:name] == :a_r_comments }.first
141
+ expect(param.reject { |k, v| [:primary_key_proc, :model_proc].include? k }).to eq(
142
+ name: :a_r_comments,
143
+ pretty_name: 'A r comments',
144
+ type: :has_many,
145
+ foreign_key: :commentable_id,
146
+ foreign_type: nil,
147
+ as: :commentable,
148
+ polymorphic: false,
149
+ inverse_of: nil,
150
+ read_only: nil,
151
+ nested_form: nil
152
+ )
153
153
  expect(param[:primary_key_proc].call).to eq('id')
154
154
  expect(param[:model_proc].call).to eq(ARComment)
155
155
  end
156
156
 
157
-
158
157
  it 'has correct opposite model lookup for polymorphic associations' do
159
- allow(RailsAdmin::Config).to receive(:models_pool).and_return(["ARBlog", "ARPost", "ARCategory", "ARUser", "ARProfile", "ARComment"])
160
- expect(@category.associations.find{|a| a[:name] == :librarian}[:model_proc].call).to eq [ARUser]
161
- expect(@blog.associations.find{|a| a[:name] == :librarian}[:model_proc].call).to eq [ARProfile]
158
+ allow(RailsAdmin::Config).to receive(:models_pool).and_return(%w(ARBlog ARPost ARCategory ARUser ARProfile ARComment))
159
+ expect(@category.associations.detect { |a| a[:name] == :librarian }[:model_proc].call).to eq [ARUser]
160
+ expect(@blog.associations.detect { |a| a[:name] == :librarian }[:model_proc].call).to eq [ARProfile]
162
161
  end
163
162
  end
164
163
 
165
- describe "#properties" do
166
- it "returns parameters of string-type field" do
167
- expect(RailsAdmin::AbstractModel.new('Player').properties.select{|f| f[:name] == :name}).to eq([{:name => :name, :pretty_name => "Name", :type => :string, :length => 100, :nullable? => false, :serial? => false}])
164
+ describe '#properties' do
165
+ it 'returns parameters of string-type field' do
166
+ expect(RailsAdmin::AbstractModel.new('Player').properties.select { |f| f[:name] == :name }).to eq([{:name => :name, :pretty_name => 'Name', :type => :string, :length => 100, :nullable? => false, :serial? => false}])
168
167
  end
169
168
 
170
- it "maps serialized attribute to :serialized field type" do
171
- expect(RailsAdmin::AbstractModel.new('User').properties.find{|f| f[:name] == :roles}).to eq({:name => :roles, :pretty_name => "Roles", :length => 255, :nullable? => true, :serial? => false, :type => :serialized})
169
+ it 'maps serialized attribute to :serialized field type' do
170
+ expect(RailsAdmin::AbstractModel.new('User').properties.detect { |f| f[:name] == :roles }).to eq(:name => :roles, :pretty_name => 'Roles', :length => 255, :nullable? => true, :serial? => false, :type => :serialized)
172
171
  end
173
172
  end
174
173
 
175
- describe "data access method" do
174
+ describe 'data access method' do
176
175
  before do
177
176
  @players = FactoryGirl.create_list(:player, 3)
178
177
  @abstract_model = RailsAdmin::AbstractModel.new('Player')
179
178
  end
180
179
 
181
- it "#new returns instance of AbstractObject" do
180
+ it '#new returns instance of AbstractObject' do
182
181
  expect(@abstract_model.new.object).to be_instance_of(Player)
183
182
  end
184
183
 
185
- it "#get returns instance of AbstractObject" do
184
+ it '#get returns instance of AbstractObject' do
186
185
  expect(@abstract_model.get(@players.first.id).object).to eq(@players.first)
187
186
  end
188
187
 
189
- it "#get returns nil when id does not exist" do
188
+ it '#get returns nil when id does not exist' do
190
189
  expect(@abstract_model.get('abc')).to be_nil
191
190
  end
192
191
 
193
- it "#first returns a player" do
192
+ it '#first returns a player' do
194
193
  expect(@players).to include @abstract_model.first
195
194
  end
196
195
 
197
- it "#count returns count of items" do
196
+ it '#count returns count of items' do
198
197
  expect(@abstract_model.count).to eq(@players.count)
199
198
  end
200
199
 
201
- it "#destroy destroys multiple items" do
200
+ it '#destroy destroys multiple items' do
202
201
  @abstract_model.destroy(@players[0..1])
203
202
  expect(Player.all).to eq(@players[2..2])
204
203
  end
205
204
 
206
- it "#where returns filtered results" do
207
- expect(@abstract_model.where(:name => @players.first.name)).to eq([@players.first])
205
+ it '#where returns filtered results' do
206
+ expect(@abstract_model.where(name: @players.first.name)).to eq([@players.first])
208
207
  end
209
208
 
210
- describe "#all" do
211
- it "works without options" do
209
+ describe '#all' do
210
+ it 'works without options' do
212
211
  expect(@abstract_model.all).to match_array @players
213
212
  end
214
213
 
215
- it "supports eager loading" do
216
- expect(@abstract_model.all(:include => :team).includes_values).to eq([:team])
214
+ it 'supports eager loading' do
215
+ expect(@abstract_model.all(include: :team).includes_values).to eq([:team])
217
216
  end
218
217
 
219
- it "supports limiting" do
220
- expect(@abstract_model.all(:limit => 2)).to have(2).items
218
+ it 'supports limiting' do
219
+ expect(@abstract_model.all(limit: 2)).to have(2).items
221
220
  end
222
221
 
223
- it "supports retrieval by bulk_ids" do
224
- expect(@abstract_model.all(:bulk_ids => @players[0..1].map(&:id))).to match_array @players[0..1]
222
+ it 'supports retrieval by bulk_ids' do
223
+ expect(@abstract_model.all(bulk_ids: @players[0..1].collect(&:id))).to match_array @players[0..1]
225
224
  end
226
225
 
227
- it "supports pagination" do
228
- expect(@abstract_model.all(:sort => "id", :page => 2, :per => 1)).to eq(@players[1..1])
229
- expect(@abstract_model.all(:sort => "id", :page => 1, :per => 2)).to eq(@players[1..2].reverse)
226
+ it 'supports pagination' do
227
+ expect(@abstract_model.all(sort: 'id', page: 2, per: 1)).to eq(@players[1..1])
228
+ expect(@abstract_model.all(sort: 'id', page: 1, per: 2)).to eq(@players[1..2].reverse)
230
229
  end
231
230
 
232
- it "supports ordering" do
233
- expect(@abstract_model.all(:sort => "id", :sort_reverse => true)).to eq(@players.sort)
231
+ it 'supports ordering' do
232
+ expect(@abstract_model.all(sort: 'id', sort_reverse: true)).to eq(@players.sort)
234
233
  end
235
234
 
236
- it "supports querying" do
237
- expect(@abstract_model.all(:query => @players[1].name)).to eq(@players[1..1])
235
+ it 'supports querying' do
236
+ expect(@abstract_model.all(query: @players[1].name)).to eq(@players[1..1])
238
237
  end
239
238
 
240
- it "supports filtering" do
241
- expect(@abstract_model.all(:filters => {"name" => {"0000" => {:o => "is", :v => @players[1].name}}})).to eq(@players[1..1])
239
+ it 'supports filtering' do
240
+ expect(@abstract_model.all(filters: {'name' => {'0000' => {o: 'is', v: @players[1].name}}})).to eq(@players[1..1])
242
241
  end
243
242
  end
244
243
  end
245
244
 
246
- describe "#query_conditions" do
245
+ describe '#query_conditions' do
247
246
  before do
248
247
  @abstract_model = RailsAdmin::AbstractModel.new('Team')
249
- @teams = [{}, {:name => 'somewhere foos'}, {:manager => 'foo junior'}].
250
- map{|h| FactoryGirl.create :team, h}
248
+ @teams = [{}, {name: 'somewhere foos'}, {manager: 'foo junior'}].
249
+ collect { |h| FactoryGirl.create :team, h }
251
250
  end
252
251
 
253
- it "makes correct query" do
254
- expect(@abstract_model.all(:query => "foo")).to match_array @teams[1..2]
252
+ it 'makes correct query' do
253
+ expect(@abstract_model.all(query: 'foo')).to match_array @teams[1..2]
255
254
  end
256
255
  end
257
256
 
258
- describe "#filter_conditions" do
257
+ describe '#filter_conditions' do
259
258
  before do
260
259
  @abstract_model = RailsAdmin::AbstractModel.new('Team')
261
- @division = FactoryGirl.create :division, :name => 'bar division'
262
- @teams = [{}, {:division => @division}, {:name => 'somewhere foos', :division => @division}, {:name => 'nowhere foos'}].
263
- map{|h| FactoryGirl.create :team, h}
260
+ @division = FactoryGirl.create :division, name: 'bar division'
261
+ @teams = [{}, {division: @division}, {name: 'somewhere foos', division: @division}, {name: 'nowhere foos'}].
262
+ collect { |h| FactoryGirl.create :team, h }
264
263
  end
265
264
 
266
- it "makes conrrect query" do
267
- expect(@abstract_model.all(
268
- :filters => {"name" => {"0000" => {:o => "like", :v => "foo"}},
269
- "division" => {"0001" => {:o => "like", :v => "bar"}}},
270
- :include => :division
271
- )).to eq([@teams[2]])
265
+ it 'makes conrrect query' do
266
+ expect(@abstract_model.all(filters: {'name' => {'0000' => {o: 'like', v: 'foo'}}, 'division' => {'0001' => {o: 'like', v: 'bar'}}}, include: :division)).to eq([@teams[2]])
272
267
  end
273
268
  end
274
269
 
275
- describe "#build_statement" do
270
+ describe '#build_statement' do
276
271
  before do
277
272
  @abstract_model = RailsAdmin::AbstractModel.new('FieldTest')
278
273
  end
279
274
 
280
275
  it "ignores '_discard' operator or value" do
281
- [["_discard", ""], ["", "_discard"]].each do |value, operator|
276
+ [['_discard', ''], ['', '_discard']].each do |value, operator|
282
277
  expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to be_nil
283
278
  end
284
279
  end
285
280
 
286
281
  it "supports '_blank' operator" do
287
- [["_blank", ""], ["", "_blank"]].each do |value, operator|
282
+ [['_blank', ''], ['', '_blank']].each do |value, operator|
288
283
  expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(["(name IS NULL OR name = '')"])
289
284
  end
290
285
  end
291
286
 
292
287
  it "supports '_present' operator" do
293
- [["_present", ""], ["", "_present"]].each do |value, operator|
288
+ [['_present', ''], ['', '_present']].each do |value, operator|
294
289
  expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(["(name IS NOT NULL AND name != '')"])
295
290
  end
296
291
  end
297
292
 
298
293
  it "supports '_null' operator" do
299
- [["_null", ""], ["", "_null"]].each do |value, operator|
300
- expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(["(name IS NULL)"])
294
+ [['_null', ''], ['', '_null']].each do |value, operator|
295
+ expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(['(name IS NULL)'])
301
296
  end
302
297
  end
303
298
 
304
299
  it "supports '_not_null' operator" do
305
- [["_not_null", ""], ["", "_not_null"]].each do |value, operator|
306
- expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(["(name IS NOT NULL)"])
300
+ [['_not_null', ''], ['', '_not_null']].each do |value, operator|
301
+ expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(['(name IS NOT NULL)'])
307
302
  end
308
303
  end
309
304
 
310
305
  it "supports '_empty' operator" do
311
- [["_empty", ""], ["", "_empty"]].each do |value, operator|
306
+ [['_empty', ''], ['', '_empty']].each do |value, operator|
312
307
  expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(["(name = '')"])
313
308
  end
314
309
  end
315
310
 
316
311
  it "supports '_not_empty' operator" do
317
- [["_not_empty", ""], ["", "_not_empty"]].each do |value, operator|
312
+ [['_not_empty', ''], ['', '_not_empty']].each do |value, operator|
318
313
  expect(@abstract_model.send(:build_statement, :name, :string, value, operator)).to eq(["(name != '')"])
319
314
  end
320
315
  end
321
316
 
322
- it "supports boolean type query" do
323
- ['false', 'f', '0'].each do |value|
324
- expect(@abstract_model.send(:build_statement, :field, :boolean, value, nil)).to eq(["(field IS NULL OR field = ?)", false])
317
+ it 'supports boolean type query' do
318
+ %w(false f 0).each do |value|
319
+ expect(@abstract_model.send(:build_statement, :field, :boolean, value, nil)).to eq(['(field IS NULL OR field = ?)', false])
325
320
  end
326
- ['true', 't', '1'].each do |value|
327
- expect(@abstract_model.send(:build_statement, :field, :boolean, value, nil)).to eq(["(field = ?)", true])
321
+ %w(true t 1).each do |value|
322
+ expect(@abstract_model.send(:build_statement, :field, :boolean, value, nil)).to eq(['(field = ?)', true])
328
323
  end
329
324
  expect(@abstract_model.send(:build_statement, :field, :boolean, 'word', nil)).to be_nil
330
325
  end
331
326
 
332
- it "supports integer type query" do
333
- expect(@abstract_model.send(:build_statement, :field, :integer, "1" , nil)).to eq(["(field = ?)", 1])
327
+ it 'supports integer type query' do
328
+ expect(@abstract_model.send(:build_statement, :field, :integer, '1' , nil)).to eq(['(field = ?)', 1])
334
329
  expect(@abstract_model.send(:build_statement, :field, :integer, 'word', nil)).to be_nil
335
- expect(@abstract_model.send(:build_statement, :field, :integer, "1" , 'default')).to eq(["(field = ?)", 1])
330
+ expect(@abstract_model.send(:build_statement, :field, :integer, '1' , 'default')).to eq(['(field = ?)', 1])
336
331
  expect(@abstract_model.send(:build_statement, :field, :integer, 'word', 'default')).to be_nil
337
- expect(@abstract_model.send(:build_statement, :field, :integer, "1" , 'between')).to eq(["(field = ?)", 1])
332
+ expect(@abstract_model.send(:build_statement, :field, :integer, '1' , 'between')).to eq(['(field = ?)', 1])
338
333
  expect(@abstract_model.send(:build_statement, :field, :integer, 'word', 'between')).to be_nil
339
- expect(@abstract_model.send(:build_statement, :field, :integer, ['6', '' , '' ], 'default')).to eq(["(field = ?)", 6])
340
- expect(@abstract_model.send(:build_statement, :field, :integer, ['7', '10', '' ], 'default')).to eq(["(field = ?)", 7])
341
- expect(@abstract_model.send(:build_statement, :field, :integer, ['8', '' , '20'], 'default')).to eq(["(field = ?)", 8])
342
- expect(@abstract_model.send(:build_statement, :field, :integer, ['9', '10', '20'], 'default')).to eq(["(field = ?)", 9])
334
+ expect(@abstract_model.send(:build_statement, :field, :integer, ['6', '' , ''], 'default')).to eq(['(field = ?)', 6])
335
+ expect(@abstract_model.send(:build_statement, :field, :integer, ['7', '10', ''], 'default')).to eq(['(field = ?)', 7])
336
+ expect(@abstract_model.send(:build_statement, :field, :integer, ['8', '' , '20'], 'default')).to eq(['(field = ?)', 8])
337
+ expect(@abstract_model.send(:build_statement, :field, :integer, %w(9 10 20), 'default')).to eq(['(field = ?)', 9])
343
338
  end
344
339
 
345
- it "supports integer type range query" do
340
+ it 'supports integer type range query' do
346
341
  expect(@abstract_model.send(:build_statement, :field, :integer, ['', '', ''], 'between')).to be_nil
347
342
  expect(@abstract_model.send(:build_statement, :field, :integer, ['2', '', ''], 'between')).to be_nil
348
- expect(@abstract_model.send(:build_statement, :field, :integer, ['', '3', ''], 'between')).to eq(["(field >= ?)", 3])
349
- expect(@abstract_model.send(:build_statement, :field, :integer, ['', '', '5'], 'between')).to eq(["(field <= ?)", 5])
350
- expect(@abstract_model.send(:build_statement, :field, :integer, ['' , '10', '20'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10, 20])
351
- expect(@abstract_model.send(:build_statement, :field, :integer, ['15', '10', '20'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10, 20])
352
- expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word1', '' ], 'between')).to be_nil
343
+ expect(@abstract_model.send(:build_statement, :field, :integer, ['', '3', ''], 'between')).to eq(['(field >= ?)', 3])
344
+ expect(@abstract_model.send(:build_statement, :field, :integer, ['', '', '5'], 'between')).to eq(['(field <= ?)', 5])
345
+ expect(@abstract_model.send(:build_statement, :field, :integer, ['' , '10', '20'], 'between')).to eq(['(field BETWEEN ? AND ?)', 10, 20])
346
+ expect(@abstract_model.send(:build_statement, :field, :integer, %w(15 10 20), 'between')).to eq(['(field BETWEEN ? AND ?)', 10, 20])
347
+ expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word1', ''], 'between')).to be_nil
353
348
  expect(@abstract_model.send(:build_statement, :field, :integer, ['', '' , 'word2'], 'between')).to be_nil
354
349
  expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word3', 'word4'], 'between')).to be_nil
355
350
  end
356
351
 
357
- it "supports both decimal and float type queries" do
358
- expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1", nil)).to eq(["(field = ?)", 1.1])
352
+ it 'supports both decimal and float type queries' do
353
+ expect(@abstract_model.send(:build_statement, :field, :decimal, '1.1', nil)).to eq(['(field = ?)', 1.1])
359
354
  expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', nil)).to be_nil
360
- expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1" , 'default')).to eq(["(field = ?)", 1.1])
355
+ expect(@abstract_model.send(:build_statement, :field, :decimal, '1.1' , 'default')).to eq(['(field = ?)', 1.1])
361
356
  expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', 'default')).to be_nil
362
- expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1" , 'between')).to eq(["(field = ?)", 1.1])
357
+ expect(@abstract_model.send(:build_statement, :field, :decimal, '1.1' , 'between')).to eq(['(field = ?)', 1.1])
363
358
  expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', 'between')).to be_nil
364
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['6.1', '' , '' ], 'default')).to eq(["(field = ?)", 6.1])
365
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['7.1', '10.1', '' ], 'default')).to eq(["(field = ?)", 7.1])
366
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['8.1', '' , '20.1'], 'default')).to eq(["(field = ?)", 8.1])
367
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['9.1', '10.1', '20.1'], 'default')).to eq(["(field = ?)", 9.1])
359
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['6.1', '' , ''], 'default')).to eq(['(field = ?)', 6.1])
360
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['7.1', '10.1', ''], 'default')).to eq(['(field = ?)', 7.1])
361
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['8.1', '' , '20.1'], 'default')).to eq(['(field = ?)', 8.1])
362
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['9.1', '10.1', '20.1'], 'default')).to eq(['(field = ?)', 9.1])
368
363
  expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '', ''], 'between')).to be_nil
369
364
  expect(@abstract_model.send(:build_statement, :field, :decimal, ['2.1', '', ''], 'between')).to be_nil
370
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '3.1', ''], 'between')).to eq(["(field >= ?)", 3.1])
371
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '', '5.1'], 'between')).to eq(["(field <= ?)", 5.1])
372
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['' , '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
373
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['15.1', '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
374
- expect(@abstract_model.send(:build_statement, :field, :decimal, ['', 'word1', '' ], 'between')).to be_nil
365
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '3.1', ''], 'between')).to eq(['(field >= ?)', 3.1])
366
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '', '5.1'], 'between')).to eq(['(field <= ?)', 5.1])
367
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['' , '10.1', '20.1'], 'between')).to eq(['(field BETWEEN ? AND ?)', 10.1, 20.1])
368
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['15.1', '10.1', '20.1'], 'between')).to eq(['(field BETWEEN ? AND ?)', 10.1, 20.1])
369
+ expect(@abstract_model.send(:build_statement, :field, :decimal, ['', 'word1', ''], 'between')).to be_nil
375
370
  expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '' , 'word2'], 'between')).to be_nil
376
371
  expect(@abstract_model.send(:build_statement, :field, :decimal, ['', 'word3', 'word4'], 'between')).to be_nil
377
372
 
378
- expect(@abstract_model.send(:build_statement, :field, :float, "1.1", nil)).to eq(["(field = ?)", 1.1])
373
+ expect(@abstract_model.send(:build_statement, :field, :float, '1.1', nil)).to eq(['(field = ?)', 1.1])
379
374
  expect(@abstract_model.send(:build_statement, :field, :float, 'word', nil)).to be_nil
380
- expect(@abstract_model.send(:build_statement, :field, :float, "1.1" , 'default')).to eq(["(field = ?)", 1.1])
375
+ expect(@abstract_model.send(:build_statement, :field, :float, '1.1' , 'default')).to eq(['(field = ?)', 1.1])
381
376
  expect(@abstract_model.send(:build_statement, :field, :float, 'word', 'default')).to be_nil
382
- expect(@abstract_model.send(:build_statement, :field, :float, "1.1" , 'between')).to eq(["(field = ?)", 1.1])
377
+ expect(@abstract_model.send(:build_statement, :field, :float, '1.1' , 'between')).to eq(['(field = ?)', 1.1])
383
378
  expect(@abstract_model.send(:build_statement, :field, :float, 'word', 'between')).to be_nil
384
- expect(@abstract_model.send(:build_statement, :field, :float, ['6.1', '' , '' ], 'default')).to eq(["(field = ?)", 6.1])
385
- expect(@abstract_model.send(:build_statement, :field, :float, ['7.1', '10.1', '' ], 'default')).to eq(["(field = ?)", 7.1])
386
- expect(@abstract_model.send(:build_statement, :field, :float, ['8.1', '' , '20.1'], 'default')).to eq(["(field = ?)", 8.1])
387
- expect(@abstract_model.send(:build_statement, :field, :float, ['9.1', '10.1', '20.1'], 'default')).to eq(["(field = ?)", 9.1])
379
+ expect(@abstract_model.send(:build_statement, :field, :float, ['6.1', '' , ''], 'default')).to eq(['(field = ?)', 6.1])
380
+ expect(@abstract_model.send(:build_statement, :field, :float, ['7.1', '10.1', ''], 'default')).to eq(['(field = ?)', 7.1])
381
+ expect(@abstract_model.send(:build_statement, :field, :float, ['8.1', '' , '20.1'], 'default')).to eq(['(field = ?)', 8.1])
382
+ expect(@abstract_model.send(:build_statement, :field, :float, ['9.1', '10.1', '20.1'], 'default')).to eq(['(field = ?)', 9.1])
388
383
  expect(@abstract_model.send(:build_statement, :field, :float, ['', '', ''], 'between')).to be_nil
389
384
  expect(@abstract_model.send(:build_statement, :field, :float, ['2.1', '', ''], 'between')).to be_nil
390
- expect(@abstract_model.send(:build_statement, :field, :float, ['', '3.1', ''], 'between')).to eq(["(field >= ?)", 3.1])
391
- expect(@abstract_model.send(:build_statement, :field, :float, ['', '', '5.1'], 'between')).to eq(["(field <= ?)", 5.1])
392
- expect(@abstract_model.send(:build_statement, :field, :float, ['' , '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
393
- expect(@abstract_model.send(:build_statement, :field, :float, ['15.1', '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
394
- expect(@abstract_model.send(:build_statement, :field, :float, ['', 'word1', '' ], 'between')).to be_nil
385
+ expect(@abstract_model.send(:build_statement, :field, :float, ['', '3.1', ''], 'between')).to eq(['(field >= ?)', 3.1])
386
+ expect(@abstract_model.send(:build_statement, :field, :float, ['', '', '5.1'], 'between')).to eq(['(field <= ?)', 5.1])
387
+ expect(@abstract_model.send(:build_statement, :field, :float, ['' , '10.1', '20.1'], 'between')).to eq(['(field BETWEEN ? AND ?)', 10.1, 20.1])
388
+ expect(@abstract_model.send(:build_statement, :field, :float, ['15.1', '10.1', '20.1'], 'between')).to eq(['(field BETWEEN ? AND ?)', 10.1, 20.1])
389
+ expect(@abstract_model.send(:build_statement, :field, :float, ['', 'word1', ''], 'between')).to be_nil
395
390
  expect(@abstract_model.send(:build_statement, :field, :float, ['', '' , 'word2'], 'between')).to be_nil
396
391
  expect(@abstract_model.send(:build_statement, :field, :float, ['', 'word3', 'word4'], 'between')).to be_nil
397
392
  end
398
393
 
399
- it "supports string type query" do
400
- expect(@abstract_model.send(:build_statement, :field, :string, "", nil)).to be_nil
401
- expect(@abstract_model.send(:build_statement, :field, :string, "foo", "was")).to be_nil
402
- expect(@abstract_model.send(:build_statement, :field, :string, "foo", "default")).to eq(["(LOWER(field) #{@like} ?)", "%foo%"])
403
- expect(@abstract_model.send(:build_statement, :field, :string, "foo", "like")).to eq(["(LOWER(field) #{@like} ?)", "%foo%"])
404
- expect(@abstract_model.send(:build_statement, :field, :string, "foo", "starts_with")).to eq(["(LOWER(field) #{@like} ?)", "foo%"])
405
- expect(@abstract_model.send(:build_statement, :field, :string, "foo", "ends_with")).to eq(["(LOWER(field) #{@like} ?)", "%foo"])
406
- expect(@abstract_model.send(:build_statement, :field, :string, "foo", "is")).to eq(["(LOWER(field) #{@like} ?)", "foo"])
394
+ it 'supports string type query' do
395
+ expect(@abstract_model.send(:build_statement, :field, :string, '', nil)).to be_nil
396
+ expect(@abstract_model.send(:build_statement, :field, :string, 'foo', 'was')).to be_nil
397
+ expect(@abstract_model.send(:build_statement, :field, :string, 'foo', 'default')).to eq(["(LOWER(field) #{@like} ?)", '%foo%'])
398
+ expect(@abstract_model.send(:build_statement, :field, :string, 'foo', 'like')).to eq(["(LOWER(field) #{@like} ?)", '%foo%'])
399
+ expect(@abstract_model.send(:build_statement, :field, :string, 'foo', 'starts_with')).to eq(["(LOWER(field) #{@like} ?)", 'foo%'])
400
+ expect(@abstract_model.send(:build_statement, :field, :string, 'foo', 'ends_with')).to eq(["(LOWER(field) #{@like} ?)", '%foo'])
401
+ expect(@abstract_model.send(:build_statement, :field, :string, 'foo', 'is')).to eq(["(LOWER(field) #{@like} ?)", 'foo'])
407
402
  end
408
403
 
409
- it "performs case-insensitive searches" do
410
- expect(@abstract_model.send(:build_statement, :field, :string, "foo", "default")).to eq(["(LOWER(field) #{@like} ?)", "%foo%"])
411
- expect(@abstract_model.send(:build_statement, :field, :string, "FOO", "default")).to eq(["(LOWER(field) #{@like} ?)", "%foo%"])
404
+ it 'performs case-insensitive searches' do
405
+ expect(@abstract_model.send(:build_statement, :field, :string, 'foo', 'default')).to eq(["(LOWER(field) #{@like} ?)", '%foo%'])
406
+ expect(@abstract_model.send(:build_statement, :field, :string, 'FOO', 'default')).to eq(["(LOWER(field) #{@like} ?)", '%foo%'])
412
407
  end
413
408
 
414
- it "supports date type query" do
409
+ it 'supports date type query' do
415
410
  scope = FieldTest.all
416
- expect(@abstract_model.send(:filter_scope, scope, { "date_field" => { "1" => { :v => ["", "01/02/2012", "01/03/2012"], :o => 'between' } } }).where_values).to eq(["(field_tests.date_field BETWEEN '2012-01-02' AND '2012-01-03')"])
417
- expect(@abstract_model.send(:filter_scope, scope, { "date_field" => { "1" => { :v => ["", "01/03/2012", ""], :o => 'between' } } } ).where_values).to eq(["(field_tests.date_field >= '2012-01-03')"])
418
- expect(@abstract_model.send(:filter_scope, scope, { "date_field" => { "1" => { :v => ["", "", "01/02/2012"], :o => 'between' } } } ).where_values).to eq(["(field_tests.date_field <= '2012-01-02')"])
419
- expect(@abstract_model.send(:filter_scope, scope, { "date_field" => { "1" => { :v => ["01/02/2012"], :o => 'default' } } } ).where_values).to eq(["(field_tests.date_field BETWEEN '2012-01-02' AND '2012-01-02')"])
411
+ expect(@abstract_model.send(:filter_scope, scope, 'date_field' => {'1' => {v: ['', '01/02/2012', '01/03/2012'], o: 'between'}}).where_values).to eq(["(field_tests.date_field BETWEEN '2012-01-02' AND '2012-01-03')"])
412
+ expect(@abstract_model.send(:filter_scope, scope, 'date_field' => {'1' => {v: ['', '01/03/2012', ''], o: 'between'}}).where_values).to eq(["(field_tests.date_field >= '2012-01-03')"])
413
+ expect(@abstract_model.send(:filter_scope, scope, 'date_field' => {'1' => {v: ['', '', '01/02/2012'], o: 'between'}}).where_values).to eq(["(field_tests.date_field <= '2012-01-02')"])
414
+ expect(@abstract_model.send(:filter_scope, scope, 'date_field' => {'1' => {v: ['01/02/2012'], o: 'default'}}).where_values).to eq(["(field_tests.date_field BETWEEN '2012-01-02' AND '2012-01-02')"])
420
415
  end
421
416
 
422
- it "supports datetime type query" do
417
+ it 'supports datetime type query' do
423
418
  scope = FieldTest.all
424
- expect(@abstract_model.send(:filter_scope, scope, { "datetime_field" => { "1" => { :v => ["", "01/02/2012", "01/03/2012"], :o => 'between' } } } ).where_values).to eq(scope.where(["(field_tests.datetime_field BETWEEN ? AND ?)", Time.local(2012,1,2), Time.local(2012,1,3).end_of_day]).where_values)
425
- expect(@abstract_model.send(:filter_scope, scope, { "datetime_field" => { "1" => { :v => ["", "01/03/2012", ""], :o => 'between' } } } ).where_values).to eq(scope.where(["(field_tests.datetime_field >= ?)", Time.local(2012,1,3)]).where_values)
426
- expect(@abstract_model.send(:filter_scope, scope, { "datetime_field" => { "1" => { :v => ["", "", "01/02/2012"], :o => 'between' } } } ).where_values).to eq(scope.where(["(field_tests.datetime_field <= ?)", Time.local(2012,1,2).end_of_day]).where_values)
427
- expect(@abstract_model.send(:filter_scope, scope, { "datetime_field" => { "1" => { :v => ["01/02/2012"], :o => 'default' } } } ).where_values).to eq(scope.where(["(field_tests.datetime_field BETWEEN ? AND ?)", Time.local(2012,1,2), Time.local(2012,1,2).end_of_day]).where_values)
419
+ expect(@abstract_model.send(:filter_scope, scope, 'datetime_field' => {'1' => {v: ['', '01/02/2012', '01/03/2012'], o: 'between'}}).where_values).to eq(scope.where(['(field_tests.datetime_field BETWEEN ? AND ?)', Time.local(2012, 1, 2), Time.local(2012, 1, 3).end_of_day]).where_values)
420
+ expect(@abstract_model.send(:filter_scope, scope, 'datetime_field' => {'1' => {v: ['', '01/03/2012', ''], o: 'between'}}).where_values).to eq(scope.where(['(field_tests.datetime_field >= ?)', Time.local(2012, 1, 3)]).where_values)
421
+ expect(@abstract_model.send(:filter_scope, scope, 'datetime_field' => {'1' => {v: ['', '', '01/02/2012'], o: 'between'}}).where_values).to eq(scope.where(['(field_tests.datetime_field <= ?)', Time.local(2012, 1, 2).end_of_day]).where_values)
422
+ expect(@abstract_model.send(:filter_scope, scope, 'datetime_field' => {'1' => {v: ['01/02/2012'], o: 'default'}}).where_values).to eq(scope.where(['(field_tests.datetime_field BETWEEN ? AND ?)', Time.local(2012, 1, 2), Time.local(2012, 1, 2).end_of_day]).where_values)
428
423
  end
429
424
 
430
- it "supports enum type query" do
431
- expect(@abstract_model.send(:build_statement, :field, :enum, "1", nil)).to eq(["(field IN (?))", ["1"]])
425
+ it 'supports enum type query' do
426
+ expect(@abstract_model.send(:build_statement, :field, :enum, '1', nil)).to eq(['(field IN (?))', ['1']])
432
427
  end
433
428
  end
434
429
 
435
- describe "model attribute method" do
430
+ describe 'model attribute method' do
436
431
  before do
437
432
  @abstract_model = RailsAdmin::AbstractModel.new('Player')
438
433
  end
439
434
 
440
- it "#scoped returns relation object" do
435
+ it '#scoped returns relation object' do
441
436
  expect(@abstract_model.scoped).to be_a_kind_of(ActiveRecord::Relation)
442
437
  end
443
438
 
444
- it "#table_name works" do
439
+ it '#table_name works' do
445
440
  expect(@abstract_model.table_name).to eq('players')
446
441
  end
447
442
  end