basepack 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (798) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +46 -0
  3. data/README.md +215 -0
  4. data/Rakefile +23 -0
  5. data/app/assets/javascripts/basepack/forms/query/date.jst.ejs +8 -0
  6. data/app/assets/javascripts/basepack/forms/query/filter.jst.ejs +15 -0
  7. data/app/assets/javascripts/basepack/forms/query/predicate.jst.ejs +7 -0
  8. data/app/assets/javascripts/basepack/forms/query.coffee +126 -0
  9. data/app/assets/javascripts/basepack/forms.coffee +503 -0
  10. data/app/assets/javascripts/basepack/list.coffee +38 -0
  11. data/app/assets/javascripts/basepack/loading_spinner.coffee.erb +27 -0
  12. data/app/assets/javascripts/basepack.js +17 -0
  13. data/app/assets/stylesheets/basepack/bootstrap-variables.css.scss +42 -0
  14. data/app/assets/stylesheets/basepack/forms.css.scss +143 -0
  15. data/app/assets/stylesheets/basepack/print.css.scss +15 -0
  16. data/app/assets/stylesheets/basepack/select2-bootstrap.css +92 -0
  17. data/app/assets/stylesheets/basepack/sortable.scss +10 -0
  18. data/app/assets/stylesheets/basepack/theming.css.scss +73 -0
  19. data/app/assets/stylesheets/basepack.css.scss +21 -0
  20. data/app/controllers/basepack/base_controller.rb +766 -0
  21. data/app/helpers/form_helper.rb +142 -0
  22. data/app/helpers/resources_helper.rb +50 -0
  23. data/app/models/basepack/import_importable.rb +24 -0
  24. data/app/models/basepack/settings.rb +15 -0
  25. data/app/views/basepack/base/_bulk_edit.html.haml +1 -0
  26. data/app/views/basepack/base/_diff.html.haml +1 -0
  27. data/app/views/basepack/base/_edit.html.haml +1 -0
  28. data/app/views/basepack/base/_export.html.haml +1 -0
  29. data/app/views/basepack/base/_header.html.haml +25 -0
  30. data/app/views/basepack/base/_import.html.haml +1 -0
  31. data/app/views/basepack/base/_index.html.haml +1 -0
  32. data/app/views/basepack/base/_page_actions.html.haml +24 -0
  33. data/app/views/basepack/base/_query.html.haml +1 -0
  34. data/app/views/basepack/base/_show.html.haml +1 -0
  35. data/app/views/basepack/base/bulk_edit.html.haml +2 -0
  36. data/app/views/basepack/base/diff.html.haml +2 -0
  37. data/app/views/basepack/base/edit.html.haml +2 -0
  38. data/app/views/basepack/base/export.html.haml +3 -0
  39. data/app/views/basepack/base/import.html.haml +2 -0
  40. data/app/views/basepack/base/index.html.haml +2 -0
  41. data/app/views/basepack/base/new.html.haml +2 -0
  42. data/app/views/basepack/base/show.html.haml +2 -0
  43. data/app/views/forms/_bulk_edit.html.haml +21 -0
  44. data/app/views/forms/_diff.html.haml +63 -0
  45. data/app/views/forms/_edit.html.haml +7 -0
  46. data/app/views/forms/_export.html.haml +70 -0
  47. data/app/views/forms/_form_fields.html.haml +13 -0
  48. data/app/views/forms/_import.html.haml +18 -0
  49. data/app/views/forms/_import_configuration_csv.html.haml +23 -0
  50. data/app/views/forms/_list.html.haml +25 -0
  51. data/app/views/forms/_page_entries_info.html.haml +8 -0
  52. data/app/views/forms/_pagination.html.haml +3 -0
  53. data/app/views/forms/_query.html.haml +59 -0
  54. data/app/views/forms/_query_menu.html.haml +23 -0
  55. data/app/views/forms/_show.html.haml +11 -0
  56. data/app/views/forms/_show_without_blanks.html.haml +12 -0
  57. data/app/views/forms/bulk_edit/_form_filtering_multiselect.html.haml +8 -0
  58. data/app/views/forms/bulk_edit/_form_nested_many.html.haml +1 -0
  59. data/app/views/forms/bulk_edit/_form_tag_list.html.haml +1 -0
  60. data/app/views/forms/bulk_edit/_tag_list_with_suggestions.html.haml +21 -0
  61. data/app/views/forms/buttons/_apply.html.haml +4 -0
  62. data/app/views/forms/buttons/_bulk_delete.html.haml +5 -0
  63. data/app/views/forms/buttons/_cancel.html.haml +3 -0
  64. data/app/views/forms/buttons/_create.html.haml +5 -0
  65. data/app/views/forms/buttons/_delete.html.haml +3 -0
  66. data/app/views/forms/buttons/_edit.html.haml +3 -0
  67. data/app/views/forms/buttons/_export.html.haml +4 -0
  68. data/app/views/forms/buttons/_import.html.haml +4 -0
  69. data/app/views/forms/buttons/_modal_cancel.html.haml +4 -0
  70. data/app/views/forms/buttons/_modal_close.html.haml +1 -0
  71. data/app/views/forms/buttons/_print.html.haml +3 -0
  72. data/app/views/forms/buttons/_query.html.haml +25 -0
  73. data/app/views/forms/buttons/_refresh.html.haml +4 -0
  74. data/app/views/forms/buttons/_submit.html.haml +4 -0
  75. data/app/views/forms/buttons/_submit_create.html.haml +4 -0
  76. data/app/views/forms/edit/_form_ck_editor.html.haml +11 -0
  77. data/app/views/forms/edit/_form_code_mirror.html.haml +10 -0
  78. data/app/views/forms/edit/_form_colorpicker.html.haml +7 -0
  79. data/app/views/forms/edit/_form_datetime.html.haml +6 -0
  80. data/app/views/forms/edit/_form_enumeration.html.haml +20 -0
  81. data/app/views/forms/edit/_form_field.html.haml +8 -0
  82. data/app/views/forms/edit/_form_file_upload.html.haml +14 -0
  83. data/app/views/forms/edit/_form_filtering_multiselect.html.haml +2 -0
  84. data/app/views/forms/edit/_form_filtering_select.html.haml +2 -0
  85. data/app/views/forms/edit/_form_nested_many.html.haml +14 -0
  86. data/app/views/forms/edit/_form_nested_one.html.haml +5 -0
  87. data/app/views/forms/edit/_form_polymorphic_association.html.haml +11 -0
  88. data/app/views/forms/edit/_form_rich_text.html.haml +8 -0
  89. data/app/views/forms/edit/_form_tag_list.html.haml +1 -0
  90. data/app/views/forms/edit/_form_text.html.haml +2 -0
  91. data/app/views/forms/edit/_form_wysihtml5.html.haml +9 -0
  92. data/app/views/forms/edit/_select_or_nested.html.haml +30 -0
  93. data/app/views/forms/edit/_tag_list_with_suggestions.html.haml +15 -0
  94. data/app/views/kaminari/_first_page.html.erb +3 -0
  95. data/app/views/kaminari/_gap.html.erb +3 -0
  96. data/app/views/kaminari/_last_page.html.erb +3 -0
  97. data/app/views/kaminari/_next_page.html.erb +3 -0
  98. data/app/views/kaminari/_page.html.erb +3 -0
  99. data/app/views/kaminari/_paginator.html.erb +17 -0
  100. data/app/views/kaminari/_prev_page.html.erb +3 -0
  101. data/config/basepack-settings.yml +38 -0
  102. data/config/initializers/basepack.rb +1 -0
  103. data/config/initializers/kaminari_config.rb +10 -0
  104. data/config/initializers/rails_admin.rb +6 -0
  105. data/config/initializers/ransack.rb +95 -0
  106. data/config/initializers/simple_form.rb +145 -0
  107. data/config/initializers/simple_form_bootstrap.rb +47 -0
  108. data/config/locales/cs.yml +13 -0
  109. data/config/locales/en.yml +24 -0
  110. data/config/locales/kaminari.cs.yml +20 -0
  111. data/config/locales/kaminari.en.yml +19 -0
  112. data/config/locales/rails_admin.cs.yml +130 -0
  113. data/config/locales/ransack.cs.yml +70 -0
  114. data/config/locales/simple_form.cs.yml +28 -0
  115. data/config/locales/simple_form.en.yml +24 -0
  116. data/config/routes.rb +2 -0
  117. data/lib/basepack/delegation.rb +66 -0
  118. data/lib/basepack/engine.rb +28 -0
  119. data/lib/basepack/filter_ql.rb +267 -0
  120. data/lib/basepack/forms/base.rb +246 -0
  121. data/lib/basepack/forms/bulk_edit.rb +44 -0
  122. data/lib/basepack/forms/diff.rb +66 -0
  123. data/lib/basepack/forms/edit.rb +145 -0
  124. data/lib/basepack/forms/export.rb +109 -0
  125. data/lib/basepack/forms/factories/base.rb +53 -0
  126. data/lib/basepack/forms/factories/query_rails_admin.rb +31 -0
  127. data/lib/basepack/forms/factories/rails_admin.rb +57 -0
  128. data/lib/basepack/forms/fields/base.rb +158 -0
  129. data/lib/basepack/forms/fields/belongs_to_association.rb +25 -0
  130. data/lib/basepack/forms/fields/has_and_belongs_to_many_association.rb +12 -0
  131. data/lib/basepack/forms/fields/has_many_association.rb +50 -0
  132. data/lib/basepack/forms/fields/has_one_association.rb +19 -0
  133. data/lib/basepack/forms/fields/single_association.rb +32 -0
  134. data/lib/basepack/forms/groups/base.rb +71 -0
  135. data/lib/basepack/forms/groups/diff.rb +18 -0
  136. data/lib/basepack/forms/import.rb +147 -0
  137. data/lib/basepack/forms/list.rb +74 -0
  138. data/lib/basepack/forms/query.rb +211 -0
  139. data/lib/basepack/forms/show.rb +18 -0
  140. data/lib/basepack/import/actions.rb +105 -0
  141. data/lib/basepack/import/controller.rb +94 -0
  142. data/lib/basepack/import/importable.rb +40 -0
  143. data/lib/basepack/import/model_dragonfly.rb +232 -0
  144. data/lib/basepack/model.rb +30 -0
  145. data/lib/basepack/renderable.rb +45 -0
  146. data/lib/basepack/sections/bulk_edit.rb +15 -0
  147. data/lib/basepack/sections/import.rb +15 -0
  148. data/lib/basepack/sections/query.rb +19 -0
  149. data/lib/basepack/utils.rb +225 -0
  150. data/lib/basepack/version.rb +3 -0
  151. data/lib/basepack.rb +215 -0
  152. data/lib/generators/basepack/install_generator.rb +185 -0
  153. data/lib/generators/basepack/scaffold/scaffold_generator.rb +12 -0
  154. data/lib/generators/basepack/templates/application.css.scss +15 -0
  155. data/lib/generators/basepack/templates/application.js +20 -0
  156. data/lib/generators/basepack/templates/basepack-settings.yml +15 -0
  157. data/lib/generators/basepack/templates/basepack_and_overrides.css +3 -0
  158. data/lib/generators/basepack/templates/basepack_and_overrides.css.scss +3 -0
  159. data/lib/generators/basepack/templates/dragonfly.rb +8 -0
  160. data/lib/generators/basepack/templates/filter.rb +84 -0
  161. data/lib/generators/basepack/templates/filters_controller.rb +2 -0
  162. data/lib/generators/basepack/templates/import.rb +35 -0
  163. data/lib/generators/basepack/templates/layouts/_content.html.haml +8 -0
  164. data/lib/generators/basepack/templates/layouts/_facebook.html.haml +11 -0
  165. data/lib/generators/basepack/templates/layouts/_footer.html.haml +2 -0
  166. data/lib/generators/basepack/templates/layouts/_head.html.haml +17 -0
  167. data/lib/generators/basepack/templates/layouts/_header.html.haml +1 -0
  168. data/lib/generators/basepack/templates/layouts/_navigation.html.erb +28 -0
  169. data/lib/generators/basepack/templates/layouts/application-fluid.html.haml +18 -0
  170. data/lib/generators/basepack/templates/layouts/application.html.haml +11 -0
  171. data/lib/generators/basepack/templates/layouts/rails_admin/application.html.haml +24 -0
  172. data/lib/generators/basepack/templates/migrations/create_filters.rb +15 -0
  173. data/lib/generators/basepack/templates/migrations/create_imports.rb +23 -0
  174. data/lib/generators/basepack/templates/migrations/create_imports_importables_join_table.rb +10 -0
  175. data/lib/generators/basepack/templates/rails_admin.rb +35 -0
  176. data/lib/generators/basepack/templates/resources_controller.rb +3 -0
  177. data/lib/generators/rails/basepack_controller_generator.rb +11 -0
  178. data/lib/generators/rails/basepack_resource_route_generator.rb +40 -0
  179. data/lib/generators/rails/templates/controller.rb +6 -0
  180. data/lib/tasks/basepack_tasks.rake +4 -0
  181. data/spec/controllers/basepack/base_controller_spec.rb +5 -0
  182. data/spec/dummy_app/README.rdoc +28 -0
  183. data/spec/dummy_app/Rakefile +7 -0
  184. data/spec/dummy_app/app/assets/javascripts/application.js +19 -0
  185. data/spec/dummy_app/app/assets/stylesheets/application.css +15 -0
  186. data/spec/dummy_app/app/assets/stylesheets/basepack_and_overrides.css +3 -0
  187. data/spec/dummy_app/app/controllers/accounts_controller.rb +3 -0
  188. data/spec/dummy_app/app/controllers/application_controller.rb +5 -0
  189. data/spec/dummy_app/app/controllers/employee_with_nesteds_controller.rb +3 -0
  190. data/spec/dummy_app/app/controllers/employees_controller.rb +3 -0
  191. data/spec/dummy_app/app/controllers/positions_controller.rb +3 -0
  192. data/spec/dummy_app/app/controllers/projects_controller.rb +3 -0
  193. data/spec/dummy_app/app/controllers/resources_controller.rb +2 -0
  194. data/spec/dummy_app/app/controllers/skills_controller.rb +3 -0
  195. data/spec/dummy_app/app/controllers/tasks_controller.rb +3 -0
  196. data/spec/dummy_app/app/controllers/users_controller.rb +2 -0
  197. data/spec/dummy_app/app/helpers/application_helper.rb +2 -0
  198. data/spec/dummy_app/app/models/ability.rb +7 -0
  199. data/spec/dummy_app/app/models/account.rb +18 -0
  200. data/spec/dummy_app/app/models/employee.rb +56 -0
  201. data/spec/dummy_app/app/models/employee_with_nested.rb +6 -0
  202. data/spec/dummy_app/app/models/position.rb +13 -0
  203. data/spec/dummy_app/app/models/project.rb +16 -0
  204. data/spec/dummy_app/app/models/settings.rb +4 -0
  205. data/spec/dummy_app/app/models/skill.rb +13 -0
  206. data/spec/dummy_app/app/models/task.rb +20 -0
  207. data/spec/dummy_app/app/models/user.rb +26 -0
  208. data/spec/dummy_app/app/views/layouts/_content.html.haml +8 -0
  209. data/spec/dummy_app/app/views/layouts/_footer.html.haml +2 -0
  210. data/spec/dummy_app/app/views/layouts/_head.html.haml +17 -0
  211. data/spec/dummy_app/app/views/layouts/_header.html.haml +1 -0
  212. data/spec/dummy_app/app/views/layouts/_navigation.html.erb +28 -0
  213. data/spec/dummy_app/app/views/layouts/application.html.haml +11 -0
  214. data/spec/dummy_app/bin/bundle +3 -0
  215. data/spec/dummy_app/bin/rails +4 -0
  216. data/spec/dummy_app/bin/rake +4 -0
  217. data/spec/dummy_app/config/application.rb +28 -0
  218. data/spec/dummy_app/config/boot.rb +5 -0
  219. data/spec/dummy_app/config/database.yml +25 -0
  220. data/spec/dummy_app/config/environment.rb +5 -0
  221. data/spec/dummy_app/config/environments/development.rb +29 -0
  222. data/spec/dummy_app/config/environments/production.rb +80 -0
  223. data/spec/dummy_app/config/environments/test.rb +36 -0
  224. data/spec/dummy_app/config/initializers/backtrace_silencers.rb +7 -0
  225. data/spec/dummy_app/config/initializers/devise.rb +213 -0
  226. data/spec/dummy_app/config/initializers/filter_parameter_logging.rb +4 -0
  227. data/spec/dummy_app/config/initializers/inflections.rb +16 -0
  228. data/spec/dummy_app/config/initializers/mime_types.rb +5 -0
  229. data/spec/dummy_app/config/initializers/rails_admin.rb +33 -0
  230. data/spec/dummy_app/config/initializers/secret_token.rb +12 -0
  231. data/spec/dummy_app/config/initializers/session_store.rb +3 -0
  232. data/spec/dummy_app/config/initializers/wrap_parameters.rb +14 -0
  233. data/spec/dummy_app/config/locales/devise.en.yml +59 -0
  234. data/spec/dummy_app/config/locales/en.yml +23 -0
  235. data/spec/dummy_app/config/routes.rb +32 -0
  236. data/spec/dummy_app/config.ru +4 -0
  237. data/spec/dummy_app/db/development.sqlite3 +0 -0
  238. data/spec/dummy_app/db/migrate/20131017141521_devise_create_users.rb +46 -0
  239. data/spec/dummy_app/db/migrate/20131204162705_create_employees.rb +13 -0
  240. data/spec/dummy_app/db/migrate/20131204163255_create_positions.rb +9 -0
  241. data/spec/dummy_app/db/migrate/20131204163517_create_tasks.rb +11 -0
  242. data/spec/dummy_app/db/migrate/20131207080009_create_accounts.rb +10 -0
  243. data/spec/dummy_app/db/migrate/20131207080750_create_skills.rb +9 -0
  244. data/spec/dummy_app/db/migrate/20131207081215_employees_skills.rb +10 -0
  245. data/spec/dummy_app/db/migrate/20131213193133_create_projects.rb +11 -0
  246. data/spec/dummy_app/db/migrate/20131213195422_change_tasks_associations.rb +5 -0
  247. data/spec/dummy_app/db/migrate/20131220193113_add_title_to_employees.rb +5 -0
  248. data/spec/dummy_app/db/schema.rb +121 -0
  249. data/spec/dummy_app/db/test.sqlite3 +0 -0
  250. data/spec/dummy_app/log/development.log +6801 -0
  251. data/spec/dummy_app/log/test.log +292178 -0
  252. data/spec/dummy_app/public/404.html +58 -0
  253. data/spec/dummy_app/public/422.html +58 -0
  254. data/spec/dummy_app/public/500.html +57 -0
  255. data/spec/dummy_app/public/favicon.ico +0 -0
  256. data/spec/dummy_app/spec/factories/factories.rb +40 -0
  257. data/spec/dummy_app/spec/models/employees_spec.rb +5 -0
  258. data/spec/dummy_app/spec/models/user_spec.rb +24 -0
  259. data/spec/dummy_app/tmp/cache/assets/development/sass/4c3af79921173448804b83f254ba105cda287756/font-awesome.css.erbc +0 -0
  260. data/spec/dummy_app/tmp/cache/assets/development/sass/517b219fe56f7ccf93e010b001d2d3a1b459bfba/bootstrap-modal.cssc +0 -0
  261. data/spec/dummy_app/tmp/cache/assets/development/sass/5f2148516ed2cc365f29b92c4f1d6f005cae0a2d/jquery.colorpicker.scssc +0 -0
  262. data/spec/dummy_app/tmp/cache/assets/development/sass/5f2148516ed2cc365f29b92c4f1d6f005cae0a2d/jquery.ui.timepicker.scssc +0 -0
  263. data/spec/dummy_app/tmp/cache/assets/development/sass/5f2148516ed2cc365f29b92c4f1d6f005cae0a2d/ra.calendar-additions.scssc +0 -0
  264. data/spec/dummy_app/tmp/cache/assets/development/sass/6c0703113df22b0e3ea387c6ab99e8fcfd6a83c2/jquery-ui-1.8.7.custom.scssc +0 -0
  265. data/spec/dummy_app/tmp/cache/assets/development/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/bootstrap-variables.css.scssc +0 -0
  266. data/spec/dummy_app/tmp/cache/assets/development/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/forms.css.scssc +0 -0
  267. data/spec/dummy_app/tmp/cache/assets/development/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/print.css.scssc +0 -0
  268. data/spec/dummy_app/tmp/cache/assets/development/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/select2-bootstrap.cssc +0 -0
  269. data/spec/dummy_app/tmp/cache/assets/development/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/sortable.scssc +0 -0
  270. data/spec/dummy_app/tmp/cache/assets/development/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/theming.css.scssc +0 -0
  271. data/spec/dummy_app/tmp/cache/assets/development/sass/9c999c00494fa4fafa9bdff246834bab6e26edf8/basepack.css.scssc +0 -0
  272. data/spec/dummy_app/tmp/cache/assets/development/sass/c7a33d5d8afb8d443e69f9ef9559d2ebad9cb197/bootstrap-responsive.scssc +0 -0
  273. data/spec/dummy_app/tmp/cache/assets/development/sass/c7a33d5d8afb8d443e69f9ef9559d2ebad9cb197/bootstrap.scssc +0 -0
  274. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_accordion.scssc +0 -0
  275. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_alerts.scssc +0 -0
  276. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_breadcrumbs.scssc +0 -0
  277. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_button-groups.scssc +0 -0
  278. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_buttons.scssc +0 -0
  279. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_carousel.scssc +0 -0
  280. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_close.scssc +0 -0
  281. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_code.scssc +0 -0
  282. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_component-animations.scssc +0 -0
  283. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_dropdowns.scssc +0 -0
  284. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_forms.scssc +0 -0
  285. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_grid.scssc +0 -0
  286. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_hero-unit.scssc +0 -0
  287. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_labels-badges.scssc +0 -0
  288. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_layouts.scssc +0 -0
  289. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_media.scssc +0 -0
  290. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_mixins.scssc +0 -0
  291. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_modals.scssc +0 -0
  292. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_navbar.scssc +0 -0
  293. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_navs.scssc +0 -0
  294. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_pager.scssc +0 -0
  295. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_pagination.scssc +0 -0
  296. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_popovers.scssc +0 -0
  297. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_progress-bars.scssc +0 -0
  298. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_reset.scssc +0 -0
  299. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-1200px-min.scssc +0 -0
  300. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-767px-max.scssc +0 -0
  301. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-768px-979px.scssc +0 -0
  302. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-navbar.scssc +0 -0
  303. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-utilities.scssc +0 -0
  304. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_scaffolding.scssc +0 -0
  305. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_sprites.scssc +0 -0
  306. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_tables.scssc +0 -0
  307. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_thumbnails.scssc +0 -0
  308. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_tooltip.scssc +0 -0
  309. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_type.scssc +0 -0
  310. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_utilities.scssc +0 -0
  311. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_variables.scssc +0 -0
  312. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_wells.scssc +0 -0
  313. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/bootstrap.scssc +0 -0
  314. data/spec/dummy_app/tmp/cache/assets/development/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/responsive.scssc +0 -0
  315. data/spec/dummy_app/tmp/cache/assets/development/sass/f31185238ced2f85aef3331b2fccaf2065e3231a/select2.css.erbc +0 -0
  316. data/spec/dummy_app/tmp/cache/assets/development/sprockets/00241a7292d851bac376d0f0957e63ff +0 -0
  317. data/spec/dummy_app/tmp/cache/assets/development/sprockets/003e285de7c62692a9fe3b8f50902380 +0 -0
  318. data/spec/dummy_app/tmp/cache/assets/development/sprockets/0104c964a4f56bb5b2899a07f10af9f9 +0 -0
  319. data/spec/dummy_app/tmp/cache/assets/development/sprockets/052bb63ff29bc44571c2232131c36a8a +0 -0
  320. data/spec/dummy_app/tmp/cache/assets/development/sprockets/089607f98e898c71fd68e8ae51754987 +0 -0
  321. data/spec/dummy_app/tmp/cache/assets/development/sprockets/09050dc72206d6f6ad9f3f02b685419b +0 -0
  322. data/spec/dummy_app/tmp/cache/assets/development/sprockets/0cafd9bc53d49c2cf5e5824a613c234a +0 -0
  323. data/spec/dummy_app/tmp/cache/assets/development/sprockets/0ff0b5f27512c6d962359fb992396486 +0 -0
  324. data/spec/dummy_app/tmp/cache/assets/development/sprockets/11bce97ed3034e6e70d23980be846e97 +0 -0
  325. data/spec/dummy_app/tmp/cache/assets/development/sprockets/11eff350cf9d6699fa472a8cc51a5ae4 +0 -0
  326. data/spec/dummy_app/tmp/cache/assets/development/sprockets/12ca1512e2358f3ac0eb9052a78f0a87 +0 -0
  327. data/spec/dummy_app/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  328. data/spec/dummy_app/tmp/cache/assets/development/sprockets/184efa29626c6b13fd6f290830370818 +0 -0
  329. data/spec/dummy_app/tmp/cache/assets/development/sprockets/1a9589d7b8d8cbf05f74469c8f4c4156 +0 -0
  330. data/spec/dummy_app/tmp/cache/assets/development/sprockets/1c50d4281907563387028ba86a066d3c +0 -0
  331. data/spec/dummy_app/tmp/cache/assets/development/sprockets/22e2b6a8afe048228c40b58e65bfdb13 +0 -0
  332. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2598bea497f818511170f1767eb626cb +0 -0
  333. data/spec/dummy_app/tmp/cache/assets/development/sprockets/26576898fc49833696cd3f3fb7eccf95 +0 -0
  334. data/spec/dummy_app/tmp/cache/assets/development/sprockets/28418912ed32585ce915ff3973682be4 +0 -0
  335. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2a6e117dba2d7db2ef21aca7fcb9230c +0 -0
  336. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2aac860bfb56742949faa12d706267d0 +0 -0
  337. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2c8963580cbc47dc28cbed8da42f84ca +0 -0
  338. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2cc54b227549bd5df491930580a8bc64 +0 -0
  339. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2da93a1145941acb52281bece48fe4a3 +0 -0
  340. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  341. data/spec/dummy_app/tmp/cache/assets/development/sprockets/2f7c7ba8274ab8efb2b4f5cdecbd6a32 +0 -0
  342. data/spec/dummy_app/tmp/cache/assets/development/sprockets/30f9c6c7e6c0b1341b38eb1b28f31810 +0 -0
  343. data/spec/dummy_app/tmp/cache/assets/development/sprockets/33b864d3cf87bb7e2b39adfa0426f263 +0 -0
  344. data/spec/dummy_app/tmp/cache/assets/development/sprockets/33d1f9ea25c7b89f2459940d9212a669 +0 -0
  345. data/spec/dummy_app/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  346. data/spec/dummy_app/tmp/cache/assets/development/sprockets/37f26ee40ea683e5f0ceaf797b814a54 +0 -0
  347. data/spec/dummy_app/tmp/cache/assets/development/sprockets/38b637f41c9bd27a51de4b1762a73647 +0 -0
  348. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3a736bd97a21b78316991160ba80effd +0 -0
  349. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3bd17609c55e7cdacc4b78a9dd1ed0d1 +0 -0
  350. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3c4ff97255336da127cbcb0caf6e3015 +0 -0
  351. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3c88e1379f0ea6777de02c6a0b8c9945 +0 -0
  352. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3c8e11617355c1c5e083959f26cee4b6 +0 -0
  353. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3d03edf86b468f9e9b330ed805860769 +0 -0
  354. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3d7fbddfa7a63c926358b342a3eac479 +0 -0
  355. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3db6c2748a108d113d84d4110cf508c6 +0 -0
  356. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3de8063d0af2ad28e95baf817514b616 +0 -0
  357. data/spec/dummy_app/tmp/cache/assets/development/sprockets/3f30325451dfb42de8d8ed9a9c084659 +0 -0
  358. data/spec/dummy_app/tmp/cache/assets/development/sprockets/47b40976b55c9edc54252cc19e81984d +0 -0
  359. data/spec/dummy_app/tmp/cache/assets/development/sprockets/47d3aa8065e6b7e20f718fcd29cb8660 +0 -0
  360. data/spec/dummy_app/tmp/cache/assets/development/sprockets/4a4c804531d617393de455ae5e7d3ef3 +0 -0
  361. data/spec/dummy_app/tmp/cache/assets/development/sprockets/4b33722102ab3dcfd0b25b5bef28dea2 +0 -0
  362. data/spec/dummy_app/tmp/cache/assets/development/sprockets/4d002d1a4924d16b15d4ed3f18091bff +0 -0
  363. data/spec/dummy_app/tmp/cache/assets/development/sprockets/4fb84f030762485b5f9e956b5185da20 +0 -0
  364. data/spec/dummy_app/tmp/cache/assets/development/sprockets/4fc760e501c018ae614b48f11d1d291a +0 -0
  365. data/spec/dummy_app/tmp/cache/assets/development/sprockets/506b60726578735bdb85ff7c0d7fe54e +0 -0
  366. data/spec/dummy_app/tmp/cache/assets/development/sprockets/508370aab9933724fc4d037be88afc43 +0 -0
  367. data/spec/dummy_app/tmp/cache/assets/development/sprockets/508c14fe1a15ea3e34224307aac6225d +0 -0
  368. data/spec/dummy_app/tmp/cache/assets/development/sprockets/558a8cddd270ecb5edb5567005eebc6c +0 -0
  369. data/spec/dummy_app/tmp/cache/assets/development/sprockets/56784bb9c5211915112e308ec4fe55bd +0 -0
  370. data/spec/dummy_app/tmp/cache/assets/development/sprockets/572d0e3e85fa261156105039963d871d +0 -0
  371. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5748f429893a84aa7c3d3f5a8c83c429 +0 -0
  372. data/spec/dummy_app/tmp/cache/assets/development/sprockets/57ca51d3b9c0dca90847bde786647ed9 +0 -0
  373. data/spec/dummy_app/tmp/cache/assets/development/sprockets/58216b347a0e26bfb17bb6858fa58fe3 +0 -0
  374. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5a723f838e928f8525dbfe097421bcc5 +0 -0
  375. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5ca7841eb0c1ce4fce5ca5c089c81a27 +0 -0
  376. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5d92496bf7c2f2a7c6f658a3bfd9168c +0 -0
  377. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5de0dcc5b363271c35e2f24cdc6d0fb5 +0 -0
  378. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5e2ab7bcc69360d652fafb3fbc63c5a3 +0 -0
  379. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5e2af01867b50ec9e726fc860497c77f +0 -0
  380. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5e377f8032ceddd7a1010605ae5a4e36 +0 -0
  381. data/spec/dummy_app/tmp/cache/assets/development/sprockets/5e5e62c9fddb2531b4265503882f69d4 +0 -0
  382. data/spec/dummy_app/tmp/cache/assets/development/sprockets/6296f81d09f2fb08fc08cfb512d06172 +0 -0
  383. data/spec/dummy_app/tmp/cache/assets/development/sprockets/63a371041bf7f21fa88e427db780f480 +0 -0
  384. data/spec/dummy_app/tmp/cache/assets/development/sprockets/63ae6b3d3df541f5fc47dd7722eedffc +0 -0
  385. data/spec/dummy_app/tmp/cache/assets/development/sprockets/64888fd16034a8607f962f87418fedb3 +0 -0
  386. data/spec/dummy_app/tmp/cache/assets/development/sprockets/67bcc3d148c493a1945bc97ef249d81d +0 -0
  387. data/spec/dummy_app/tmp/cache/assets/development/sprockets/68378e5dd52f7dedcefab5dd586a99b4 +0 -0
  388. data/spec/dummy_app/tmp/cache/assets/development/sprockets/6a03a21304c0e62a86f049dbd1bec75d +0 -0
  389. data/spec/dummy_app/tmp/cache/assets/development/sprockets/6d6cbd0baea2774f4a367edf79c20efb +0 -0
  390. data/spec/dummy_app/tmp/cache/assets/development/sprockets/6e81adbb0a0e41feab2afa9b138d0a6d +0 -0
  391. data/spec/dummy_app/tmp/cache/assets/development/sprockets/6f222094c80a63b5f18d99b89ec1df5f +0 -0
  392. data/spec/dummy_app/tmp/cache/assets/development/sprockets/6f4d8a75f9952ad791647a0c21be66d3 +0 -0
  393. data/spec/dummy_app/tmp/cache/assets/development/sprockets/6f83c9939102b4619eabd02111cf327d +0 -0
  394. data/spec/dummy_app/tmp/cache/assets/development/sprockets/704e339f6490098455c0c834c0ba168e +0 -0
  395. data/spec/dummy_app/tmp/cache/assets/development/sprockets/72b128fc6f546bdd9b63f28a930e6f63 +0 -0
  396. data/spec/dummy_app/tmp/cache/assets/development/sprockets/72c1561e683cf672ae85824865c551ea +0 -0
  397. data/spec/dummy_app/tmp/cache/assets/development/sprockets/733efb7785d2a5bf99bfabc1e65bc6cc +0 -0
  398. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7358b3ce166ffd9482ebf11bcae20b4e +0 -0
  399. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7398227d5d76926ebb4eefd0f60a8682 +0 -0
  400. data/spec/dummy_app/tmp/cache/assets/development/sprockets/749bdc6c2fb7dc20a6a2ac10738c7b32 +0 -0
  401. data/spec/dummy_app/tmp/cache/assets/development/sprockets/766f9ac65b372adfffbc20fc3c11787d +0 -0
  402. data/spec/dummy_app/tmp/cache/assets/development/sprockets/780aca8465b079da370475ddc33153c8 +0 -0
  403. data/spec/dummy_app/tmp/cache/assets/development/sprockets/78107b4418a915310b877f2476a86c6b +0 -0
  404. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7bc5f8b1be235cc1cc912f2ce07b3575 +0 -0
  405. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7bf5b05b9aa2a7f9ee3aa9256775e185 +0 -0
  406. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7c4325d5e7ed475316bc2f09f5a8426b +0 -0
  407. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7d3a0d4123a39f727d17b424cb809172 +0 -0
  408. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7d7323f314bbd56742b63fbb33245731 +0 -0
  409. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7e17604cb69365b9c04ab2bdab5e1883 +0 -0
  410. data/spec/dummy_app/tmp/cache/assets/development/sprockets/7f079fa6db901e720e9a93fb9fea4fc3 +0 -0
  411. data/spec/dummy_app/tmp/cache/assets/development/sprockets/805aeb5e9f7a354449fe22b474de0ac3 +0 -0
  412. data/spec/dummy_app/tmp/cache/assets/development/sprockets/827c7c505cb992c5d964bcbc2fc423d7 +0 -0
  413. data/spec/dummy_app/tmp/cache/assets/development/sprockets/8356748bbeceb07c6517ded5fcbeec11 +0 -0
  414. data/spec/dummy_app/tmp/cache/assets/development/sprockets/83e117043b923d0d16ab464274ae7761 +0 -0
  415. data/spec/dummy_app/tmp/cache/assets/development/sprockets/848fa2a63c294b86937ee46fdcb42969 +0 -0
  416. data/spec/dummy_app/tmp/cache/assets/development/sprockets/84dd8d2de6f42c1106c041b3af94a8b2 +0 -0
  417. data/spec/dummy_app/tmp/cache/assets/development/sprockets/84ed3d82ea61013675e915122c957247 +0 -0
  418. data/spec/dummy_app/tmp/cache/assets/development/sprockets/8589169f6c1a9ee8a6467dd57394aa1c +0 -0
  419. data/spec/dummy_app/tmp/cache/assets/development/sprockets/864c25920b418fdad6911595015b545e +0 -0
  420. data/spec/dummy_app/tmp/cache/assets/development/sprockets/867a7f30a2e3e699a4dd32531b542fa2 +0 -0
  421. data/spec/dummy_app/tmp/cache/assets/development/sprockets/887d9742047f5e9c5eceaf910c77a1de +0 -0
  422. data/spec/dummy_app/tmp/cache/assets/development/sprockets/8a577fda2de89b9bee8e3e3edff1e493 +0 -0
  423. data/spec/dummy_app/tmp/cache/assets/development/sprockets/8c2ee669e9cd5c095f2f4ff75d814907 +0 -0
  424. data/spec/dummy_app/tmp/cache/assets/development/sprockets/8f6c0c726ca9a75d4d4dc89ab01cd6f9 +0 -0
  425. data/spec/dummy_app/tmp/cache/assets/development/sprockets/9115a6dc55fd7a6bd4eb922e8f4327c1 +0 -0
  426. data/spec/dummy_app/tmp/cache/assets/development/sprockets/93a7167bf36c621d305a9481e3d25bce +0 -0
  427. data/spec/dummy_app/tmp/cache/assets/development/sprockets/9492d6e391e59a3b1fe0926011514606 +0 -0
  428. data/spec/dummy_app/tmp/cache/assets/development/sprockets/98797413746006678e6718e2fc0072e3 +0 -0
  429. data/spec/dummy_app/tmp/cache/assets/development/sprockets/9ea680f1317b9aabfa7f2c8500d8d238 +0 -0
  430. data/spec/dummy_app/tmp/cache/assets/development/sprockets/9edca4894af4373eb021d163773d4ad5 +0 -0
  431. data/spec/dummy_app/tmp/cache/assets/development/sprockets/9f0670e1cd6d8b55b6f4538ad18d24dd +0 -0
  432. data/spec/dummy_app/tmp/cache/assets/development/sprockets/a5e7024917f7c6b419ab0cdf38e72e6b +0 -0
  433. data/spec/dummy_app/tmp/cache/assets/development/sprockets/a61f72bcd625cc47886c1928cd35055c +0 -0
  434. data/spec/dummy_app/tmp/cache/assets/development/sprockets/a6fad88c8628b92fa21b43b1aa76cf7d +0 -0
  435. data/spec/dummy_app/tmp/cache/assets/development/sprockets/a7825c008941de47e400148ced44c977 +0 -0
  436. data/spec/dummy_app/tmp/cache/assets/development/sprockets/a7957c8a663412b3fc916487d9b4fa11 +0 -0
  437. data/spec/dummy_app/tmp/cache/assets/development/sprockets/a979dde04e397cb6c5c3bbfe0ff3d6cf +0 -0
  438. data/spec/dummy_app/tmp/cache/assets/development/sprockets/abbc1edaaf47dfc80b1166ef445e776e +0 -0
  439. data/spec/dummy_app/tmp/cache/assets/development/sprockets/abe5d0ed7bfa91ab738920f1d07df4c6 +0 -0
  440. data/spec/dummy_app/tmp/cache/assets/development/sprockets/addd43bf5b4f0533b7e8041185debdd3 +0 -0
  441. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ae79cf81961bd21d204095a53ad08acd +0 -0
  442. data/spec/dummy_app/tmp/cache/assets/development/sprockets/b13b77b3a33991854e944d8a18f17d62 +0 -0
  443. data/spec/dummy_app/tmp/cache/assets/development/sprockets/b262e9ec489792ed46d9a3f061a2575f +0 -0
  444. data/spec/dummy_app/tmp/cache/assets/development/sprockets/b563282525ff9ba52595f00de0175716 +0 -0
  445. data/spec/dummy_app/tmp/cache/assets/development/sprockets/b5cfdf8b42163460b9a99af40af1f850 +0 -0
  446. data/spec/dummy_app/tmp/cache/assets/development/sprockets/b8a8c2faf730407b004ec269c26473d7 +0 -0
  447. data/spec/dummy_app/tmp/cache/assets/development/sprockets/bf2ad2d8b5bd3fdc6aa311eb0e0d002a +0 -0
  448. data/spec/dummy_app/tmp/cache/assets/development/sprockets/bf5d63f847739999ed7724f45d7593d5 +0 -0
  449. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c0ba2663731f9ebc0224d9c3fa57dd5d +0 -0
  450. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c0f6d55b2d582ab7f1a8f1b2baa0e55c +0 -0
  451. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c1248b471da8a4a819a68eb0af3dc103 +0 -0
  452. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c2266d7fe9597848b5baa3b118ada4f4 +0 -0
  453. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c2e43f298ce02a9c759d2b7df87a81a6 +0 -0
  454. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c38e7994f800531bc12b23135523c6b3 +0 -0
  455. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c3eaaf0a21b3dfc3c3a607a6ad16ddca +0 -0
  456. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c3f0b48cfae36a2ddf7176919c338557 +0 -0
  457. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c4858b3b9b3bd5475da0e04bd3a35191 +0 -0
  458. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c60717cd75961085cbfaed1b3db6f6af +0 -0
  459. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c79787636fbf28ee3ffd89edf5669d75 +0 -0
  460. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c81f70729312f8cfffb2fa682afd6a39 +0 -0
  461. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c9487d16cf2ce7367963c017d1732be2 +0 -0
  462. data/spec/dummy_app/tmp/cache/assets/development/sprockets/c98b3083f4ba9d3d0a76bac8d1a8e2e9 +0 -0
  463. data/spec/dummy_app/tmp/cache/assets/development/sprockets/caef372e0b0efd371eb93602c2ba72b6 +0 -0
  464. data/spec/dummy_app/tmp/cache/assets/development/sprockets/cb1f853dc4682e46b8f6922910af7491 +0 -0
  465. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ce095fdd19d87bdedf6f29dedc5f8be2 +0 -0
  466. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ce1b44d8727c41febfc3a96f9bd00599 +0 -0
  467. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ce57fab3414f0fb0fd0dec0214b04d2f +0 -0
  468. data/spec/dummy_app/tmp/cache/assets/development/sprockets/cef38ed915676983be0704ef77a90742 +0 -0
  469. data/spec/dummy_app/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  470. data/spec/dummy_app/tmp/cache/assets/development/sprockets/d019216c3cec51a12564f968de0c3a8d +0 -0
  471. data/spec/dummy_app/tmp/cache/assets/development/sprockets/d318e9b3460db4bf73b729bb3d937077 +0 -0
  472. data/spec/dummy_app/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  473. data/spec/dummy_app/tmp/cache/assets/development/sprockets/d82b7d635f85356c0e82b32ba4c6a4aa +0 -0
  474. data/spec/dummy_app/tmp/cache/assets/development/sprockets/d92dd66f936d3a75c863b72e2b27115d +0 -0
  475. data/spec/dummy_app/tmp/cache/assets/development/sprockets/db31397e2b32946f71bec3519464a2da +0 -0
  476. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ddf79bf78a7f737dc2c2e6747003b7d0 +0 -0
  477. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ddfe77f5b6c3a355da00713ec7c8b092 +0 -0
  478. data/spec/dummy_app/tmp/cache/assets/development/sprockets/df4353ad516c274a84e9ccb80b30a3ac +0 -0
  479. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e1cbb636d734b1c62f30f4f238c9662a +0 -0
  480. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e21995a68b298fb3743da07cc42cecc6 +0 -0
  481. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e38a482225929905e4c579fc6fa31238 +0 -0
  482. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e481ffc4e01eb6fbf7ce2ffd1636a669 +0 -0
  483. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e545f687f3a940a17b49b971b4133c0c +0 -0
  484. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e6548eae94b88a5488902e756cb0b8a8 +0 -0
  485. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e6af1f885ff81245d4ada1412fda047b +0 -0
  486. data/spec/dummy_app/tmp/cache/assets/development/sprockets/e8678645dc9662106d5d3504a253950d +0 -0
  487. data/spec/dummy_app/tmp/cache/assets/development/sprockets/eadf6b627f39c82d965368dd440557c3 +0 -0
  488. data/spec/dummy_app/tmp/cache/assets/development/sprockets/eef581f1488012db6d2917e1bfdd8696 +0 -0
  489. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ef00280fe4cee5914acc741f3fe2e25a +0 -0
  490. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ef24895902c6875e7b5476d9d73d8e6b +0 -0
  491. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f03b1104103a3a2aab0806b59a918f2f +0 -0
  492. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f0906a63ce8aa3885ea12f7b2e04b203 +0 -0
  493. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f30c986d0368baf246d16a5a9baf0a3a +0 -0
  494. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f4d2c43148f3ab92536c07cb05df0a4c +0 -0
  495. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f5b822723ea8a3561c0f0a8819ab2838 +0 -0
  496. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  497. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f82cd72f16a42c411e418fb85e3da9e7 +0 -0
  498. data/spec/dummy_app/tmp/cache/assets/development/sprockets/f86420678d4a78184e7c2fd2c2ae2b02 +0 -0
  499. data/spec/dummy_app/tmp/cache/assets/development/sprockets/fd469e8d4a2474e7a0de32464b4c9be6 +0 -0
  500. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ff435fd5d18db4f8c1de46245385d286 +0 -0
  501. data/spec/dummy_app/tmp/cache/assets/development/sprockets/ffbfecea42fde1ce85f0c6993dacb73a +0 -0
  502. data/spec/dummy_app/tmp/cache/assets/test/sass/4c3af79921173448804b83f254ba105cda287756/font-awesome.css.erbc +0 -0
  503. data/spec/dummy_app/tmp/cache/assets/test/sass/517b219fe56f7ccf93e010b001d2d3a1b459bfba/bootstrap-modal.cssc +0 -0
  504. data/spec/dummy_app/tmp/cache/assets/test/sass/5f2148516ed2cc365f29b92c4f1d6f005cae0a2d/jquery.colorpicker.scssc +0 -0
  505. data/spec/dummy_app/tmp/cache/assets/test/sass/5f2148516ed2cc365f29b92c4f1d6f005cae0a2d/jquery.ui.timepicker.scssc +0 -0
  506. data/spec/dummy_app/tmp/cache/assets/test/sass/5f2148516ed2cc365f29b92c4f1d6f005cae0a2d/ra.calendar-additions.scssc +0 -0
  507. data/spec/dummy_app/tmp/cache/assets/test/sass/6c0703113df22b0e3ea387c6ab99e8fcfd6a83c2/jquery-ui-1.8.7.custom.scssc +0 -0
  508. data/spec/dummy_app/tmp/cache/assets/test/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/bootstrap-variables.css.scssc +0 -0
  509. data/spec/dummy_app/tmp/cache/assets/test/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/forms.css.scssc +0 -0
  510. data/spec/dummy_app/tmp/cache/assets/test/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/print.css.scssc +0 -0
  511. data/spec/dummy_app/tmp/cache/assets/test/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/select2-bootstrap.cssc +0 -0
  512. data/spec/dummy_app/tmp/cache/assets/test/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/sortable.scssc +0 -0
  513. data/spec/dummy_app/tmp/cache/assets/test/sass/72fd245dc0f9dc0baba8cfdebd78071f7693f8cf/theming.css.scssc +0 -0
  514. data/spec/dummy_app/tmp/cache/assets/test/sass/9c999c00494fa4fafa9bdff246834bab6e26edf8/basepack.css.scssc +0 -0
  515. data/spec/dummy_app/tmp/cache/assets/test/sass/c7a33d5d8afb8d443e69f9ef9559d2ebad9cb197/bootstrap-responsive.scssc +0 -0
  516. data/spec/dummy_app/tmp/cache/assets/test/sass/c7a33d5d8afb8d443e69f9ef9559d2ebad9cb197/bootstrap.scssc +0 -0
  517. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_accordion.scssc +0 -0
  518. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_alerts.scssc +0 -0
  519. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_breadcrumbs.scssc +0 -0
  520. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_button-groups.scssc +0 -0
  521. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_buttons.scssc +0 -0
  522. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_carousel.scssc +0 -0
  523. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_close.scssc +0 -0
  524. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_code.scssc +0 -0
  525. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_component-animations.scssc +0 -0
  526. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_dropdowns.scssc +0 -0
  527. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_forms.scssc +0 -0
  528. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_grid.scssc +0 -0
  529. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_hero-unit.scssc +0 -0
  530. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_labels-badges.scssc +0 -0
  531. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_layouts.scssc +0 -0
  532. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_media.scssc +0 -0
  533. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_mixins.scssc +0 -0
  534. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_modals.scssc +0 -0
  535. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_navbar.scssc +0 -0
  536. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_navs.scssc +0 -0
  537. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_pager.scssc +0 -0
  538. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_pagination.scssc +0 -0
  539. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_popovers.scssc +0 -0
  540. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_progress-bars.scssc +0 -0
  541. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_reset.scssc +0 -0
  542. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-1200px-min.scssc +0 -0
  543. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-767px-max.scssc +0 -0
  544. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-768px-979px.scssc +0 -0
  545. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-navbar.scssc +0 -0
  546. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_responsive-utilities.scssc +0 -0
  547. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_scaffolding.scssc +0 -0
  548. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_sprites.scssc +0 -0
  549. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_tables.scssc +0 -0
  550. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_thumbnails.scssc +0 -0
  551. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_tooltip.scssc +0 -0
  552. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_type.scssc +0 -0
  553. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_utilities.scssc +0 -0
  554. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_variables.scssc +0 -0
  555. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/_wells.scssc +0 -0
  556. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/bootstrap.scssc +0 -0
  557. data/spec/dummy_app/tmp/cache/assets/test/sass/dacfd9c3953b41ace4d8fe1afd7b6ca0584d6004/responsive.scssc +0 -0
  558. data/spec/dummy_app/tmp/cache/assets/test/sass/f31185238ced2f85aef3331b2fccaf2065e3231a/select2.css.erbc +0 -0
  559. data/spec/dummy_app/tmp/cache/assets/test/sprockets/00241a7292d851bac376d0f0957e63ff +0 -0
  560. data/spec/dummy_app/tmp/cache/assets/test/sprockets/003e285de7c62692a9fe3b8f50902380 +0 -0
  561. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0104c964a4f56bb5b2899a07f10af9f9 +0 -0
  562. data/spec/dummy_app/tmp/cache/assets/test/sprockets/089607f98e898c71fd68e8ae51754987 +0 -0
  563. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0cafd9bc53d49c2cf5e5824a613c234a +0 -0
  564. data/spec/dummy_app/tmp/cache/assets/test/sprockets/0ff0b5f27512c6d962359fb992396486 +0 -0
  565. data/spec/dummy_app/tmp/cache/assets/test/sprockets/11bce97ed3034e6e70d23980be846e97 +0 -0
  566. data/spec/dummy_app/tmp/cache/assets/test/sprockets/11eff350cf9d6699fa472a8cc51a5ae4 +0 -0
  567. data/spec/dummy_app/tmp/cache/assets/test/sprockets/12ca1512e2358f3ac0eb9052a78f0a87 +0 -0
  568. data/spec/dummy_app/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  569. data/spec/dummy_app/tmp/cache/assets/test/sprockets/184efa29626c6b13fd6f290830370818 +0 -0
  570. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1a9589d7b8d8cbf05f74469c8f4c4156 +0 -0
  571. data/spec/dummy_app/tmp/cache/assets/test/sprockets/1c50d4281907563387028ba86a066d3c +0 -0
  572. data/spec/dummy_app/tmp/cache/assets/test/sprockets/22e2b6a8afe048228c40b58e65bfdb13 +0 -0
  573. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2598bea497f818511170f1767eb626cb +0 -0
  574. data/spec/dummy_app/tmp/cache/assets/test/sprockets/26576898fc49833696cd3f3fb7eccf95 +0 -0
  575. data/spec/dummy_app/tmp/cache/assets/test/sprockets/28418912ed32585ce915ff3973682be4 +0 -0
  576. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2aac860bfb56742949faa12d706267d0 +0 -0
  577. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2c8963580cbc47dc28cbed8da42f84ca +0 -0
  578. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2cc54b227549bd5df491930580a8bc64 +0 -0
  579. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2da93a1145941acb52281bece48fe4a3 +0 -0
  580. data/spec/dummy_app/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  581. data/spec/dummy_app/tmp/cache/assets/test/sprockets/30f9c6c7e6c0b1341b38eb1b28f31810 +0 -0
  582. data/spec/dummy_app/tmp/cache/assets/test/sprockets/33b864d3cf87bb7e2b39adfa0426f263 +0 -0
  583. data/spec/dummy_app/tmp/cache/assets/test/sprockets/33d1f9ea25c7b89f2459940d9212a669 +0 -0
  584. data/spec/dummy_app/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  585. data/spec/dummy_app/tmp/cache/assets/test/sprockets/37f26ee40ea683e5f0ceaf797b814a54 +0 -0
  586. data/spec/dummy_app/tmp/cache/assets/test/sprockets/38b637f41c9bd27a51de4b1762a73647 +0 -0
  587. data/spec/dummy_app/tmp/cache/assets/test/sprockets/3c4ff97255336da127cbcb0caf6e3015 +0 -0
  588. data/spec/dummy_app/tmp/cache/assets/test/sprockets/3c8e11617355c1c5e083959f26cee4b6 +0 -0
  589. data/spec/dummy_app/tmp/cache/assets/test/sprockets/3d03edf86b468f9e9b330ed805860769 +0 -0
  590. data/spec/dummy_app/tmp/cache/assets/test/sprockets/3d7fbddfa7a63c926358b342a3eac479 +0 -0
  591. data/spec/dummy_app/tmp/cache/assets/test/sprockets/3de8063d0af2ad28e95baf817514b616 +0 -0
  592. data/spec/dummy_app/tmp/cache/assets/test/sprockets/3f30325451dfb42de8d8ed9a9c084659 +0 -0
  593. data/spec/dummy_app/tmp/cache/assets/test/sprockets/47d3aa8065e6b7e20f718fcd29cb8660 +0 -0
  594. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4a4c804531d617393de455ae5e7d3ef3 +0 -0
  595. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4b33722102ab3dcfd0b25b5bef28dea2 +0 -0
  596. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4d002d1a4924d16b15d4ed3f18091bff +0 -0
  597. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4fb84f030762485b5f9e956b5185da20 +0 -0
  598. data/spec/dummy_app/tmp/cache/assets/test/sprockets/4fc760e501c018ae614b48f11d1d291a +0 -0
  599. data/spec/dummy_app/tmp/cache/assets/test/sprockets/506b60726578735bdb85ff7c0d7fe54e +0 -0
  600. data/spec/dummy_app/tmp/cache/assets/test/sprockets/508c14fe1a15ea3e34224307aac6225d +0 -0
  601. data/spec/dummy_app/tmp/cache/assets/test/sprockets/572d0e3e85fa261156105039963d871d +0 -0
  602. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5748f429893a84aa7c3d3f5a8c83c429 +0 -0
  603. data/spec/dummy_app/tmp/cache/assets/test/sprockets/57ca51d3b9c0dca90847bde786647ed9 +0 -0
  604. data/spec/dummy_app/tmp/cache/assets/test/sprockets/58216b347a0e26bfb17bb6858fa58fe3 +0 -0
  605. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5a723f838e928f8525dbfe097421bcc5 +0 -0
  606. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5ca7841eb0c1ce4fce5ca5c089c81a27 +0 -0
  607. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5de0dcc5b363271c35e2f24cdc6d0fb5 +0 -0
  608. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2ab7bcc69360d652fafb3fbc63c5a3 +0 -0
  609. data/spec/dummy_app/tmp/cache/assets/test/sprockets/5e2af01867b50ec9e726fc860497c77f +0 -0
  610. data/spec/dummy_app/tmp/cache/assets/test/sprockets/63a371041bf7f21fa88e427db780f480 +0 -0
  611. data/spec/dummy_app/tmp/cache/assets/test/sprockets/63ae6b3d3df541f5fc47dd7722eedffc +0 -0
  612. data/spec/dummy_app/tmp/cache/assets/test/sprockets/64888fd16034a8607f962f87418fedb3 +0 -0
  613. data/spec/dummy_app/tmp/cache/assets/test/sprockets/67bcc3d148c493a1945bc97ef249d81d +0 -0
  614. data/spec/dummy_app/tmp/cache/assets/test/sprockets/68378e5dd52f7dedcefab5dd586a99b4 +0 -0
  615. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6a03a21304c0e62a86f049dbd1bec75d +0 -0
  616. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6d6cbd0baea2774f4a367edf79c20efb +0 -0
  617. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6e81adbb0a0e41feab2afa9b138d0a6d +0 -0
  618. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6f222094c80a63b5f18d99b89ec1df5f +0 -0
  619. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6f4d8a75f9952ad791647a0c21be66d3 +0 -0
  620. data/spec/dummy_app/tmp/cache/assets/test/sprockets/6f83c9939102b4619eabd02111cf327d +0 -0
  621. data/spec/dummy_app/tmp/cache/assets/test/sprockets/704e339f6490098455c0c834c0ba168e +0 -0
  622. data/spec/dummy_app/tmp/cache/assets/test/sprockets/72b128fc6f546bdd9b63f28a930e6f63 +0 -0
  623. data/spec/dummy_app/tmp/cache/assets/test/sprockets/72c1561e683cf672ae85824865c551ea +0 -0
  624. data/spec/dummy_app/tmp/cache/assets/test/sprockets/733efb7785d2a5bf99bfabc1e65bc6cc +0 -0
  625. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7398227d5d76926ebb4eefd0f60a8682 +0 -0
  626. data/spec/dummy_app/tmp/cache/assets/test/sprockets/766f9ac65b372adfffbc20fc3c11787d +0 -0
  627. data/spec/dummy_app/tmp/cache/assets/test/sprockets/780aca8465b079da370475ddc33153c8 +0 -0
  628. data/spec/dummy_app/tmp/cache/assets/test/sprockets/78107b4418a915310b877f2476a86c6b +0 -0
  629. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7bc5f8b1be235cc1cc912f2ce07b3575 +0 -0
  630. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7c4325d5e7ed475316bc2f09f5a8426b +0 -0
  631. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7d3a0d4123a39f727d17b424cb809172 +0 -0
  632. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7d7323f314bbd56742b63fbb33245731 +0 -0
  633. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7e17604cb69365b9c04ab2bdab5e1883 +0 -0
  634. data/spec/dummy_app/tmp/cache/assets/test/sprockets/7f079fa6db901e720e9a93fb9fea4fc3 +0 -0
  635. data/spec/dummy_app/tmp/cache/assets/test/sprockets/827c7c505cb992c5d964bcbc2fc423d7 +0 -0
  636. data/spec/dummy_app/tmp/cache/assets/test/sprockets/83e117043b923d0d16ab464274ae7761 +0 -0
  637. data/spec/dummy_app/tmp/cache/assets/test/sprockets/848fa2a63c294b86937ee46fdcb42969 +0 -0
  638. data/spec/dummy_app/tmp/cache/assets/test/sprockets/84dd8d2de6f42c1106c041b3af94a8b2 +0 -0
  639. data/spec/dummy_app/tmp/cache/assets/test/sprockets/84ed3d82ea61013675e915122c957247 +0 -0
  640. data/spec/dummy_app/tmp/cache/assets/test/sprockets/8589169f6c1a9ee8a6467dd57394aa1c +0 -0
  641. data/spec/dummy_app/tmp/cache/assets/test/sprockets/887d9742047f5e9c5eceaf910c77a1de +0 -0
  642. data/spec/dummy_app/tmp/cache/assets/test/sprockets/8a577fda2de89b9bee8e3e3edff1e493 +0 -0
  643. data/spec/dummy_app/tmp/cache/assets/test/sprockets/8c2ee669e9cd5c095f2f4ff75d814907 +0 -0
  644. data/spec/dummy_app/tmp/cache/assets/test/sprockets/8f6c0c726ca9a75d4d4dc89ab01cd6f9 +0 -0
  645. data/spec/dummy_app/tmp/cache/assets/test/sprockets/9115a6dc55fd7a6bd4eb922e8f4327c1 +0 -0
  646. data/spec/dummy_app/tmp/cache/assets/test/sprockets/93a7167bf36c621d305a9481e3d25bce +0 -0
  647. data/spec/dummy_app/tmp/cache/assets/test/sprockets/9492d6e391e59a3b1fe0926011514606 +0 -0
  648. data/spec/dummy_app/tmp/cache/assets/test/sprockets/98797413746006678e6718e2fc0072e3 +0 -0
  649. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a5e7024917f7c6b419ab0cdf38e72e6b +0 -0
  650. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a61f72bcd625cc47886c1928cd35055c +0 -0
  651. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a6fad88c8628b92fa21b43b1aa76cf7d +0 -0
  652. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a7825c008941de47e400148ced44c977 +0 -0
  653. data/spec/dummy_app/tmp/cache/assets/test/sprockets/a7957c8a663412b3fc916487d9b4fa11 +0 -0
  654. data/spec/dummy_app/tmp/cache/assets/test/sprockets/abbc1edaaf47dfc80b1166ef445e776e +0 -0
  655. data/spec/dummy_app/tmp/cache/assets/test/sprockets/abe5d0ed7bfa91ab738920f1d07df4c6 +0 -0
  656. data/spec/dummy_app/tmp/cache/assets/test/sprockets/addd43bf5b4f0533b7e8041185debdd3 +0 -0
  657. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ae79cf81961bd21d204095a53ad08acd +0 -0
  658. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b13b77b3a33991854e944d8a18f17d62 +0 -0
  659. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b262e9ec489792ed46d9a3f061a2575f +0 -0
  660. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b563282525ff9ba52595f00de0175716 +0 -0
  661. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b5cfdf8b42163460b9a99af40af1f850 +0 -0
  662. data/spec/dummy_app/tmp/cache/assets/test/sprockets/b8a8c2faf730407b004ec269c26473d7 +0 -0
  663. data/spec/dummy_app/tmp/cache/assets/test/sprockets/bf2ad2d8b5bd3fdc6aa311eb0e0d002a +0 -0
  664. data/spec/dummy_app/tmp/cache/assets/test/sprockets/bf5d63f847739999ed7724f45d7593d5 +0 -0
  665. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c0ba2663731f9ebc0224d9c3fa57dd5d +0 -0
  666. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c1248b471da8a4a819a68eb0af3dc103 +0 -0
  667. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c2266d7fe9597848b5baa3b118ada4f4 +0 -0
  668. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c38e7994f800531bc12b23135523c6b3 +0 -0
  669. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c3eaaf0a21b3dfc3c3a607a6ad16ddca +0 -0
  670. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c3f0b48cfae36a2ddf7176919c338557 +0 -0
  671. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c4858b3b9b3bd5475da0e04bd3a35191 +0 -0
  672. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c60717cd75961085cbfaed1b3db6f6af +0 -0
  673. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c79787636fbf28ee3ffd89edf5669d75 +0 -0
  674. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c81f70729312f8cfffb2fa682afd6a39 +0 -0
  675. data/spec/dummy_app/tmp/cache/assets/test/sprockets/c9487d16cf2ce7367963c017d1732be2 +0 -0
  676. data/spec/dummy_app/tmp/cache/assets/test/sprockets/caef372e0b0efd371eb93602c2ba72b6 +0 -0
  677. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ce095fdd19d87bdedf6f29dedc5f8be2 +0 -0
  678. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ce1b44d8727c41febfc3a96f9bd00599 +0 -0
  679. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ce57fab3414f0fb0fd0dec0214b04d2f +0 -0
  680. data/spec/dummy_app/tmp/cache/assets/test/sprockets/cef38ed915676983be0704ef77a90742 +0 -0
  681. data/spec/dummy_app/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  682. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  683. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d82b7d635f85356c0e82b32ba4c6a4aa +0 -0
  684. data/spec/dummy_app/tmp/cache/assets/test/sprockets/d92dd66f936d3a75c863b72e2b27115d +0 -0
  685. data/spec/dummy_app/tmp/cache/assets/test/sprockets/df4353ad516c274a84e9ccb80b30a3ac +0 -0
  686. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e1cbb636d734b1c62f30f4f238c9662a +0 -0
  687. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e21995a68b298fb3743da07cc42cecc6 +0 -0
  688. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e38a482225929905e4c579fc6fa31238 +0 -0
  689. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e481ffc4e01eb6fbf7ce2ffd1636a669 +0 -0
  690. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e545f687f3a940a17b49b971b4133c0c +0 -0
  691. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e6548eae94b88a5488902e756cb0b8a8 +0 -0
  692. data/spec/dummy_app/tmp/cache/assets/test/sprockets/e6af1f885ff81245d4ada1412fda047b +0 -0
  693. data/spec/dummy_app/tmp/cache/assets/test/sprockets/eadf6b627f39c82d965368dd440557c3 +0 -0
  694. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ef24895902c6875e7b5476d9d73d8e6b +0 -0
  695. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f0906a63ce8aa3885ea12f7b2e04b203 +0 -0
  696. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f30c986d0368baf246d16a5a9baf0a3a +0 -0
  697. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f4d2c43148f3ab92536c07cb05df0a4c +0 -0
  698. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f5b822723ea8a3561c0f0a8819ab2838 +0 -0
  699. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  700. data/spec/dummy_app/tmp/cache/assets/test/sprockets/f82cd72f16a42c411e418fb85e3da9e7 +0 -0
  701. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ff435fd5d18db4f8c1de46245385d286 +0 -0
  702. data/spec/dummy_app/tmp/cache/assets/test/sprockets/ffbfecea42fde1ce85f0c6993dacb73a +0 -0
  703. data/spec/dummy_app/tmp/capybara/capybara-201312162026497852199536.html +140 -0
  704. data/spec/dummy_app/tmp/capybara/capybara-201312162030365979579973.html +138 -0
  705. data/spec/dummy_app/tmp/capybara/capybara-201312162048324949230951.html +112 -0
  706. data/spec/dummy_app/tmp/capybara/capybara-201312162050472624679051.html +113 -0
  707. data/spec/dummy_app/tmp/capybara/capybara-201312162051149832011801.html +113 -0
  708. data/spec/dummy_app/tmp/capybara/capybara-201312162051552039794721.html +113 -0
  709. data/spec/dummy_app/tmp/capybara/capybara-201312162053001557043118.html +747 -0
  710. data/spec/dummy_app/tmp/capybara/capybara-201312162053292250254476.html +115 -0
  711. data/spec/dummy_app/tmp/capybara/capybara-201312162152333224586970.html +131 -0
  712. data/spec/dummy_app/tmp/capybara/capybara-20131216215647403551844.html +125 -0
  713. data/spec/dummy_app/tmp/capybara/capybara-201312162158082748551609.html +131 -0
  714. data/spec/dummy_app/tmp/capybara/capybara-201312162158088359803421.html +131 -0
  715. data/spec/dummy_app/tmp/capybara/capybara-201312182137592841800935.html +114 -0
  716. data/spec/dummy_app/tmp/capybara/capybara-20131218214441554050539.html +114 -0
  717. data/spec/dummy_app/tmp/capybara/capybara-201312261935056942776945.html +259 -0
  718. data/spec/dummy_app/tmp/capybara/capybara-201312261936286563388256.html +259 -0
  719. data/spec/dummy_app/tmp/capybara/capybara-201312271118002257059702.html +153 -0
  720. data/spec/dummy_app/tmp/capybara/capybara-201312271128336029989748.html +127 -0
  721. data/spec/dummy_app/tmp/capybara/capybara-201312271129315690411904.html +121 -0
  722. data/spec/dummy_app/tmp/capybara/capybara-20131227113202580591737.html +107 -0
  723. data/spec/dummy_app/tmp/capybara/capybara-201312271132244794498907.html +114 -0
  724. data/spec/dummy_app/tmp/capybara/capybara-201312271133318824850156.html +112 -0
  725. data/spec/dummy_app/tmp/capybara/capybara-201312271134317429303772.html +126 -0
  726. data/spec/dummy_app/tmp/capybara/capybara-201312271134353284147706.html +153 -0
  727. data/spec/dummy_app/tmp/capybara/capybara-20131227113603650964832.html +127 -0
  728. data/spec/dummy_app/tmp/capybara/capybara-201312271137218900108849.html +126 -0
  729. data/spec/dummy_app/tmp/capybara/capybara-201312271218362796119085.html +122 -0
  730. data/spec/dummy_app/tmp/capybara/capybara-201312271218401902692864.html +153 -0
  731. data/spec/dummy_app/tmp/capybara/capybara-201312271219015533405075.html +153 -0
  732. data/spec/dummy_app/tmp/capybara/capybara-201312271220169885656076.html +113 -0
  733. data/spec/dummy_app/tmp/capybara/capybara-201312271220441372008048.html +123 -0
  734. data/spec/dummy_app/tmp/capybara/capybara-201312271220485434671929.html +153 -0
  735. data/spec/dummy_app/tmp/capybara/capybara-201312271224181755415982.html +113 -0
  736. data/spec/dummy_app/tmp/capybara/capybara-201312271224325301730596.html +123 -0
  737. data/spec/dummy_app/tmp/capybara/capybara-201312271228171029900518.html +113 -0
  738. data/spec/dummy_app/tmp/capybara/capybara-201312271407363281638390.html +628 -0
  739. data/spec/dummy_app/tmp/capybara/capybara-201312271408083129633112.html +127 -0
  740. data/spec/dummy_app/tmp/capybara/capybara-201312271415367683301637.html +628 -0
  741. data/spec/dummy_app/tmp/capybara/capybara-201312271417475568989244.html +127 -0
  742. data/spec/dummy_app/tmp/capybara/capybara-201312271418196628463520.html +127 -0
  743. data/spec/dummy_app/tmp/capybara/capybara-201312271420132522546597.html +198 -0
  744. data/spec/dummy_app/tmp/capybara/capybara-201312271420133130129630.html +198 -0
  745. data/spec/dummy_app/tmp/capybara/capybara-201312271425401053845386.html +126 -0
  746. data/spec/dummy_app/tmp/capybara/capybara-201312271426108301688471.html +127 -0
  747. data/spec/dummy_app/tmp/capybara/capybara-201312271428418329320932.html +127 -0
  748. data/spec/dummy_app/tmp/capybara/capybara-201312271431575742602266.html +132 -0
  749. data/spec/dummy_app/tmp/capybara/capybara-201312271433385527107241.html +114 -0
  750. data/spec/dummy_app/tmp/capybara/capybara-201312271433401942304014.html +126 -0
  751. data/spec/dummy_app/tmp/capybara/capybara-201312271439499410141437.html +116 -0
  752. data/spec/dummy_app/tmp/capybara/capybara-201312271439509031720607.html +126 -0
  753. data/spec/dummy_app/tmp/capybara/capybara-201312271441348332077802.html +126 -0
  754. data/spec/dummy_app/tmp/capybara/capybara-201312271441365445661911.html +116 -0
  755. data/spec/dummy_app/tmp/capybara/capybara-201312271457397144808296.html +416 -0
  756. data/spec/dummy_app/tmp/capybara/capybara-201312271504022932290123.html +448 -0
  757. data/spec/dummy_app/tmp/capybara/capybara-20131227150426152029741.html +416 -0
  758. data/spec/dummy_app/tmp/capybara/capybara-201312271505268120229617.html +450 -0
  759. data/spec/dummy_app/tmp/capybara/capybara-20131227150615333567591.html +450 -0
  760. data/spec/dummy_app/tmp/capybara/capybara-201312271506599178616234.html +132 -0
  761. data/spec/dummy_app/tmp/capybara/capybara-201312271507017378535543.html +114 -0
  762. data/spec/dummy_app/tmp/capybara/capybara-201312271507357624937637.html +132 -0
  763. data/spec/dummy_app/tmp/capybara/capybara-20131227150741532676452.html +114 -0
  764. data/spec/dummy_app/tmp/capybara/capybara-20131227150820420044934.html +114 -0
  765. data/spec/dummy_app/tmp/capybara/capybara-201312271508259996452817.html +132 -0
  766. data/spec/dummy_app/tmp/capybara/capybara-201312271509203051781930.html +132 -0
  767. data/spec/dummy_app/tmp/capybara/capybara-201312271509248613318515.html +114 -0
  768. data/spec/dummy_app/tmp/capybara/capybara-201312271514294787082016.html +198 -0
  769. data/spec/dummy_app/tmp/capybara/capybara-201312271514297373677646.html +114 -0
  770. data/spec/dummy_app/tmp/capybara/capybara-201312271514318217955735.html +132 -0
  771. data/spec/dummy_app/tmp/capybara/capybara-201312271518353503870265.html +175 -0
  772. data/spec/dummy_app/tmp/capybara/capybara-201312271519099724216470.html +132 -0
  773. data/spec/dummy_app/tmp/capybara/capybara-201312271519124515598988.html +114 -0
  774. data/spec/dummy_app/tmp/capybara/capybara-201312271519565062036130.html +132 -0
  775. data/spec/dummy_app/tmp/capybara/capybara-20131227151956788730482.html +114 -0
  776. data/spec/dummy_app/tmp/capybara/capybara-201312271520596747460049.html +132 -0
  777. data/spec/dummy_app/tmp/capybara/capybara-201312271521071461923825.html +114 -0
  778. data/spec/dummy_app/tmp/capybara/capybara-201312271522043068145141.html +132 -0
  779. data/spec/dummy_app/tmp/capybara/capybara-201312271522046336876738.html +114 -0
  780. data/spec/dummy_app/tmp/capybara/capybara-201312271528279956840950.html +114 -0
  781. data/spec/dummy_app/tmp/capybara/capybara-201312271528309526479429.html +132 -0
  782. data/spec/dummy_app/tmp/capybara/capybara-201312271530093771347047.html +132 -0
  783. data/spec/dummy_app/tmp/capybara/capybara-201312271547306806749083.html +132 -0
  784. data/spec/dummy_app/tmp/capybara/capybara-201312271547354314836403.html +114 -0
  785. data/spec/integration/basic/bulk_edit/basepack_basic_bulk_edit_spec.rb +149 -0
  786. data/spec/integration/basic/create/basepack_basic_create_spec.rb +124 -0
  787. data/spec/integration/basic/destroy/basepack_basic_destroy_spec.rb +61 -0
  788. data/spec/integration/basic/edit/basepack_basic_edit_spec.rb +64 -0
  789. data/spec/integration/basic/list/basepack_basic_list_spec.rb +566 -0
  790. data/spec/integration/basic/list/basepack_bulk_actions_spec.rb +128 -0
  791. data/spec/integration/basic/merge/basepack_basic_merge_spec.rb +18 -0
  792. data/spec/integration/basic/new/basepack_basic_new_spec.rb +96 -0
  793. data/spec/integration/basic/show/basepack_basic_show_spec.rb +317 -0
  794. data/spec/integration/basic/update/basepack_basic_update_spec.rb +54 -0
  795. data/spec/spec_helper.rb +69 -0
  796. data/spec/support/basepack_helper.rb +66 -0
  797. data/spec/support/devise.rb +3 -0
  798. metadata +1794 -0
@@ -0,0 +1,225 @@
1
+ module Basepack
2
+ module Utils
3
+ def self.model_config(resource_class)
4
+ model_config = RailsAdmin.config(resource_class)
5
+ raise ArgumentError.new("Model #{resource_class.inspect} not known by RailsAdmin") unless model_config
6
+ raise ArgumentError.new("Model #{resource_class.inspect} excluded from RailsAdmin") if model_config.excluded?
7
+ model_config
8
+ end
9
+
10
+ def self.detect_models
11
+ ([Rails.application] + Rails::Engine::Railties.engines).map do |app|
12
+ app.paths['app/models'].to_a.map do |load_path|
13
+ Dir.glob(app.root.join(load_path)).map do |load_dir|
14
+ Dir.glob(load_dir + "/**/*.rb").map do |filename|
15
+ # app/models/module/class.rb => module/class.rb => module/class => Module::Class
16
+ filename.reverse.chomp("#{app.root.join(load_dir)}/".reverse).reverse.chomp('.rb').camelize
17
+ end
18
+ end
19
+ end
20
+ end.flatten
21
+ end
22
+
23
+ def self.query_from_params(scope, params, options = {})
24
+ config = options[:config] || model_config(scope.klass)
25
+ scope = paginate(query(scope, params, config), params)
26
+ filter(scope, params, config, options)
27
+ end
28
+
29
+ def self.filter(scope, params, config, options = {})
30
+ auth_object = options[:auth_object]
31
+ filter = params[:f].is_a?(Hash) ? params[:f] : {}
32
+ custom_filters = []
33
+ error = nil
34
+
35
+ if params[:ql].present?
36
+ begin
37
+ filter = filter.merge(FilterQL.new(options[:filterql_options]).parse(params[:ql]))
38
+ rescue FilterQL::ParseError => e
39
+ error = e.message
40
+ end
41
+ end
42
+
43
+ # default sorting
44
+ #
45
+ if filter[:s].blank? and config.query.sort_by
46
+ sort_by = config.query.sort_by.to_sym
47
+ if field = config.query.fields.find {|f| f.name == sort_by }
48
+ columns = field_sortable_columns(field)
49
+ if columns.present?
50
+ filter = filter.merge(s: Hash[columns.map.with_index do |c, i|
51
+ [ i.to_s, { name: c[0], dir: c[1] ^ config.query.sort_reverse? ? 'desc' : 'asc' } ]
52
+ end])
53
+ end
54
+ end
55
+ end
56
+
57
+ # custom filters
58
+ #
59
+ filter.each do |k, v|
60
+ if k == "c"
61
+ # {"c"=>{"28054"=>{"a"=>{"0"=>{"name"=>"tag"}}, "p"=>"cont", "v"=>{"0"=>{"value"=>"test"}}}}}
62
+ #
63
+ v.each_value do |cond|
64
+ f = [cond["a"]["0"]["name"], cond["p"] || 'eq', cond["v"].try(:[], "0").try(:[], "value")]
65
+ method = cond["p"] ? "filter_#{f[0]}_#{f[1]}" : "filter_#{f[0]}"
66
+ if scope.klass.respond_to? method
67
+ scope = scope.klass.send(method, scope, f[2], auth_object)
68
+ custom_filters << f
69
+ end
70
+ end
71
+ elsif k =~ /\A(.*)_((?:(?:does_)?not_)?[a-z]+)\z/
72
+ atr = $1
73
+ predicate = $2
74
+ method = "filter_#{k}".sub(/_eq\z/, '')
75
+ if scope.klass.respond_to? method
76
+ scope = scope.klass.send(method, scope, v, auth_object)
77
+ custom_filters << [atr, predicate, v]
78
+ end
79
+ end
80
+ end
81
+
82
+ resource_filter = scope.ransack(filter, search_key: :f, auth_object: auth_object)
83
+ resource_filter.errors[:base] = [error] if error
84
+ resource_filter.custom_filters = custom_filters
85
+ scope = resource_filter.result(distinct: true)
86
+ [resource_filter, scope]
87
+ end
88
+
89
+ def self.paginate(scope, params)
90
+ scope = scope.page(params[:page].presence || 1)
91
+ scope = scope.per(params[:per].presence) if params[:per].presence
92
+ scope
93
+ end
94
+
95
+ def self.query(scope, params, config)
96
+ query = params[:query]
97
+
98
+ if query.present?
99
+ or_arel = []
100
+ model = config.abstract_model.model
101
+ object = nil
102
+ dquery = query.downcase
103
+
104
+ if model.respond_to?(:default_query)
105
+ return scope.merge(model.send(:default_query, query))
106
+ end
107
+
108
+ config.query.fields.select(&:queryable?).map do |field|
109
+ field.searchable_columns.each do |column_infos|
110
+ column = model.arel_table[column_infos[:column][/([^.]+)$/, 1].to_sym]
111
+
112
+ case column_infos[:type]
113
+ when :integer
114
+ begin
115
+ or_arel << column.eq(Integer(query))
116
+ rescue ArgumentError
117
+ end
118
+ when :decimal, :float
119
+ begin
120
+ or_arel << column.eq(Float(query))
121
+ rescue ArgumentError
122
+ end
123
+ when :string, :text
124
+ or_arel << column.matches("%#{query}%")
125
+ when :boolean
126
+ if Ransack::Constants::TRUE_VALUES.include? query
127
+ or_arel << column.eq(true)
128
+ elsif Ransack::Constants::FALSE_VALUES.include? query
129
+ or_arel << column.eq(false)
130
+ end
131
+ when :date
132
+ begin
133
+ or_arel << column.eq(Time.zone.parse(query).to_date)
134
+ rescue ArgumentError, NoMethodError
135
+ end
136
+ when :datetime, :timestamp
137
+ begin
138
+ date = Time.zone.parse(query).to_datetime
139
+ if date.midnight - date == 0
140
+ or_arel << column.gteq(date).and(column.lt(date.advance(:days => 1)))
141
+ elsif date.sec_fraction == 0
142
+ if date.sec == 0
143
+ or_arel << column.gteq(date).and(column.lt(date.advance(:minutes => 1)))
144
+ else
145
+ or_arel << column.gteq(date).and(column.lt(date.advance(:seconds => 1)))
146
+ end
147
+ else
148
+ or_arel << column.eq(date)
149
+ end
150
+ rescue ArgumentError, NoMethodError
151
+ end
152
+ when :enum
153
+ values = nil
154
+ if model.respond_to? :enumerized_attributes
155
+ # enumerize
156
+ if enum_attrs = model.enumerized_attributes[column.name]
157
+ values = enum_attrs.values.map do |e_val|
158
+ e_val.value if e_val == query or e_val.value == query or e_val.text.downcase.include?(dquery)
159
+ end.compact
160
+ end
161
+ else
162
+ enum_method = "#{column.name}_enum"
163
+ if model.respond_to?(enum_method)
164
+ options = model.send(enum_method)
165
+ else
166
+ object ||= model.new
167
+ options = object.try(enum_method)
168
+ end
169
+ values = options.map do |o|
170
+ o[1] if o[0].to_s.downcase.include?(dquery) or o[1].to_s.downcase.include?(dquery)
171
+ end.compact if options
172
+ end
173
+ or_arel << column.in(values) if values.present?
174
+ end
175
+ end
176
+ end
177
+
178
+ scope = or_arel.present? ? scope.where(or_arel.map {|a| a.to_sql}.join(' OR ')) : scope.where("0") # none
179
+ end
180
+
181
+ scope
182
+ end
183
+
184
+ def self.field_sortable_columns(field)
185
+ sort_reverse = field.sort_reverse
186
+ Array.wrap(field.sortable).map do |sort|
187
+ if sort == true
188
+ # use field for sorting
189
+ [ field.name.to_s, sort_reverse ]
190
+ elsif sort == false
191
+ # asked field is not sortable
192
+ nil
193
+ elsif (sort.is_a?(String) || sort.is_a?(Symbol)) and sort.to_s.include?('.')
194
+ # just provide sortable, don't do anything smart
195
+ [ sort.to_s, sort_reverse ]
196
+ elsif sort.is_a?(Hash)
197
+ # just join sortable hash, don't do anything smart
198
+ [ "#{sort.keys.first}_#{sort.values.first}", sort_reverse ]
199
+ else
200
+ if sort.is_a? Array
201
+ sort, order = sort
202
+ else
203
+ order = sort_reverse
204
+ end
205
+ [
206
+ field.association? ? "#{field.associated_model_config.abstract_model.table_name}_#{sort}" : sort.to_s,
207
+ order
208
+ ]
209
+ end
210
+ end.compact
211
+ end
212
+
213
+ def self.translate(resource, action, subaction = '')
214
+ resource_class = (Class === resource) ? resource : resource.class
215
+ model_name = resource_class.model_name.singular
216
+ lookups = []
217
+ lookups << :"basepack.forms.#{model_name}.#{action}.#{subaction}"
218
+ lookups << :"basepack.actions.#{action}.#{subaction}"
219
+ lookups << :"admin.actions.#{action}.#{subaction}"
220
+
221
+ I18n.t(lookups.shift, default: lookups).presence
222
+ end
223
+ end
224
+ end
225
+
@@ -0,0 +1,3 @@
1
+ module Basepack
2
+ VERSION = "0.0.2".freeze
3
+ end
data/lib/basepack.rb ADDED
@@ -0,0 +1,215 @@
1
+ require "basepack/engine"
2
+ require 'basepack/version'
3
+ require 'basepack/sections/query'
4
+ require 'basepack/sections/import'
5
+ require 'basepack/sections/bulk_edit'
6
+
7
+ module Basepack
8
+ def self.setup
9
+
10
+ Array.class_eval do
11
+ def to_csv(schema = {}, options = {})
12
+ if all? {|o| o.respond_to?(:to_csv)}
13
+ map {|o| o.to_csv(schema, options) }.join
14
+ else
15
+ CSV.generate_line(self, options.reverse_merge(encoding: 'UTF-8'))
16
+ end
17
+ end
18
+ end
19
+
20
+ ActiveRecord::Base.class_eval do
21
+ def to_label
22
+ send(Basepack::Settings.to_label_methods.find {|m| respond_to?(m)} || :to_s)
23
+ end
24
+
25
+ def to_details_label
26
+ @view ||= begin
27
+ view = ActionView::Base.new(ActionController::Base.view_paths, {})
28
+ view.extend ApplicationHelper
29
+ view
30
+ end
31
+ begin
32
+ @view.render(partial: "#{self.class.model_name.route_key}/details_label", layout: false, locals: { resource: self } ).html_safe
33
+ rescue ActionView::MissingTemplate
34
+ to_label
35
+ end
36
+ end
37
+
38
+ def labelize(&block)
39
+ if new_record?
40
+ ""
41
+ else
42
+ yield.to_s.truncate(40, :separator => ' ')
43
+ end
44
+ end
45
+
46
+ def to_csv(schema = {}, options = {})
47
+ schema = { include_root_in_json: false }.reverse_merge!(schema)
48
+ values = Basepack.map_value_csv(as_json(schema))
49
+ CSV.generate_line(values, options.reverse_merge(encoding: 'UTF-8'))
50
+ end
51
+
52
+ #def self.ransackable_attributes(auth_object = nil)
53
+ # authorizer = active_authorizer[:default]
54
+ # super(auth_object).reject {|a| a != 'id' && authorizer.deny?(a)}
55
+ #end
56
+
57
+ #def self.ransackable_associations(auth_object = nil)
58
+ # authorizer = active_authorizer[:default]
59
+ # super(auth_object).reject {|a| authorizer.deny?("#{a}_id") && authorizer.deny?("#{a}_attributes")}
60
+ #end
61
+ end
62
+
63
+ ActionController::Renderers.add :csv do |obj, options|
64
+ filename = options[:filename] || 'data'
65
+ str = obj.respond_to?(:to_csv) ? obj.to_csv : obj.to_s
66
+ send_data str, :type => Mime::CSV, :disposition => "attachment; filename=#{filename}.csv"
67
+ end
68
+
69
+ if defined? Ransack
70
+ Ransack::Search.class_eval do
71
+ def errors
72
+ @errors_patch ||= {}
73
+ end
74
+
75
+ attr_accessor :custom_filters
76
+ end
77
+ end
78
+
79
+ if defined? RailsAdmin
80
+ RailsAdmin::Config::Fields::Association.class_eval do
81
+ alias pretty_value! pretty_value
82
+
83
+ register_instance_option :pretty_value do
84
+ if RailsAdmin::ApplicationController === bindings[:controller]
85
+ pretty_value!
86
+ else
87
+ bindings[:view].form_field_show_association(self)
88
+ end
89
+ end
90
+
91
+ register_instance_option :options_source do
92
+ begin
93
+ bindings[:view].url_for([:options, associated_model_config.abstract_model.model])
94
+ rescue
95
+ Rails.logger.debug <<-MESSAGE.strip_heredoc
96
+
97
+
98
+ [Basepack] Please add routes for '#{associated_model_config.abstract_model.model}' - url_for([:options, #{associated_model_config.abstract_model.model}]) failed
99
+
100
+ MESSAGE
101
+ "/#{associated_model_config.abstract_model.model.name.parameterize}-options-url-not-exists"
102
+ end
103
+ end
104
+
105
+ register_instance_option :options_source_params do
106
+ {}
107
+ end
108
+
109
+ register_instance_option :partial_show do
110
+ nil
111
+ end
112
+ end
113
+
114
+ RailsAdmin::Config::Sections::List.class_eval do
115
+ register_instance_option :bulk_actions do
116
+ false
117
+ end
118
+ end
119
+
120
+ RailsAdmin::Config::Fields::Base.class_eval do
121
+ alias export_value! export_value
122
+
123
+ register_instance_option :export_value do
124
+ formatted_value
125
+ end
126
+ end
127
+
128
+ RailsAdmin::Config::Fields::Types::Datetime.class_eval do
129
+ alias export_value! export_value
130
+
131
+ register_instance_option :export_value do
132
+ unless (time = value).nil?
133
+ I18n.l(time, format: "%d.%m.%Y %T")
134
+ else
135
+ ""
136
+ end
137
+ end
138
+
139
+ register_instance_option :bulk_edit_partial do
140
+ nil
141
+ end
142
+ end
143
+
144
+ RailsAdmin::Config::Fields::Types::Time.class_eval do
145
+ register_instance_option :export_value do
146
+ export_value!
147
+ end
148
+ end
149
+
150
+ #RailsAdmin::Config::Fields::Types::Enum.class_eval do
151
+ # register_instance_option :pretty_value do
152
+ # v = bindings[:object].send(name)
153
+ # v ? v.text : ' - '
154
+ # end
155
+ #end
156
+
157
+ #RailsAdmin::Adapters::ActiveRecord.class_eval do
158
+ # private
159
+
160
+ # alias build_statement! build_statement
161
+
162
+ # def build_statement(column, type, value, operator)
163
+ # result = build_statement!(column, type, value, operator)
164
+ # return unless result.present?
165
+
166
+ # case type
167
+ # when :enum
168
+ # if operator == '_blank' || value == '_blank'
169
+ # result = ["(#{column} IS NULL)"]
170
+ # elsif operator == '_present' || value == '_present'
171
+ # result = ["(#{column} IS NOT NULL)"]
172
+ # else
173
+ # in_values = {}
174
+ #
175
+ # if enum_attrs = model.enumerized_attributes[column[/([^.]+)$/, 1].to_sym]
176
+ # enum_values = enum_attrs.values
177
+
178
+ # values = Array.wrap(value).each do |val|
179
+ # enum_values.each do |e_val|
180
+ # if e_val == val or e_val.value == val or e_val.text.downcase.include?(val.downcase)
181
+ # in_values[e_val.value] = true
182
+ # end
183
+ # end
184
+ # end
185
+ # end
186
+
187
+ # result = in_values.empty? ? nil : ["(#{column} IN (?))", in_values.keys]
188
+ # end
189
+ # end
190
+
191
+ # return result
192
+ # end
193
+ #end
194
+ end
195
+ end
196
+
197
+ def self.map_value_csv(value)
198
+ case value
199
+ when Hash
200
+ value.map {|k, v| map_value_csv(v) }.flatten
201
+ when Array
202
+ arr = value.map {|v| Array.wrap(map_value_csv(v)) }
203
+ arr.empty? ? arr : arr.first.zip(*arr[1..-1]).map {|a| a.join(',')}
204
+ else
205
+ value
206
+ end
207
+ end
208
+
209
+ class Railtie < ::Rails::Railtie
210
+ config.app_generators.template_engine :basepack
211
+ config.app_generators.resource_route :basepack_resource_route
212
+ config.app_generators.scaffold_controller :basepack_controller
213
+ end
214
+
215
+ end
@@ -0,0 +1,185 @@
1
+ module Basepack
2
+ module Generators
3
+ class InstallGenerator < ::Rails::Generators::Base
4
+ include Rails::Generators::Migration
5
+ source_root File.expand_path("../templates", __FILE__)
6
+
7
+ desc "Creates a Basepack initializer and copy locale files to your application."
8
+
9
+ def self.next_migration_number(path)
10
+ if ActiveRecord::Base.timestamped_migrations
11
+ sleep 1 # make sure each time we get a different timestamp
12
+ Time.new.utc.strftime("%Y%m%d%H%M%S")
13
+ else
14
+ "%.3d" % (current_migration_number(path) + 1)
15
+ end
16
+ end
17
+
18
+ def add_assets
19
+ js_manifest = 'app/assets/javascripts/application.js'
20
+ if File.exist?(js_manifest)
21
+ insert_into_file js_manifest, "//= require jquery\n", :before => "\n//= require"
22
+ insert_into_file js_manifest, "//= require basepack\n", :after => "jquery_ujs\n"
23
+ insert_into_file js_manifest, "//= require jquery.turbolinks\n", :after => "jquery\n"
24
+ else
25
+ copy_file "application.js", js_manifest
26
+ end
27
+
28
+ css_manifest = 'app/assets/stylesheets/application.css'
29
+ scss_manifest = 'app/assets/stylesheets/application.css.scss'
30
+ if File.exist?(css_manifest)
31
+ content = File.read(css_manifest)
32
+ insert_into_file css_manifest, " *= require basepack\n *= require basepack_and_overrides\n", :after => "require_self\n"
33
+ copy_file "basepack_and_overrides.css", "app/assets/stylesheets/basepack_and_overrides.css"
34
+ elsif File.exists?(scss_manifest)
35
+ content = File.read(scss_manifest)
36
+ append_file scss_manifest, '@import "basepack";'
37
+ append_file scss_manifest, '@import "basepack_and_overrides";'
38
+ copy_file "basepack_and_overrides.css", "app/assets/stylesheets/basepack_and_overrides.css"
39
+ else
40
+ copy_file "application.css.scss", "app/assets/stylesheets/application.css.scss"
41
+ end
42
+ end
43
+
44
+ def check_cancan
45
+ if !defined?(Devise) and yes?("Would you like to install CanCan?")
46
+ gem 'cancan'
47
+ generate "cancan:ability"
48
+ end
49
+ end
50
+
51
+ def check_devise
52
+ #othervise error: undefined local variable or method `current_user'
53
+ if !defined?(CanCan) and yes?("Would you like to install Devise?")
54
+ gem "devise"
55
+ generate "devise:install"
56
+ model_name = ask("What would you like the user model to be called? [user]")
57
+ model_name = "user" if model_name.blank?
58
+ generate "devise", model_name
59
+ end
60
+ end
61
+
62
+ def add_dependant_gems
63
+ gem 'jquery-turbolinks'
64
+ gem 'inherited_resources', '~> 1.4.1'
65
+ gem 'ransack', '~> 1.0'
66
+ gem 'kaminari'
67
+ gem "simple_form", '~> 3.0.0.rc'
68
+ gem 'settingslogic'
69
+ gem "twitter-bootstrap-rails"
70
+ gem 'bootbox-rails'
71
+
72
+
73
+ #needed for imports
74
+ gem 'rack-cache', :require => 'rack/cache'
75
+ gem 'dragonfly' # images
76
+ gem 'delayed_job_active_record', ">= 4.0.0.beta2"
77
+
78
+
79
+ #used in filters
80
+ gem "strip_attributes", "~> 1.2"
81
+ end
82
+
83
+ def copy_files
84
+ template "basepack-settings.yml", "config/basepack-settings.yml"
85
+ copy_file "../../../../config/locales/en.yml", "config/locales/basepack.en.yml"
86
+ directory 'layouts', 'app/views/layouts/'
87
+ copy_file "resources_controller.rb", "app/controllers/resources_controller.rb"
88
+
89
+ app_file = 'app/views/layouts/application.html.erb'
90
+ if File.exists?(app_file) and yes?("Can I remove #{app_file}?")
91
+ run("rm #{app_file}")
92
+ end
93
+
94
+ insert_into_file 'config/routes.rb', :after => "draw do\n" do <<-'RUBY'
95
+ concern :resourcable do
96
+ get 'options', :on => :collection
97
+ get 'query', :on => :collection
98
+ post 'query', :on => :collection
99
+ get 'export', :on => :collection
100
+ post 'export', :on => :collection
101
+ get 'import', :on => :collection
102
+ post 'import', :on => :collection
103
+ patch 'import', :on => :collection
104
+ delete 'import', :on => :collection
105
+ delete 'bulk_delete', :on => :collection
106
+
107
+ get 'filters', :on => :collection
108
+ get 'taggings', :on => :collection
109
+ #patch 'list_columns', :on => :collection
110
+ #put 'list_columns', :on => :collection
111
+
112
+ get 'bulk_edit', on: :collection
113
+ patch 'bulk_update', on: :collection
114
+ post 'bulk_update', on: :collection
115
+ end
116
+
117
+ resources :filters, concerns: :resourcable
118
+
119
+ # Uncomment if you are going to use tags (you also need get "acts-as-taggable-on")
120
+ #
121
+ # resources :acts_as_taggable_on_tags, concerns: :resourcable
122
+
123
+ # Exampe of controller which merge action:
124
+ #
125
+ # resources :customers do
126
+ # get 'diff/:id2', on: :member, to: :diff, as: :diff #for showing a diff page
127
+ # post 'merge/:id2', on: :member, to: :merge, as: :merge #for mege action
128
+ # end
129
+
130
+ RUBY
131
+ end
132
+ end
133
+
134
+ def rails_admin_init_script
135
+ rails_admin_cfg_file = 'config/initializers/rails_admin.rb'
136
+ if File.exist?(rails_admin_cfg_file)
137
+ insert_into_file rails_admin_cfg_file, " config.included_models = Basepack::Utils.detect_models #+ ['ActsAsTaggableOn::Tag', 'Delayed::Job']\n", :before => "end\n"
138
+ else
139
+ copy_file "rails_admin.rb", rails_admin_cfg_file
140
+ end
141
+ end
142
+
143
+ def create_imports
144
+ #TODO - should I ask whether generate?
145
+ copy_migrate 'create_imports'
146
+ copy_migrate 'create_imports_importables_join_table'
147
+ copy_file 'import.rb', 'app/models/import.rb'
148
+
149
+ copy_file 'dragonfly.rb', 'config/initializers/dragonfly.rb'
150
+ end
151
+
152
+ def create_saved_filters
153
+ #TODO - should I ask whether generate?
154
+ copy_migrate 'create_filters'
155
+ copy_file 'filter.rb', 'app/models/filter.rb'
156
+ copy_file 'filters_controller.rb', 'app/controllers/filters_controller.rb'
157
+
158
+ ability_model_file = 'app/models/ability.rb'
159
+ if File.exists?(ability_model_file)
160
+ insert_into_file ability_model_file, " can :read, Filter\n can :manage, Filter, :user_id => user.id if user\n", :after => "def initialize(user)\n"
161
+ end
162
+ user_model_file = 'app/models/user.rb'
163
+ if File.exists?(user_model_file)
164
+ insert_into_file user_model_file, " has_many :filters, inverse_of: :user", :after => "class User < ActiveRecord::Base\n"
165
+ end
166
+ end
167
+
168
+
169
+ #def show_readme
170
+ # readme "README" if behavior == :invoke
171
+ #end
172
+
173
+ private
174
+
175
+ def copy_migrate(filename)
176
+ if self.class.migration_exists?("db/migrate", "#{filename}")
177
+ say_status("skipped", "Migration #{filename}.rb already exists")
178
+ else
179
+ migration_template "migrations/#{filename}.rb", "db/migrate/#{filename}.rb"
180
+ end
181
+ end
182
+
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,12 @@
1
+ require 'rails/generators/erb/scaffold/scaffold_generator'
2
+
3
+ module Basepack
4
+ module Generators
5
+ class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
6
+
7
+ def copy_view_files
8
+ end
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ */
13
+
14
+ @import "basepack";
15
+
@@ -0,0 +1,20 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require jquery
14
+ //= require jquery.turbolinks
15
+ //= require jquery_ujs
16
+ //= require basepack
17
+ // #= require bootstrap-wysihtml5
18
+ // #= require bootstrap-wysihtml5/locales
19
+ //= require turbolinks
20
+ //= require_tree .
@@ -0,0 +1,15 @@
1
+ defaults: &defaults
2
+ to_label_methods: [name, title]
3
+ help:
4
+ title: false
5
+ filters:
6
+ model_name: Filter
7
+
8
+ development:
9
+ <<: *defaults
10
+
11
+ test:
12
+ <<: *defaults
13
+
14
+ production:
15
+ <<: *defaults