underworld 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. checksums.yaml +7 -0
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/LICENSE +339 -0
  5. data/Rakefile +48 -0
  6. data/app/assets/fonts/DroidNaskh-Bold.ttf +0 -0
  7. data/app/assets/fonts/DroidNaskh-Regular.ttf +0 -0
  8. data/app/assets/fonts/OpenSans-Bold.ttf +0 -0
  9. data/app/assets/fonts/OpenSans-BoldItalic.ttf +0 -0
  10. data/app/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  11. data/app/assets/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  12. data/app/assets/fonts/OpenSans-Italic.ttf +0 -0
  13. data/app/assets/fonts/OpenSans-Light.ttf +0 -0
  14. data/app/assets/fonts/OpenSans-LightItalic.ttf +0 -0
  15. data/app/assets/fonts/OpenSans-Regular.ttf +0 -0
  16. data/app/assets/fonts/OpenSans-Semibold.ttf +0 -0
  17. data/app/assets/fonts/OpenSans-SemiboldItalic.ttf +0 -0
  18. data/app/assets/images/underworld/select2-spinner.gif +0 -0
  19. data/app/assets/images/underworld/select2.png +0 -0
  20. data/app/assets/images/underworld/select2x2.png +0 -0
  21. data/app/assets/javascripts/underworld/application.js +16 -0
  22. data/app/assets/javascripts/underworld/dashboard/application.js.erb +30 -0
  23. data/app/assets/javascripts/underworld/dashboard/functions.js.erb +50 -0
  24. data/app/assets/javascripts/underworld/dashboard/init.js.coffee +33 -0
  25. data/app/assets/javascripts/underworld/dashboard/lib/actions.js +7 -0
  26. data/app/assets/javascripts/underworld/dashboard/lib/amd.js.coffee.erb +0 -0
  27. data/app/assets/javascripts/underworld/dashboard/lib/flash_message.js +71 -0
  28. data/app/assets/javascripts/underworld/dashboard/lib/locale.js +14 -0
  29. data/app/assets/javascripts/underworld/dashboard/lib/misc.js +5 -0
  30. data/app/assets/javascripts/underworld/dashboard/lib/string.js +3 -0
  31. data/app/assets/javascripts/underworld/dashboard/lib/ujs_patches.js.coffee +28 -0
  32. data/app/assets/javascripts/underworld/dashboard/manifest.js +5 -0
  33. data/app/assets/javascripts/underworld/dashboard/variables.js.erb +6 -0
  34. data/app/assets/javascripts/underworld/groups.js +2 -0
  35. data/app/assets/javascripts/underworld/home.js +2 -0
  36. data/app/assets/javascripts/underworld/i18n.js +13 -0
  37. data/app/assets/javascripts/underworld/simple.js +20 -0
  38. data/app/assets/javascripts/underworld/users.js +2 -0
  39. data/app/assets/stylesheets/underworld/dashboard/loadindicator.scss +17 -0
  40. data/app/assets/stylesheets/underworld/dashboard/ltr/application.css +38 -0
  41. data/app/assets/stylesheets/underworld/dashboard/ltr/base.css.scss +0 -0
  42. data/app/assets/stylesheets/underworld/dashboard/rtl/application.css +11 -0
  43. data/app/assets/stylesheets/underworld/dashboard/rtl/base.css.scss +0 -0
  44. data/app/assets/stylesheets/underworld/dashboard/share.scss +62 -0
  45. data/app/assets/stylesheets/underworld/dashboard/variables.scss +9 -0
  46. data/app/assets/stylesheets/underworld/ltr/application.css +0 -0
  47. data/app/assets/stylesheets/underworld/rtl/application.css +0 -0
  48. data/app/assets/stylesheets/underworld/simple/ltr/application.css +2 -0
  49. data/app/assets/stylesheets/underworld/simple/rtl/application.css +2 -0
  50. data/app/assets/stylesheets/underworld/simple/rtl/rtl.scss +16 -0
  51. data/app/assets/stylesheets/underworld/simple/share.scss +11 -0
  52. data/app/controllers/underworld/api_controller.rb +133 -0
  53. data/app/controllers/underworld/application_controller.rb +16 -0
  54. data/app/controllers/underworld/assets_controller.rb +6 -0
  55. data/app/controllers/underworld/dashboard/application_controller.rb +43 -0
  56. data/app/controllers/underworld/dashboard/groups_controller.rb +85 -0
  57. data/app/controllers/underworld/dashboard/profile_controller.rb +49 -0
  58. data/app/controllers/underworld/dashboard/user_messages_controller.rb +27 -0
  59. data/app/controllers/underworld/dashboard/users_controller.rb +116 -0
  60. data/app/controllers/underworld/dashboard_controller.rb +16 -0
  61. data/app/controllers/underworld/omniauth/callbacks_controller.rb +24 -0
  62. data/app/helpers/underworld/application_helper.rb +4 -0
  63. data/app/helpers/underworld/dashboard_helper.rb +107 -0
  64. data/app/helpers/underworld/groups_helper.rb +4 -0
  65. data/app/helpers/underworld/home_helper.rb +4 -0
  66. data/app/helpers/underworld/users_helper.rb +8 -0
  67. data/app/models/application_record.rb +3 -0
  68. data/app/models/underworld/concerns/assignment.rb +16 -0
  69. data/app/models/underworld/concerns/user/auth_definitions.rb +87 -0
  70. data/app/models/underworld/concerns/user/gravatar.rb +11 -0
  71. data/app/models/underworld/concerns/user/mongoid_fields.rb +81 -0
  72. data/app/models/underworld/concerns/user/permission.rb +47 -0
  73. data/app/models/underworld/concerns/user/user_roles.rb +24 -0
  74. data/app/models/underworld/group.rb +57 -0
  75. data/app/models/underworld/permission.rb +43 -0
  76. data/app/models/underworld/user.rb +81 -0
  77. data/app/models/underworld/user_message.rb +6 -0
  78. data/app/policies/underworld/admin_only_policy.rb +66 -0
  79. data/app/policies/underworld/application_policy.rb +55 -0
  80. data/app/policies/underworld/group_policy.rb +8 -0
  81. data/app/policies/underworld/user_message_policy.rb +9 -0
  82. data/app/policies/underworld/user_policy.rb +9 -0
  83. data/app/views/angular/auth/groups/details.html +2 -0
  84. data/app/views/angular/auth/groups/index.html +2 -0
  85. data/app/views/angular/auth/groups/new.html +2 -0
  86. data/app/views/angular/auth/index.html +30 -0
  87. data/app/views/angular/auth/profile/edit.html +54 -0
  88. data/app/views/angular/auth/users/details.html +28 -0
  89. data/app/views/angular/auth/users/index.html +6 -0
  90. data/app/views/angular/auth/users/new.html +57 -0
  91. data/app/views/angular/conversations/details.html +19 -0
  92. data/app/views/angular/conversations/index.html +13 -0
  93. data/app/views/angular/conversations/new.html +39 -0
  94. data/app/views/angular/conversations/show.html +6 -0
  95. data/app/views/angular/conversations/show_details.html +15 -0
  96. data/app/views/angular/fields/boolean/boolean.html +4 -0
  97. data/app/views/angular/fields/control-combo/control-list.html +19 -0
  98. data/app/views/angular/fields/datetime/datetime.html +10 -0
  99. data/app/views/angular/fields/datetime/time.html +25 -0
  100. data/app/views/angular/fields/file/file.html.slim +0 -0
  101. data/app/views/angular/fields/float/float.html +4 -0
  102. data/app/views/angular/fields/image/image.html +1 -0
  103. data/app/views/angular/fields/integer/integer.html +4 -0
  104. data/app/views/angular/fields/relation/relation.html +44 -0
  105. data/app/views/angular/fields/string/string.html +22 -0
  106. data/app/views/angular/fields/tag/tag.html +1 -0
  107. data/app/views/angular/fields/text/text.html +4 -0
  108. data/app/views/angular/filter/index.html +15 -0
  109. data/app/views/angular/index.html +3 -0
  110. data/app/views/angular/locale/fa.po +25 -0
  111. data/app/views/angular/locale/templates.pot +24 -0
  112. data/app/views/angular/logs/index.html +6 -0
  113. data/app/views/angular/modules.html +0 -0
  114. data/app/views/angular/nav.html.erb +39 -0
  115. data/app/views/angular/underworld/views/generic_add_view.html.slim +5 -0
  116. data/app/views/devise/registrations/edit.html.erb +29 -0
  117. data/app/views/devise/registrations/new.html.erb +38 -0
  118. data/app/views/devise/sessions/new.html.erb +37 -0
  119. data/app/views/devise/shared/_links.erb +19 -0
  120. data/app/views/devise/shared/_omni_link.erb +33 -0
  121. data/app/views/kaminari/_first_page.html.slim +3 -0
  122. data/app/views/kaminari/_gap.html.slim +2 -0
  123. data/app/views/kaminari/_last_page.html.slim +3 -0
  124. data/app/views/kaminari/_next_page.html.slim +3 -0
  125. data/app/views/kaminari/_page.html.slim +3 -0
  126. data/app/views/kaminari/_paginator.html.slim +13 -0
  127. data/app/views/kaminari/_prev_page.html.slim +3 -0
  128. data/app/views/layouts/underworld/application.html.erb +79 -0
  129. data/app/views/layouts/underworld/dashboard.html.erb +52 -0
  130. data/app/views/layouts/underworld/simple.html.erb +27 -0
  131. data/app/views/underworld/api/v1/conversations/create.json.jbuilder +1 -0
  132. data/app/views/underworld/api/v1/conversations/destroy.json.jbuilder +1 -0
  133. data/app/views/underworld/api/v1/conversations/index.json.jbuilder +1 -0
  134. data/app/views/underworld/api/v1/conversations/reply.json.jbuilder +1 -0
  135. data/app/views/underworld/api/v1/conversations/show.json.jbuilder +14 -0
  136. data/app/views/underworld/api/v1/conversations/trash.json.jbuilder +1 -0
  137. data/app/views/underworld/api/v1/groups/create.json.jbuilder +4 -0
  138. data/app/views/underworld/api/v1/groups/destroy.html.erb +2 -0
  139. data/app/views/underworld/api/v1/groups/destroy.json.jbuilder +1 -0
  140. data/app/views/underworld/api/v1/groups/edit.html.erb +2 -0
  141. data/app/views/underworld/api/v1/groups/index.html.erb +2 -0
  142. data/app/views/underworld/api/v1/groups/index.json.jbuilder +6 -0
  143. data/app/views/underworld/api/v1/groups/new.html.erb +2 -0
  144. data/app/views/underworld/api/v1/groups/show.html.erb +2 -0
  145. data/app/views/underworld/api/v1/groups/show.json.jbuilder +5 -0
  146. data/app/views/underworld/api/v1/groups/update.json.jbuilder +4 -0
  147. data/app/views/underworld/api/v1/logs/index.json.jbuilder +1 -0
  148. data/app/views/underworld/api/v1/permissions/index.json.jbuilder +1 -0
  149. data/app/views/underworld/api/v1/permissions/user_permissions.json.jbuilder +1 -0
  150. data/app/views/underworld/api/v1/users/create.html.erb +2 -0
  151. data/app/views/underworld/api/v1/users/create.json.jbuilder +1 -0
  152. data/app/views/underworld/api/v1/users/destroy.json.jbuilder +1 -0
  153. data/app/views/underworld/api/v1/users/distroy.html.erb +2 -0
  154. data/app/views/underworld/api/v1/users/edit.html.erb +2 -0
  155. data/app/views/underworld/api/v1/users/index.html.erb +2 -0
  156. data/app/views/underworld/api/v1/users/index.json.jbuilder +4 -0
  157. data/app/views/underworld/api/v1/users/show.html.erb +2 -0
  158. data/app/views/underworld/api/v1/users/show.json.jbuilder +2 -0
  159. data/app/views/underworld/api/v1/users/update.json.jbuilder +1 -0
  160. data/app/views/underworld/dashboard/groups/_form.html.slim +68 -0
  161. data/app/views/underworld/dashboard/groups/create.js.erb +3 -0
  162. data/app/views/underworld/dashboard/groups/edit.html.slim +3 -0
  163. data/app/views/underworld/dashboard/groups/errors.js.erb +3 -0
  164. data/app/views/underworld/dashboard/groups/index.html.slim +47 -0
  165. data/app/views/underworld/dashboard/groups/new.html.slim +2 -0
  166. data/app/views/underworld/dashboard/groups/update.js.erb +3 -0
  167. data/app/views/underworld/dashboard/index.html.erb +0 -0
  168. data/app/views/underworld/dashboard/login_required_page.html.erb +5 -0
  169. data/app/views/underworld/dashboard/not_found.html.slim +9 -0
  170. data/app/views/underworld/dashboard/not_found.js.erb +1 -0
  171. data/app/views/underworld/dashboard/profile/_form.html.erb +33 -0
  172. data/app/views/underworld/dashboard/profile/_profile_form.html.erb +33 -0
  173. data/app/views/underworld/dashboard/profile/create.js.erb +3 -0
  174. data/app/views/underworld/dashboard/profile/edit.html.erb +2 -0
  175. data/app/views/underworld/dashboard/profile/edit_password.html.erb +2 -0
  176. data/app/views/underworld/dashboard/profile/errors.js.erb +3 -0
  177. data/app/views/underworld/dashboard/resource/_form.html.slim +33 -0
  178. data/app/views/underworld/dashboard/resource/_input.html.slim +3 -0
  179. data/app/views/underworld/dashboard/resource/create.js.erb +3 -0
  180. data/app/views/underworld/dashboard/resource/destroy.js.erb +2 -0
  181. data/app/views/underworld/dashboard/resource/edit.html.slim +3 -0
  182. data/app/views/underworld/dashboard/resource/index.html.slim +60 -0
  183. data/app/views/underworld/dashboard/resource/new.html.slim +2 -0
  184. data/app/views/underworld/dashboard/resource/show.html.slim +22 -0
  185. data/app/views/underworld/dashboard/resource/update.js.erb +3 -0
  186. data/app/views/underworld/dashboard/shared/_content_header.html.slim +15 -0
  187. data/app/views/underworld/dashboard/shared/_control_sidebar.html.slim +50 -0
  188. data/app/views/underworld/dashboard/shared/_footer.html.slim +7 -0
  189. data/app/views/underworld/dashboard/shared/_header.html.erb +98 -0
  190. data/app/views/underworld/dashboard/shared/_sidebar.html.erb +69 -0
  191. data/app/views/underworld/dashboard/shared/_toolbar.html.slim +0 -0
  192. data/app/views/underworld/dashboard/shared/errors.js.erb +3 -0
  193. data/app/views/underworld/dashboard/user_messages/_form.html.slim +0 -0
  194. data/app/views/underworld/dashboard/user_messages/create.js.erb +0 -0
  195. data/app/views/underworld/dashboard/user_messages/destroy.js.erb +0 -0
  196. data/app/views/underworld/dashboard/user_messages/new.html.slim +72 -0
  197. data/app/views/underworld/dashboard/users/_form.html.slim +73 -0
  198. data/app/views/underworld/dashboard/users/_password_form.html.slim +37 -0
  199. data/app/views/underworld/dashboard/users/create.js.erb +3 -0
  200. data/app/views/underworld/dashboard/users/destroy.js.erb +2 -0
  201. data/app/views/underworld/dashboard/users/edit.html.slim +3 -0
  202. data/app/views/underworld/dashboard/users/edit_password.html.slim +1 -0
  203. data/app/views/underworld/dashboard/users/errors.js.erb +3 -0
  204. data/app/views/underworld/dashboard/users/index.html.slim +66 -0
  205. data/app/views/underworld/dashboard/users/new.html.slim +2 -0
  206. data/app/views/underworld/dashboard/users/show.html.slim +6 -0
  207. data/app/views/underworld/dashboard/users/update.js.erb +3 -0
  208. data/app/views/underworld/dashboard/users/update_password.js.erb +3 -0
  209. data/app/views/underworld/relations/_belongs_to.json.jbuilder +11 -0
  210. data/config/initializers/devise.rb +24 -0
  211. data/config/locales/devise.en.yml +59 -0
  212. data/config/locales/devise.fa.yml +58 -0
  213. data/config/locales/underworld.en.yml +96 -0
  214. data/config/locales/underworld.fa.yml +108 -0
  215. data/config/routes.rb +43 -0
  216. data/config/spring.rb +1 -0
  217. data/db/migrate/20131013091000_devise_create_underworld_users.rb +65 -0
  218. data/db/migrate/20131020124701_create_underworld_groups.rb +15 -0
  219. data/db/migrate/20131021170923_create_underworld_permissions.rb +15 -0
  220. data/db/migrate/20131123120422_add_permissions_groups_table.rb +16 -0
  221. data/db/migrate/20140613120923_add_users_groups_table.rb +13 -0
  222. data/db/migrate/20151122115129_add_uniqueness_index_to_users_groups.rb +11 -0
  223. data/db/migrate/20160310105736_create_underworld_user_messages.rb +25 -0
  224. data/db/seeds.rb +49 -0
  225. data/lib/generators/underworld/install_generator.rb +108 -0
  226. data/lib/generators/underworld/resource_generator.rb +70 -0
  227. data/lib/generators/underworld/resources_generator.rb +20 -0
  228. data/lib/generators/underworld/templates/README +21 -0
  229. data/lib/generators/underworld/templates/SPECS +13 -0
  230. data/lib/generators/underworld/templates/api/controller.rb.erb +60 -0
  231. data/lib/generators/underworld/templates/api_controller.rb +2 -0
  232. data/lib/generators/underworld/templates/dashboard/controller.rb.erb +2 -0
  233. data/lib/generators/underworld/templates/dashboard_controller.rb +18 -0
  234. data/lib/generators/underworld/templates/devise.rb +251 -0
  235. data/lib/generators/underworld/templates/features/api.feature +92 -0
  236. data/lib/generators/underworld/templates/features/api.step.rb +7 -0
  237. data/lib/generators/underworld/templates/features/step_definitions/email_steps.rb +206 -0
  238. data/lib/generators/underworld/templates/features/support/email_spec.rb +1 -0
  239. data/lib/generators/underworld/templates/features/support/env.rb +79 -0
  240. data/lib/generators/underworld/templates/javascripts/application.js +19 -0
  241. data/lib/generators/underworld/templates/policy/application_policy.rb +2 -0
  242. data/lib/generators/underworld/templates/policy/policy.rb.erb +2 -0
  243. data/lib/generators/underworld/templates/seeds.rb +1 -0
  244. data/lib/generators/underworld/templates/spec/factories/groups.rb +5 -0
  245. data/lib/generators/underworld/templates/spec/factories/users.rb +10 -0
  246. data/lib/generators/underworld/templates/spec/spec_helper.rb +69 -0
  247. data/lib/generators/underworld/templates/spec/support/devise.rb +3 -0
  248. data/lib/generators/underworld/templates/stylesheets/dashboard/ltr/application.css +3 -0
  249. data/lib/generators/underworld/templates/stylesheets/dashboard/rtl/application.css +3 -0
  250. data/lib/generators/underworld/templates/stylesheets/ltr/application.css +3 -0
  251. data/lib/generators/underworld/templates/stylesheets/rtl/application.css +3 -0
  252. data/lib/generators/underworld/templates/underworld.rb +12 -0
  253. data/lib/generators/underworld/templates/views/create.json.jbuilder.erb +3 -0
  254. data/lib/generators/underworld/templates/views/destroy.json.jbuilder.erb +1 -0
  255. data/lib/generators/underworld/templates/views/index.json.jbuilder.erb +13 -0
  256. data/lib/generators/underworld/templates/views/show.json.jbuilder.erb +6 -0
  257. data/lib/generators/underworld/templates/views/update.json.jbuilder.erb +6 -0
  258. data/lib/generators/underworld/views_generator.rb +57 -0
  259. data/lib/tasks/docs.rake +6 -0
  260. data/lib/tasks/sync.rake +9 -0
  261. data/lib/tasks/underworld_tasks.rake +38 -0
  262. data/lib/underworld.rb +35 -0
  263. data/lib/underworld/action_dispatch.rb +3 -0
  264. data/lib/underworld/api.rb +42 -0
  265. data/lib/underworld/api/groups_api.rb +41 -0
  266. data/lib/underworld/api/permissions_api.rb +24 -0
  267. data/lib/underworld/api/root.rb +15 -0
  268. data/lib/underworld/api/users_api.rb +20 -0
  269. data/lib/underworld/concerns.rb +7 -0
  270. data/lib/underworld/concerns/authorizable.rb +81 -0
  271. data/lib/underworld/configuration.rb +97 -0
  272. data/lib/underworld/dashboard.rb +11 -0
  273. data/lib/underworld/dashboard/dsl.rb +41 -0
  274. data/lib/underworld/dashboard/dsl/base.rb +133 -0
  275. data/lib/underworld/dashboard/dsl/create.rb +116 -0
  276. data/lib/underworld/dashboard/dsl/form_fields_properties.rb +62 -0
  277. data/lib/underworld/dashboard/dsl/index.rb +45 -0
  278. data/lib/underworld/dashboard/dsl/show.rb +6 -0
  279. data/lib/underworld/dashboard/dsl/update.rb +6 -0
  280. data/lib/underworld/dashboard/helpers/box_helpers.rb +129 -0
  281. data/lib/underworld/dashboard/models.rb +2 -0
  282. data/lib/underworld/dashboard/models/sidebar.rb +139 -0
  283. data/lib/underworld/dashboard/sections.rb +2 -0
  284. data/lib/underworld/dashboard/sections/resource.rb +229 -0
  285. data/lib/underworld/dashboard/sections/resource_create.rb +263 -0
  286. data/lib/underworld/dashboard/sections/resource_destroy.rb +27 -0
  287. data/lib/underworld/dashboard/sections/resource_show.rb +96 -0
  288. data/lib/underworld/dashboard/sections/resources_index.rb +113 -0
  289. data/lib/underworld/dashboard/sections/sidebar.rb +41 -0
  290. data/lib/underworld/discovery.rb +8 -0
  291. data/lib/underworld/discovery/permissions.rb +49 -0
  292. data/lib/underworld/engine.rb +53 -0
  293. data/lib/underworld/exceptions.rb +7 -0
  294. data/lib/underworld/extension.rb +18 -0
  295. data/lib/underworld/extension/base.rb +29 -0
  296. data/lib/underworld/fake_assets.rb +5 -0
  297. data/lib/underworld/i18n.rb +101 -0
  298. data/lib/underworld/initialize.rb +0 -0
  299. data/lib/underworld/liquid.rb +7 -0
  300. data/lib/underworld/liquid/block.rb +14 -0
  301. data/lib/underworld/liquid/render_tag.rb +50 -0
  302. data/lib/underworld/liquid/tag.rb +51 -0
  303. data/lib/underworld/middlewares.rb +1 -0
  304. data/lib/underworld/middlewares/locale.rb +29 -0
  305. data/lib/underworld/omniauth.rb +8 -0
  306. data/lib/underworld/omniauth/callbacks.rb +39 -0
  307. data/lib/underworld/orm.rb +30 -0
  308. data/lib/underworld/routes.rb +117 -0
  309. data/lib/underworld/version.rb +3 -0
  310. data/test/controllers/underworld/dashboard/resource_test.rb +118 -0
  311. data/test/dummy/README.rdoc +28 -0
  312. data/test/dummy/Rakefile +6 -0
  313. data/test/dummy/app/assets/javascripts/application.js +13 -0
  314. data/test/dummy/app/assets/javascripts/dashboard/application.js +19 -0
  315. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  316. data/test/dummy/app/assets/stylesheets/dashboard/ltr/application.css +3 -0
  317. data/test/dummy/app/assets/stylesheets/dashboard/rtl/application.css +3 -0
  318. data/test/dummy/app/assets/stylesheets/ltr/application.css +3 -0
  319. data/test/dummy/app/assets/stylesheets/rtl/application.css +3 -0
  320. data/test/dummy/app/controllers/api_controller.rb +2 -0
  321. data/test/dummy/app/controllers/application_controller.rb +6 -0
  322. data/test/dummy/app/controllers/dashboard/application_controller.rb +18 -0
  323. data/test/dummy/app/helpers/application_helper.rb +2 -0
  324. data/test/dummy/app/policies/application_policy.rb +2 -0
  325. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  326. data/test/dummy/bin/bundle +3 -0
  327. data/test/dummy/bin/rails +4 -0
  328. data/test/dummy/bin/rake +4 -0
  329. data/test/dummy/config.ru +4 -0
  330. data/test/dummy/config/application.rb +23 -0
  331. data/test/dummy/config/boot.rb +5 -0
  332. data/test/dummy/config/database.yml +25 -0
  333. data/test/dummy/config/environment.rb +5 -0
  334. data/test/dummy/config/environments/development.rb +29 -0
  335. data/test/dummy/config/environments/production.rb +80 -0
  336. data/test/dummy/config/environments/test.rb +38 -0
  337. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  338. data/test/dummy/config/initializers/devise.rb +251 -0
  339. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  340. data/test/dummy/config/initializers/formstatic.rb +76 -0
  341. data/test/dummy/config/initializers/formtastic.rb +110 -0
  342. data/test/dummy/config/initializers/inflections.rb +16 -0
  343. data/test/dummy/config/initializers/kaminari_config.rb +10 -0
  344. data/test/dummy/config/initializers/mime_types.rb +5 -0
  345. data/test/dummy/config/initializers/secret_token.rb +12 -0
  346. data/test/dummy/config/initializers/session_store.rb +3 -0
  347. data/test/dummy/config/initializers/underworld.rb +11 -0
  348. data/test/dummy/config/initializers/underworld_assets.rb +1 -0
  349. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  350. data/test/dummy/config/locales/en.yml +23 -0
  351. data/test/dummy/config/routes.rb +13 -0
  352. data/test/dummy/lib/templates/slim/scaffold/_form.html.slim +8 -0
  353. data/test/dummy/public/404.html +58 -0
  354. data/test/dummy/public/422.html +58 -0
  355. data/test/dummy/public/500.html +57 -0
  356. data/test/dummy/public/favicon.ico +0 -0
  357. data/test/fabricators/underworld/groups.rb +27 -0
  358. data/test/fabricators/underworld/permissions.rb +14 -0
  359. data/test/fabricators/underworld/users.rb +17 -0
  360. data/test/generators/install_generator_test.rb +84 -0
  361. data/test/integration/underworld/authentication_test.rb +36 -0
  362. data/test/integration/underworld/dashboard_test.rb +64 -0
  363. data/test/test_helper.rb +72 -0
  364. metadata +1045 -0
  365. metadata.gz.sig +0 -0
@@ -0,0 +1,36 @@
1
+ require "test_helper"
2
+
3
+ class AuthenticationTest < ActionDispatch::IntegrationTest
4
+ def setup
5
+ @admin = Fabricate(:admin, password: '123123123',
6
+ password_confirmation: '123123123',
7
+ email: 'admin@example.com')
8
+
9
+ @admin.save
10
+ @guest = Fabricate(:guest, password: '123123123',
11
+ password_confirmation: '123123123')
12
+
13
+ end
14
+
15
+ test 'authentication is up and running' do
16
+ visit user_session_path
17
+
18
+ assert_text 'Sign In'
19
+ assert_css '.login-box-msg'
20
+ assert_selector '#user_email'
21
+ assert_selector '#user_password'
22
+ end
23
+
24
+ test 'authentication allows user to successfully log in using valid credentials' do
25
+ visit dashboard_index_path
26
+
27
+ fill_in 'user_email', with: @admin.email
28
+ fill_in 'user_password', with: '123123123'
29
+
30
+ click_button 'sign_in'
31
+
32
+ assert_text 'Dashboard'
33
+ assert_no_text 'Sign In'
34
+ assert_equal current_path, dashboard_index_path
35
+ end
36
+ end
@@ -0,0 +1,64 @@
1
+ require "test_helper"
2
+
3
+ class DashboardTest < ActionDispatch::IntegrationTest
4
+
5
+ def setup
6
+ @admin = Fabricate(:admin, password: '123123123',
7
+ password_confirmation: '123123123')
8
+
9
+ @guest = Fabricate(:guest, password: '123123123',
10
+ password_confirmation: '123123123')
11
+ @underworld = Underworld::Engine.routes.url_helpers
12
+ end
13
+
14
+ test "loads normally after login" do
15
+ login_as(@admin, scope: :user)
16
+ path = "/#{Underworld::Engine.dashboard_namespace}"
17
+
18
+ visit underworld.dashboard_index_path
19
+
20
+ assert_equal page.status_code, 200
21
+ assert_text 'Underworld'
22
+ assert_text 'Dashboard'
23
+ assert_no_text '404'
24
+ assert_no_text 'Oops!'
25
+ assert_equal current_path, path
26
+ end
27
+
28
+ test 'does not load with anonymous users' do
29
+ visit @underworld.dashboard_index_path
30
+
31
+ assert_equal page.status_code, 200
32
+ assert_equal current_path, @underworld.user_session_path
33
+ end
34
+
35
+ test 'does not provide authentication section for guests' do
36
+ visit @underworld.dashboard_index_path
37
+
38
+ assert_equal page.status_code, 200
39
+ assert_no_text('User Management')
40
+ assert_no_text('Users')
41
+ assert_no_text('Groups')
42
+ end
43
+
44
+ test 'User try to find a resource which does not exists via js format.' do
45
+ login_as(@admin, scope: :user)
46
+
47
+ visit @underworld.dashboard_auth_user_path({ id: 3242, format: :js})
48
+
49
+ assert_equal page.status_code, 200
50
+ assert_text('error_message(')
51
+ end
52
+
53
+ test 'User try to find a valid resource' do
54
+ login_as(@admin, scope: :user)
55
+
56
+ visit @underworld.dashboard_auth_user_path({ id: 1 })
57
+
58
+ assert_equal page.status_code, 200
59
+ assert_no_text('404')
60
+ assert_text('User')
61
+ assert_no_text('Oops!')
62
+ end
63
+
64
+ end
@@ -0,0 +1,72 @@
1
+ ENV["RAILS_ENV"] ||= 'test'
2
+
3
+ require File.expand_path("../../test/dummy/config/environment", __FILE__)
4
+ require "rails/test_help"
5
+ #require "mocha/mini_test"
6
+
7
+ # FABRICATION -----------------------------------
8
+ require 'fabrication'
9
+
10
+ Fabrication.configure do |config|
11
+ config.fabricator_path = 'test/fabricators/underworld/'
12
+ config.path_prefix = Underworld::Engine.root
13
+ end
14
+
15
+ # MINITEST REPORTER -----------------------------
16
+ require "minitest/reporters"
17
+
18
+ Minitest::Reporters.use!(Minitest::Reporters::ProgressReporter.new,
19
+ ENV,
20
+ Minitest.backtrace_filter)
21
+
22
+
23
+ class ActiveSupport::TestCase
24
+ fixtures :all
25
+ end
26
+
27
+ # CAPYBARA ---------------------------------------
28
+ # Capybara and poltergeist integration
29
+ require 'minitest/rails/capybara'
30
+ require 'capybara/rails'
31
+ require 'capybara/poltergeist'
32
+
33
+ class ActionDispatch::IntegrationTest
34
+ include Capybara::DSL
35
+ include Capybara::Assertions
36
+ include Underworld::Engine.routes.url_helpers
37
+ include Warden::Test::Helpers
38
+
39
+ Warden.test_mode!
40
+
41
+ after do
42
+ Warden.test_reset!
43
+ end
44
+ end
45
+
46
+ Capybara.javascript_driver = :poltergeist
47
+
48
+
49
+ # DATABASE CLEANER -------------------------------
50
+
51
+ require 'database_cleaner'
52
+ require 'minitest/around/spec'
53
+
54
+ class Minitest::Spec
55
+ around do |tests|
56
+ DatabaseCleaner.cleaning(&tests)
57
+ end
58
+ end
59
+
60
+ # CONNECTION POOL --------------------------------
61
+ require 'connection_pool'
62
+
63
+ class ActiveRecord::Base
64
+ mattr_accessor :shared_connection
65
+ @@shared_connection = nil
66
+
67
+ def self.connection
68
+ @@shared_connection || ::ConnectionPool::Wrapper.new(:size => 1) { retrieve_connection }
69
+ end
70
+ end
71
+
72
+ ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection
metadata ADDED
@@ -0,0 +1,1045 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: underworld
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Sameer Rahmani
8
+ - Behnam Ahmad Khan Beigi
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain:
12
+ - |
13
+ -----BEGIN CERTIFICATE-----
14
+ MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MREwDwYDVQQDDAhseHNh
15
+ bWVlcjETMBEGCgmSJomT8ixkARkWA2dudTETMBEGCgmSJomT8ixkARkWA29yZzAe
16
+ Fw0xNjA0MDkwOTU2NTlaFw0xNzA0MDkwOTU2NTlaMD0xETAPBgNVBAMMCGx4c2Ft
17
+ ZWVyMRMwEQYKCZImiZPyLGQBGRYDZ251MRMwEQYKCZImiZPyLGQBGRYDb3JnMIIB
18
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoynu3mQH6Frf1qQnqEFzmBfj
19
+ u+6oRNs55zVQi5S3YJ0bXUSOhtAfBQ4i8BOcFKBULyVBvbJervFP+9t7H33miaev
20
+ KQgR/QU2Gvgi5TTA48t38n/SlNLzCMKdFHqhJcZ33kf0J/ZnvNGewevDSXRQFWxz
21
+ vFbHzbzZPT2Bv8SoDpollAfkjx3CTSbreKIsEwA3kYKyeKOnJAso+fMDoXZBnKWm
22
+ ICfBXzcWrnCRob7bOIHMKqH9dilP3I6pLPDl6v4HD2iLbdeHJXtWa+f0PC/iwyqI
23
+ p1uGsiNwRT33tfXAD9CHnF1tkKVOegf1iZlRQjkxX1wrKldCMXRJsDgBSP8yLQID
24
+ AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUFQiOeeK9
25
+ LHfZgFmrXcC1Vk70IFkwGwYDVR0RBBQwEoEQbHhzYW1lZXJAZ251Lm9yZzAbBgNV
26
+ HRIEFDASgRBseHNhbWVlckBnbnUub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQBPzlyO
27
+ ydG7m2tjP9DkZl/Jw8Paeqi4OQL2tPudgN+nVyx0yb6/6ow11xtc+Q+cI42ecbqJ
28
+ 8DNP1M9JuYbNiYb1ZNteyMNavAMyd+Ts+XCtbwe5Cdn7yINFAhdv/CQ3d3pMk76J
29
+ lgMRZV+lB5qpfPxIOzoTlRfsNAnmOKq4hloZp4RFQV0n+s9OvSBBjICptu5RkilM
30
+ kPaeTjT5a10PduReeTaQZtQybKkCPsdWBPKy3gNrEEQ+DIUi26lhYOhgvbu8wWRk
31
+ ge9CIZowYamI/vvfSApoebxfKQrV8RTkuhxfkna/XvPQS0Qej6X3vjJ8z5bS5vLo
32
+ +4LSCtONiaAAc/sP
33
+ -----END CERTIFICATE-----
34
+ date: 2016-11-14 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rails
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ - !ruby/object:Gem::Dependency
51
+ name: omniauth
52
+ requirement: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: devise
66
+ requirement: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">"
69
+ - !ruby/object:Gem::Version
70
+ version: '3.4'
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">"
76
+ - !ruby/object:Gem::Version
77
+ version: '3.4'
78
+ - !ruby/object:Gem::Dependency
79
+ name: admin_lte-rails
80
+ requirement: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: 2.3.0
85
+ type: :runtime
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: 2.3.0
92
+ - !ruby/object:Gem::Dependency
93
+ name: nprogress-rails
94
+ requirement: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :runtime
100
+ prerelease: false
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ - !ruby/object:Gem::Dependency
107
+ name: amd
108
+ requirement: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ type: :runtime
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ - !ruby/object:Gem::Dependency
121
+ name: pundit
122
+ requirement: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ type: :runtime
128
+ prerelease: false
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ - !ruby/object:Gem::Dependency
135
+ name: jbuilder
136
+ requirement: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ type: :runtime
142
+ prerelease: false
143
+ version_requirements: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ - !ruby/object:Gem::Dependency
149
+ name: formtastic
150
+ requirement: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ type: :runtime
156
+ prerelease: false
157
+ version_requirements: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ - !ruby/object:Gem::Dependency
163
+ name: formtastic-bootstrap
164
+ requirement: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ type: :runtime
170
+ prerelease: false
171
+ version_requirements: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ - !ruby/object:Gem::Dependency
177
+ name: sass-rails
178
+ requirement: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ type: :runtime
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: coffee-rails
192
+ requirement: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
197
+ type: :runtime
198
+ prerelease: false
199
+ version_requirements: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ - !ruby/object:Gem::Dependency
205
+ name: slim-rails
206
+ requirement: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ type: :runtime
212
+ prerelease: false
213
+ version_requirements: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ - !ruby/object:Gem::Dependency
219
+ name: sprockets
220
+ requirement: !ruby/object:Gem::Requirement
221
+ requirements:
222
+ - - ">="
223
+ - !ruby/object:Gem::Version
224
+ version: '0'
225
+ type: :runtime
226
+ prerelease: false
227
+ version_requirements: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ - !ruby/object:Gem::Dependency
233
+ name: turbolinks
234
+ requirement: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - ">="
237
+ - !ruby/object:Gem::Version
238
+ version: '0'
239
+ type: :runtime
240
+ prerelease: false
241
+ version_requirements: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ - !ruby/object:Gem::Dependency
247
+ name: jquery-turbolinks
248
+ requirement: !ruby/object:Gem::Requirement
249
+ requirements:
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: '0'
253
+ type: :runtime
254
+ prerelease: false
255
+ version_requirements: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ version: '0'
260
+ - !ruby/object:Gem::Dependency
261
+ name: kaminari
262
+ requirement: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ version: '0'
267
+ type: :runtime
268
+ prerelease: false
269
+ version_requirements: !ruby/object:Gem::Requirement
270
+ requirements:
271
+ - - ">="
272
+ - !ruby/object:Gem::Version
273
+ version: '0'
274
+ - !ruby/object:Gem::Dependency
275
+ name: modernizr-rails
276
+ requirement: !ruby/object:Gem::Requirement
277
+ requirements:
278
+ - - ">="
279
+ - !ruby/object:Gem::Version
280
+ version: '0'
281
+ type: :runtime
282
+ prerelease: false
283
+ version_requirements: !ruby/object:Gem::Requirement
284
+ requirements:
285
+ - - ">="
286
+ - !ruby/object:Gem::Version
287
+ version: '0'
288
+ - !ruby/object:Gem::Dependency
289
+ name: execjs
290
+ requirement: !ruby/object:Gem::Requirement
291
+ requirements:
292
+ - - ">="
293
+ - !ruby/object:Gem::Version
294
+ version: '0'
295
+ type: :development
296
+ prerelease: false
297
+ version_requirements: !ruby/object:Gem::Requirement
298
+ requirements:
299
+ - - ">="
300
+ - !ruby/object:Gem::Version
301
+ version: '0'
302
+ - !ruby/object:Gem::Dependency
303
+ name: i18n
304
+ requirement: !ruby/object:Gem::Requirement
305
+ requirements:
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '0'
309
+ type: :runtime
310
+ prerelease: false
311
+ version_requirements: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - ">="
314
+ - !ruby/object:Gem::Version
315
+ version: '0'
316
+ - !ruby/object:Gem::Dependency
317
+ name: rails-i18n
318
+ requirement: !ruby/object:Gem::Requirement
319
+ requirements:
320
+ - - ">="
321
+ - !ruby/object:Gem::Version
322
+ version: '0'
323
+ type: :runtime
324
+ prerelease: false
325
+ version_requirements: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - ">="
328
+ - !ruby/object:Gem::Version
329
+ version: '0'
330
+ - !ruby/object:Gem::Dependency
331
+ name: colorize
332
+ requirement: !ruby/object:Gem::Requirement
333
+ requirements:
334
+ - - ">="
335
+ - !ruby/object:Gem::Version
336
+ version: '0'
337
+ type: :runtime
338
+ prerelease: false
339
+ version_requirements: !ruby/object:Gem::Requirement
340
+ requirements:
341
+ - - ">="
342
+ - !ruby/object:Gem::Version
343
+ version: '0'
344
+ - !ruby/object:Gem::Dependency
345
+ name: model_discovery
346
+ requirement: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - "~>"
349
+ - !ruby/object:Gem::Version
350
+ version: 0.3.8
351
+ type: :runtime
352
+ prerelease: false
353
+ version_requirements: !ruby/object:Gem::Requirement
354
+ requirements:
355
+ - - "~>"
356
+ - !ruby/object:Gem::Version
357
+ version: 0.3.8
358
+ - !ruby/object:Gem::Dependency
359
+ name: orm_adapter
360
+ requirement: !ruby/object:Gem::Requirement
361
+ requirements:
362
+ - - ">="
363
+ - !ruby/object:Gem::Version
364
+ version: '0'
365
+ type: :runtime
366
+ prerelease: false
367
+ version_requirements: !ruby/object:Gem::Requirement
368
+ requirements:
369
+ - - ">="
370
+ - !ruby/object:Gem::Version
371
+ version: '0'
372
+ - !ruby/object:Gem::Dependency
373
+ name: rdoc
374
+ requirement: !ruby/object:Gem::Requirement
375
+ requirements:
376
+ - - ">="
377
+ - !ruby/object:Gem::Version
378
+ version: '0'
379
+ type: :development
380
+ prerelease: false
381
+ version_requirements: !ruby/object:Gem::Requirement
382
+ requirements:
383
+ - - ">="
384
+ - !ruby/object:Gem::Version
385
+ version: '0'
386
+ - !ruby/object:Gem::Dependency
387
+ name: minitest-rails
388
+ requirement: !ruby/object:Gem::Requirement
389
+ requirements:
390
+ - - ">="
391
+ - !ruby/object:Gem::Version
392
+ version: '0'
393
+ type: :development
394
+ prerelease: false
395
+ version_requirements: !ruby/object:Gem::Requirement
396
+ requirements:
397
+ - - ">="
398
+ - !ruby/object:Gem::Version
399
+ version: '0'
400
+ - !ruby/object:Gem::Dependency
401
+ name: guard
402
+ requirement: !ruby/object:Gem::Requirement
403
+ requirements:
404
+ - - ">="
405
+ - !ruby/object:Gem::Version
406
+ version: '0'
407
+ type: :development
408
+ prerelease: false
409
+ version_requirements: !ruby/object:Gem::Requirement
410
+ requirements:
411
+ - - ">="
412
+ - !ruby/object:Gem::Version
413
+ version: '0'
414
+ - !ruby/object:Gem::Dependency
415
+ name: rb-fsevent
416
+ requirement: !ruby/object:Gem::Requirement
417
+ requirements:
418
+ - - ">="
419
+ - !ruby/object:Gem::Version
420
+ version: '0'
421
+ type: :development
422
+ prerelease: false
423
+ version_requirements: !ruby/object:Gem::Requirement
424
+ requirements:
425
+ - - ">="
426
+ - !ruby/object:Gem::Version
427
+ version: '0'
428
+ - !ruby/object:Gem::Dependency
429
+ name: capybara
430
+ requirement: !ruby/object:Gem::Requirement
431
+ requirements:
432
+ - - ">="
433
+ - !ruby/object:Gem::Version
434
+ version: '0'
435
+ type: :development
436
+ prerelease: false
437
+ version_requirements: !ruby/object:Gem::Requirement
438
+ requirements:
439
+ - - ">="
440
+ - !ruby/object:Gem::Version
441
+ version: '0'
442
+ - !ruby/object:Gem::Dependency
443
+ name: connection_pool
444
+ requirement: !ruby/object:Gem::Requirement
445
+ requirements:
446
+ - - ">="
447
+ - !ruby/object:Gem::Version
448
+ version: '0'
449
+ type: :development
450
+ prerelease: false
451
+ version_requirements: !ruby/object:Gem::Requirement
452
+ requirements:
453
+ - - ">="
454
+ - !ruby/object:Gem::Version
455
+ version: '0'
456
+ - !ruby/object:Gem::Dependency
457
+ name: launchy
458
+ requirement: !ruby/object:Gem::Requirement
459
+ requirements:
460
+ - - ">="
461
+ - !ruby/object:Gem::Version
462
+ version: '0'
463
+ type: :development
464
+ prerelease: false
465
+ version_requirements: !ruby/object:Gem::Requirement
466
+ requirements:
467
+ - - ">="
468
+ - !ruby/object:Gem::Version
469
+ version: '0'
470
+ - !ruby/object:Gem::Dependency
471
+ name: minitest-reporters
472
+ requirement: !ruby/object:Gem::Requirement
473
+ requirements:
474
+ - - ">="
475
+ - !ruby/object:Gem::Version
476
+ version: '0'
477
+ type: :development
478
+ prerelease: false
479
+ version_requirements: !ruby/object:Gem::Requirement
480
+ requirements:
481
+ - - ">="
482
+ - !ruby/object:Gem::Version
483
+ version: '0'
484
+ - !ruby/object:Gem::Dependency
485
+ name: mocha
486
+ requirement: !ruby/object:Gem::Requirement
487
+ requirements:
488
+ - - ">="
489
+ - !ruby/object:Gem::Version
490
+ version: '0'
491
+ type: :development
492
+ prerelease: false
493
+ version_requirements: !ruby/object:Gem::Requirement
494
+ requirements:
495
+ - - ">="
496
+ - !ruby/object:Gem::Version
497
+ version: '0'
498
+ - !ruby/object:Gem::Dependency
499
+ name: poltergeist
500
+ requirement: !ruby/object:Gem::Requirement
501
+ requirements:
502
+ - - ">="
503
+ - !ruby/object:Gem::Version
504
+ version: '0'
505
+ type: :development
506
+ prerelease: false
507
+ version_requirements: !ruby/object:Gem::Requirement
508
+ requirements:
509
+ - - ">="
510
+ - !ruby/object:Gem::Version
511
+ version: '0'
512
+ - !ruby/object:Gem::Dependency
513
+ name: fabrication
514
+ requirement: !ruby/object:Gem::Requirement
515
+ requirements:
516
+ - - ">="
517
+ - !ruby/object:Gem::Version
518
+ version: '0'
519
+ type: :development
520
+ prerelease: false
521
+ version_requirements: !ruby/object:Gem::Requirement
522
+ requirements:
523
+ - - ">="
524
+ - !ruby/object:Gem::Version
525
+ version: '0'
526
+ - !ruby/object:Gem::Dependency
527
+ name: minitest-rails-capybara
528
+ requirement: !ruby/object:Gem::Requirement
529
+ requirements:
530
+ - - ">="
531
+ - !ruby/object:Gem::Version
532
+ version: '0'
533
+ type: :development
534
+ prerelease: false
535
+ version_requirements: !ruby/object:Gem::Requirement
536
+ requirements:
537
+ - - ">="
538
+ - !ruby/object:Gem::Version
539
+ version: '0'
540
+ - !ruby/object:Gem::Dependency
541
+ name: minitest-around
542
+ requirement: !ruby/object:Gem::Requirement
543
+ requirements:
544
+ - - ">="
545
+ - !ruby/object:Gem::Version
546
+ version: '0'
547
+ type: :development
548
+ prerelease: false
549
+ version_requirements: !ruby/object:Gem::Requirement
550
+ requirements:
551
+ - - ">="
552
+ - !ruby/object:Gem::Version
553
+ version: '0'
554
+ - !ruby/object:Gem::Dependency
555
+ name: database_cleaner
556
+ requirement: !ruby/object:Gem::Requirement
557
+ requirements:
558
+ - - ">="
559
+ - !ruby/object:Gem::Version
560
+ version: '0'
561
+ type: :development
562
+ prerelease: false
563
+ version_requirements: !ruby/object:Gem::Requirement
564
+ requirements:
565
+ - - ">="
566
+ - !ruby/object:Gem::Version
567
+ version: '0'
568
+ - !ruby/object:Gem::Dependency
569
+ name: guard-minitest
570
+ requirement: !ruby/object:Gem::Requirement
571
+ requirements:
572
+ - - ">="
573
+ - !ruby/object:Gem::Version
574
+ version: '0'
575
+ type: :development
576
+ prerelease: false
577
+ version_requirements: !ruby/object:Gem::Requirement
578
+ requirements:
579
+ - - ">="
580
+ - !ruby/object:Gem::Version
581
+ version: '0'
582
+ - !ruby/object:Gem::Dependency
583
+ name: annotate
584
+ requirement: !ruby/object:Gem::Requirement
585
+ requirements:
586
+ - - ">="
587
+ - !ruby/object:Gem::Version
588
+ version: '0'
589
+ type: :development
590
+ prerelease: false
591
+ version_requirements: !ruby/object:Gem::Requirement
592
+ requirements:
593
+ - - ">="
594
+ - !ruby/object:Gem::Version
595
+ version: '0'
596
+ description: Underworld is a ruby on rails engine which provides a platform to easily
597
+ build a web application. Features like Dashboard, complex code generation and other
598
+ awesome features. For more information checkout the docs.
599
+ email:
600
+ - lxsameer@gnu.org
601
+ - yottanami@gnu.org
602
+ executables: []
603
+ extensions: []
604
+ extra_rdoc_files: []
605
+ files:
606
+ - LICENSE
607
+ - Rakefile
608
+ - app/assets/fonts/DroidNaskh-Bold.ttf
609
+ - app/assets/fonts/DroidNaskh-Regular.ttf
610
+ - app/assets/fonts/OpenSans-Bold.ttf
611
+ - app/assets/fonts/OpenSans-BoldItalic.ttf
612
+ - app/assets/fonts/OpenSans-ExtraBold.ttf
613
+ - app/assets/fonts/OpenSans-ExtraBoldItalic.ttf
614
+ - app/assets/fonts/OpenSans-Italic.ttf
615
+ - app/assets/fonts/OpenSans-Light.ttf
616
+ - app/assets/fonts/OpenSans-LightItalic.ttf
617
+ - app/assets/fonts/OpenSans-Regular.ttf
618
+ - app/assets/fonts/OpenSans-Semibold.ttf
619
+ - app/assets/fonts/OpenSans-SemiboldItalic.ttf
620
+ - app/assets/images/underworld/select2-spinner.gif
621
+ - app/assets/images/underworld/select2.png
622
+ - app/assets/images/underworld/select2x2.png
623
+ - app/assets/javascripts/underworld/application.js
624
+ - app/assets/javascripts/underworld/dashboard/application.js.erb
625
+ - app/assets/javascripts/underworld/dashboard/functions.js.erb
626
+ - app/assets/javascripts/underworld/dashboard/init.js.coffee
627
+ - app/assets/javascripts/underworld/dashboard/lib/actions.js
628
+ - app/assets/javascripts/underworld/dashboard/lib/amd.js.coffee.erb
629
+ - app/assets/javascripts/underworld/dashboard/lib/flash_message.js
630
+ - app/assets/javascripts/underworld/dashboard/lib/locale.js
631
+ - app/assets/javascripts/underworld/dashboard/lib/misc.js
632
+ - app/assets/javascripts/underworld/dashboard/lib/string.js
633
+ - app/assets/javascripts/underworld/dashboard/lib/ujs_patches.js.coffee
634
+ - app/assets/javascripts/underworld/dashboard/manifest.js
635
+ - app/assets/javascripts/underworld/dashboard/variables.js.erb
636
+ - app/assets/javascripts/underworld/groups.js
637
+ - app/assets/javascripts/underworld/home.js
638
+ - app/assets/javascripts/underworld/i18n.js
639
+ - app/assets/javascripts/underworld/simple.js
640
+ - app/assets/javascripts/underworld/users.js
641
+ - app/assets/stylesheets/underworld/dashboard/loadindicator.scss
642
+ - app/assets/stylesheets/underworld/dashboard/ltr/application.css
643
+ - app/assets/stylesheets/underworld/dashboard/ltr/base.css.scss
644
+ - app/assets/stylesheets/underworld/dashboard/rtl/application.css
645
+ - app/assets/stylesheets/underworld/dashboard/rtl/base.css.scss
646
+ - app/assets/stylesheets/underworld/dashboard/share.scss
647
+ - app/assets/stylesheets/underworld/dashboard/variables.scss
648
+ - app/assets/stylesheets/underworld/ltr/application.css
649
+ - app/assets/stylesheets/underworld/rtl/application.css
650
+ - app/assets/stylesheets/underworld/simple/ltr/application.css
651
+ - app/assets/stylesheets/underworld/simple/rtl/application.css
652
+ - app/assets/stylesheets/underworld/simple/rtl/rtl.scss
653
+ - app/assets/stylesheets/underworld/simple/share.scss
654
+ - app/controllers/underworld/api_controller.rb
655
+ - app/controllers/underworld/application_controller.rb
656
+ - app/controllers/underworld/assets_controller.rb
657
+ - app/controllers/underworld/dashboard/application_controller.rb
658
+ - app/controllers/underworld/dashboard/groups_controller.rb
659
+ - app/controllers/underworld/dashboard/profile_controller.rb
660
+ - app/controllers/underworld/dashboard/user_messages_controller.rb
661
+ - app/controllers/underworld/dashboard/users_controller.rb
662
+ - app/controllers/underworld/dashboard_controller.rb
663
+ - app/controllers/underworld/omniauth/callbacks_controller.rb
664
+ - app/helpers/underworld/application_helper.rb
665
+ - app/helpers/underworld/dashboard_helper.rb
666
+ - app/helpers/underworld/groups_helper.rb
667
+ - app/helpers/underworld/home_helper.rb
668
+ - app/helpers/underworld/users_helper.rb
669
+ - app/models/application_record.rb
670
+ - app/models/underworld/concerns/assignment.rb
671
+ - app/models/underworld/concerns/user/auth_definitions.rb
672
+ - app/models/underworld/concerns/user/gravatar.rb
673
+ - app/models/underworld/concerns/user/mongoid_fields.rb
674
+ - app/models/underworld/concerns/user/permission.rb
675
+ - app/models/underworld/concerns/user/user_roles.rb
676
+ - app/models/underworld/group.rb
677
+ - app/models/underworld/permission.rb
678
+ - app/models/underworld/user.rb
679
+ - app/models/underworld/user_message.rb
680
+ - app/policies/underworld/admin_only_policy.rb
681
+ - app/policies/underworld/application_policy.rb
682
+ - app/policies/underworld/group_policy.rb
683
+ - app/policies/underworld/user_message_policy.rb
684
+ - app/policies/underworld/user_policy.rb
685
+ - app/views/angular/auth/groups/details.html
686
+ - app/views/angular/auth/groups/index.html
687
+ - app/views/angular/auth/groups/new.html
688
+ - app/views/angular/auth/index.html
689
+ - app/views/angular/auth/profile/edit.html
690
+ - app/views/angular/auth/users/details.html
691
+ - app/views/angular/auth/users/index.html
692
+ - app/views/angular/auth/users/new.html
693
+ - app/views/angular/conversations/details.html
694
+ - app/views/angular/conversations/index.html
695
+ - app/views/angular/conversations/new.html
696
+ - app/views/angular/conversations/show.html
697
+ - app/views/angular/conversations/show_details.html
698
+ - app/views/angular/fields/boolean/boolean.html
699
+ - app/views/angular/fields/control-combo/control-list.html
700
+ - app/views/angular/fields/datetime/datetime.html
701
+ - app/views/angular/fields/datetime/time.html
702
+ - app/views/angular/fields/file/file.html.slim
703
+ - app/views/angular/fields/float/float.html
704
+ - app/views/angular/fields/image/image.html
705
+ - app/views/angular/fields/integer/integer.html
706
+ - app/views/angular/fields/relation/relation.html
707
+ - app/views/angular/fields/string/string.html
708
+ - app/views/angular/fields/tag/tag.html
709
+ - app/views/angular/fields/text/text.html
710
+ - app/views/angular/filter/index.html
711
+ - app/views/angular/index.html
712
+ - app/views/angular/locale/fa.po
713
+ - app/views/angular/locale/templates.pot
714
+ - app/views/angular/logs/index.html
715
+ - app/views/angular/modules.html
716
+ - app/views/angular/nav.html.erb
717
+ - app/views/angular/underworld/views/generic_add_view.html.slim
718
+ - app/views/devise/registrations/edit.html.erb
719
+ - app/views/devise/registrations/new.html.erb
720
+ - app/views/devise/sessions/new.html.erb
721
+ - app/views/devise/shared/_links.erb
722
+ - app/views/devise/shared/_omni_link.erb
723
+ - app/views/kaminari/_first_page.html.slim
724
+ - app/views/kaminari/_gap.html.slim
725
+ - app/views/kaminari/_last_page.html.slim
726
+ - app/views/kaminari/_next_page.html.slim
727
+ - app/views/kaminari/_page.html.slim
728
+ - app/views/kaminari/_paginator.html.slim
729
+ - app/views/kaminari/_prev_page.html.slim
730
+ - app/views/layouts/underworld/application.html.erb
731
+ - app/views/layouts/underworld/dashboard.html.erb
732
+ - app/views/layouts/underworld/simple.html.erb
733
+ - app/views/underworld/api/v1/conversations/create.json.jbuilder
734
+ - app/views/underworld/api/v1/conversations/destroy.json.jbuilder
735
+ - app/views/underworld/api/v1/conversations/index.json.jbuilder
736
+ - app/views/underworld/api/v1/conversations/reply.json.jbuilder
737
+ - app/views/underworld/api/v1/conversations/show.json.jbuilder
738
+ - app/views/underworld/api/v1/conversations/trash.json.jbuilder
739
+ - app/views/underworld/api/v1/groups/create.json.jbuilder
740
+ - app/views/underworld/api/v1/groups/destroy.html.erb
741
+ - app/views/underworld/api/v1/groups/destroy.json.jbuilder
742
+ - app/views/underworld/api/v1/groups/edit.html.erb
743
+ - app/views/underworld/api/v1/groups/index.html.erb
744
+ - app/views/underworld/api/v1/groups/index.json.jbuilder
745
+ - app/views/underworld/api/v1/groups/new.html.erb
746
+ - app/views/underworld/api/v1/groups/show.html.erb
747
+ - app/views/underworld/api/v1/groups/show.json.jbuilder
748
+ - app/views/underworld/api/v1/groups/update.json.jbuilder
749
+ - app/views/underworld/api/v1/logs/index.json.jbuilder
750
+ - app/views/underworld/api/v1/permissions/index.json.jbuilder
751
+ - app/views/underworld/api/v1/permissions/user_permissions.json.jbuilder
752
+ - app/views/underworld/api/v1/users/create.html.erb
753
+ - app/views/underworld/api/v1/users/create.json.jbuilder
754
+ - app/views/underworld/api/v1/users/destroy.json.jbuilder
755
+ - app/views/underworld/api/v1/users/distroy.html.erb
756
+ - app/views/underworld/api/v1/users/edit.html.erb
757
+ - app/views/underworld/api/v1/users/index.html.erb
758
+ - app/views/underworld/api/v1/users/index.json.jbuilder
759
+ - app/views/underworld/api/v1/users/show.html.erb
760
+ - app/views/underworld/api/v1/users/show.json.jbuilder
761
+ - app/views/underworld/api/v1/users/update.json.jbuilder
762
+ - app/views/underworld/dashboard/groups/_form.html.slim
763
+ - app/views/underworld/dashboard/groups/create.js.erb
764
+ - app/views/underworld/dashboard/groups/edit.html.slim
765
+ - app/views/underworld/dashboard/groups/errors.js.erb
766
+ - app/views/underworld/dashboard/groups/index.html.slim
767
+ - app/views/underworld/dashboard/groups/new.html.slim
768
+ - app/views/underworld/dashboard/groups/update.js.erb
769
+ - app/views/underworld/dashboard/index.html.erb
770
+ - app/views/underworld/dashboard/login_required_page.html.erb
771
+ - app/views/underworld/dashboard/not_found.html.slim
772
+ - app/views/underworld/dashboard/not_found.js.erb
773
+ - app/views/underworld/dashboard/profile/_form.html.erb
774
+ - app/views/underworld/dashboard/profile/_profile_form.html.erb
775
+ - app/views/underworld/dashboard/profile/create.js.erb
776
+ - app/views/underworld/dashboard/profile/edit.html.erb
777
+ - app/views/underworld/dashboard/profile/edit_password.html.erb
778
+ - app/views/underworld/dashboard/profile/errors.js.erb
779
+ - app/views/underworld/dashboard/resource/_form.html.slim
780
+ - app/views/underworld/dashboard/resource/_input.html.slim
781
+ - app/views/underworld/dashboard/resource/create.js.erb
782
+ - app/views/underworld/dashboard/resource/destroy.js.erb
783
+ - app/views/underworld/dashboard/resource/edit.html.slim
784
+ - app/views/underworld/dashboard/resource/index.html.slim
785
+ - app/views/underworld/dashboard/resource/new.html.slim
786
+ - app/views/underworld/dashboard/resource/show.html.slim
787
+ - app/views/underworld/dashboard/resource/update.js.erb
788
+ - app/views/underworld/dashboard/shared/_content_header.html.slim
789
+ - app/views/underworld/dashboard/shared/_control_sidebar.html.slim
790
+ - app/views/underworld/dashboard/shared/_footer.html.slim
791
+ - app/views/underworld/dashboard/shared/_header.html.erb
792
+ - app/views/underworld/dashboard/shared/_sidebar.html.erb
793
+ - app/views/underworld/dashboard/shared/_toolbar.html.slim
794
+ - app/views/underworld/dashboard/shared/errors.js.erb
795
+ - app/views/underworld/dashboard/user_messages/_form.html.slim
796
+ - app/views/underworld/dashboard/user_messages/create.js.erb
797
+ - app/views/underworld/dashboard/user_messages/destroy.js.erb
798
+ - app/views/underworld/dashboard/user_messages/new.html.slim
799
+ - app/views/underworld/dashboard/users/_form.html.slim
800
+ - app/views/underworld/dashboard/users/_password_form.html.slim
801
+ - app/views/underworld/dashboard/users/create.js.erb
802
+ - app/views/underworld/dashboard/users/destroy.js.erb
803
+ - app/views/underworld/dashboard/users/edit.html.slim
804
+ - app/views/underworld/dashboard/users/edit_password.html.slim
805
+ - app/views/underworld/dashboard/users/errors.js.erb
806
+ - app/views/underworld/dashboard/users/index.html.slim
807
+ - app/views/underworld/dashboard/users/new.html.slim
808
+ - app/views/underworld/dashboard/users/show.html.slim
809
+ - app/views/underworld/dashboard/users/update.js.erb
810
+ - app/views/underworld/dashboard/users/update_password.js.erb
811
+ - app/views/underworld/relations/_belongs_to.json.jbuilder
812
+ - config/initializers/devise.rb
813
+ - config/locales/devise.en.yml
814
+ - config/locales/devise.fa.yml
815
+ - config/locales/underworld.en.yml
816
+ - config/locales/underworld.fa.yml
817
+ - config/routes.rb
818
+ - config/spring.rb
819
+ - db/migrate/20131013091000_devise_create_underworld_users.rb
820
+ - db/migrate/20131020124701_create_underworld_groups.rb
821
+ - db/migrate/20131021170923_create_underworld_permissions.rb
822
+ - db/migrate/20131123120422_add_permissions_groups_table.rb
823
+ - db/migrate/20140613120923_add_users_groups_table.rb
824
+ - db/migrate/20151122115129_add_uniqueness_index_to_users_groups.rb
825
+ - db/migrate/20160310105736_create_underworld_user_messages.rb
826
+ - db/seeds.rb
827
+ - lib/generators/underworld/install_generator.rb
828
+ - lib/generators/underworld/resource_generator.rb
829
+ - lib/generators/underworld/resources_generator.rb
830
+ - lib/generators/underworld/templates/README
831
+ - lib/generators/underworld/templates/SPECS
832
+ - lib/generators/underworld/templates/api/controller.rb.erb
833
+ - lib/generators/underworld/templates/api_controller.rb
834
+ - lib/generators/underworld/templates/dashboard/controller.rb.erb
835
+ - lib/generators/underworld/templates/dashboard_controller.rb
836
+ - lib/generators/underworld/templates/devise.rb
837
+ - lib/generators/underworld/templates/features/api.feature
838
+ - lib/generators/underworld/templates/features/api.step.rb
839
+ - lib/generators/underworld/templates/features/step_definitions/email_steps.rb
840
+ - lib/generators/underworld/templates/features/support/email_spec.rb
841
+ - lib/generators/underworld/templates/features/support/env.rb
842
+ - lib/generators/underworld/templates/javascripts/application.js
843
+ - lib/generators/underworld/templates/policy/application_policy.rb
844
+ - lib/generators/underworld/templates/policy/policy.rb.erb
845
+ - lib/generators/underworld/templates/seeds.rb
846
+ - lib/generators/underworld/templates/spec/factories/groups.rb
847
+ - lib/generators/underworld/templates/spec/factories/users.rb
848
+ - lib/generators/underworld/templates/spec/spec_helper.rb
849
+ - lib/generators/underworld/templates/spec/support/devise.rb
850
+ - lib/generators/underworld/templates/stylesheets/dashboard/ltr/application.css
851
+ - lib/generators/underworld/templates/stylesheets/dashboard/rtl/application.css
852
+ - lib/generators/underworld/templates/stylesheets/ltr/application.css
853
+ - lib/generators/underworld/templates/stylesheets/rtl/application.css
854
+ - lib/generators/underworld/templates/underworld.rb
855
+ - lib/generators/underworld/templates/views/create.json.jbuilder.erb
856
+ - lib/generators/underworld/templates/views/destroy.json.jbuilder.erb
857
+ - lib/generators/underworld/templates/views/index.json.jbuilder.erb
858
+ - lib/generators/underworld/templates/views/show.json.jbuilder.erb
859
+ - lib/generators/underworld/templates/views/update.json.jbuilder.erb
860
+ - lib/generators/underworld/views_generator.rb
861
+ - lib/tasks/docs.rake
862
+ - lib/tasks/sync.rake
863
+ - lib/tasks/underworld_tasks.rake
864
+ - lib/underworld.rb
865
+ - lib/underworld/action_dispatch.rb
866
+ - lib/underworld/api.rb
867
+ - lib/underworld/api/groups_api.rb
868
+ - lib/underworld/api/permissions_api.rb
869
+ - lib/underworld/api/root.rb
870
+ - lib/underworld/api/users_api.rb
871
+ - lib/underworld/concerns.rb
872
+ - lib/underworld/concerns/authorizable.rb
873
+ - lib/underworld/configuration.rb
874
+ - lib/underworld/dashboard.rb
875
+ - lib/underworld/dashboard/dsl.rb
876
+ - lib/underworld/dashboard/dsl/base.rb
877
+ - lib/underworld/dashboard/dsl/create.rb
878
+ - lib/underworld/dashboard/dsl/form_fields_properties.rb
879
+ - lib/underworld/dashboard/dsl/index.rb
880
+ - lib/underworld/dashboard/dsl/show.rb
881
+ - lib/underworld/dashboard/dsl/update.rb
882
+ - lib/underworld/dashboard/helpers/box_helpers.rb
883
+ - lib/underworld/dashboard/models.rb
884
+ - lib/underworld/dashboard/models/sidebar.rb
885
+ - lib/underworld/dashboard/sections.rb
886
+ - lib/underworld/dashboard/sections/resource.rb
887
+ - lib/underworld/dashboard/sections/resource_create.rb
888
+ - lib/underworld/dashboard/sections/resource_destroy.rb
889
+ - lib/underworld/dashboard/sections/resource_show.rb
890
+ - lib/underworld/dashboard/sections/resources_index.rb
891
+ - lib/underworld/dashboard/sections/sidebar.rb
892
+ - lib/underworld/discovery.rb
893
+ - lib/underworld/discovery/permissions.rb
894
+ - lib/underworld/engine.rb
895
+ - lib/underworld/exceptions.rb
896
+ - lib/underworld/extension.rb
897
+ - lib/underworld/extension/base.rb
898
+ - lib/underworld/fake_assets.rb
899
+ - lib/underworld/i18n.rb
900
+ - lib/underworld/initialize.rb
901
+ - lib/underworld/liquid.rb
902
+ - lib/underworld/liquid/block.rb
903
+ - lib/underworld/liquid/render_tag.rb
904
+ - lib/underworld/liquid/tag.rb
905
+ - lib/underworld/middlewares.rb
906
+ - lib/underworld/middlewares/locale.rb
907
+ - lib/underworld/omniauth.rb
908
+ - lib/underworld/omniauth/callbacks.rb
909
+ - lib/underworld/orm.rb
910
+ - lib/underworld/routes.rb
911
+ - lib/underworld/version.rb
912
+ - test/controllers/underworld/dashboard/resource_test.rb
913
+ - test/dummy/README.rdoc
914
+ - test/dummy/Rakefile
915
+ - test/dummy/app/assets/javascripts/application.js
916
+ - test/dummy/app/assets/javascripts/dashboard/application.js
917
+ - test/dummy/app/assets/stylesheets/application.css
918
+ - test/dummy/app/assets/stylesheets/dashboard/ltr/application.css
919
+ - test/dummy/app/assets/stylesheets/dashboard/rtl/application.css
920
+ - test/dummy/app/assets/stylesheets/ltr/application.css
921
+ - test/dummy/app/assets/stylesheets/rtl/application.css
922
+ - test/dummy/app/controllers/api_controller.rb
923
+ - test/dummy/app/controllers/application_controller.rb
924
+ - test/dummy/app/controllers/dashboard/application_controller.rb
925
+ - test/dummy/app/helpers/application_helper.rb
926
+ - test/dummy/app/policies/application_policy.rb
927
+ - test/dummy/app/views/layouts/application.html.erb
928
+ - test/dummy/bin/bundle
929
+ - test/dummy/bin/rails
930
+ - test/dummy/bin/rake
931
+ - test/dummy/config.ru
932
+ - test/dummy/config/application.rb
933
+ - test/dummy/config/boot.rb
934
+ - test/dummy/config/database.yml
935
+ - test/dummy/config/environment.rb
936
+ - test/dummy/config/environments/development.rb
937
+ - test/dummy/config/environments/production.rb
938
+ - test/dummy/config/environments/test.rb
939
+ - test/dummy/config/initializers/backtrace_silencers.rb
940
+ - test/dummy/config/initializers/devise.rb
941
+ - test/dummy/config/initializers/filter_parameter_logging.rb
942
+ - test/dummy/config/initializers/formstatic.rb
943
+ - test/dummy/config/initializers/formtastic.rb
944
+ - test/dummy/config/initializers/inflections.rb
945
+ - test/dummy/config/initializers/kaminari_config.rb
946
+ - test/dummy/config/initializers/mime_types.rb
947
+ - test/dummy/config/initializers/secret_token.rb
948
+ - test/dummy/config/initializers/session_store.rb
949
+ - test/dummy/config/initializers/underworld.rb
950
+ - test/dummy/config/initializers/underworld_assets.rb
951
+ - test/dummy/config/initializers/wrap_parameters.rb
952
+ - test/dummy/config/locales/en.yml
953
+ - test/dummy/config/routes.rb
954
+ - test/dummy/lib/templates/slim/scaffold/_form.html.slim
955
+ - test/dummy/public/404.html
956
+ - test/dummy/public/422.html
957
+ - test/dummy/public/500.html
958
+ - test/dummy/public/favicon.ico
959
+ - test/fabricators/underworld/groups.rb
960
+ - test/fabricators/underworld/permissions.rb
961
+ - test/fabricators/underworld/users.rb
962
+ - test/generators/install_generator_test.rb
963
+ - test/integration/underworld/authentication_test.rb
964
+ - test/integration/underworld/dashboard_test.rb
965
+ - test/test_helper.rb
966
+ homepage: http://underworld.io
967
+ licenses:
968
+ - GPL-2
969
+ metadata: {}
970
+ post_install_message:
971
+ rdoc_options: []
972
+ require_paths:
973
+ - lib
974
+ required_ruby_version: !ruby/object:Gem::Requirement
975
+ requirements:
976
+ - - "~>"
977
+ - !ruby/object:Gem::Version
978
+ version: '2.0'
979
+ required_rubygems_version: !ruby/object:Gem::Requirement
980
+ requirements:
981
+ - - ">="
982
+ - !ruby/object:Gem::Version
983
+ version: '0'
984
+ requirements: []
985
+ rubyforge_project:
986
+ rubygems_version: 2.5.1
987
+ signing_key:
988
+ specification_version: 4
989
+ summary: Underworld is a ruby on rails engine which provides a platform to easily
990
+ build a web application
991
+ test_files:
992
+ - test/fabricators/underworld/users.rb
993
+ - test/fabricators/underworld/permissions.rb
994
+ - test/fabricators/underworld/groups.rb
995
+ - test/integration/underworld/dashboard_test.rb
996
+ - test/integration/underworld/authentication_test.rb
997
+ - test/test_helper.rb
998
+ - test/generators/install_generator_test.rb
999
+ - test/dummy/public/422.html
1000
+ - test/dummy/public/500.html
1001
+ - test/dummy/public/404.html
1002
+ - test/dummy/public/favicon.ico
1003
+ - test/dummy/Rakefile
1004
+ - test/dummy/config.ru
1005
+ - test/dummy/config/application.rb
1006
+ - test/dummy/config/initializers/session_store.rb
1007
+ - test/dummy/config/initializers/underworld.rb
1008
+ - test/dummy/config/initializers/devise.rb
1009
+ - test/dummy/config/initializers/formstatic.rb
1010
+ - test/dummy/config/initializers/wrap_parameters.rb
1011
+ - test/dummy/config/initializers/underworld_assets.rb
1012
+ - test/dummy/config/initializers/backtrace_silencers.rb
1013
+ - test/dummy/config/initializers/mime_types.rb
1014
+ - test/dummy/config/initializers/inflections.rb
1015
+ - test/dummy/config/initializers/kaminari_config.rb
1016
+ - test/dummy/config/initializers/formtastic.rb
1017
+ - test/dummy/config/initializers/filter_parameter_logging.rb
1018
+ - test/dummy/config/initializers/secret_token.rb
1019
+ - test/dummy/config/database.yml
1020
+ - test/dummy/config/boot.rb
1021
+ - test/dummy/config/environments/production.rb
1022
+ - test/dummy/config/environments/test.rb
1023
+ - test/dummy/config/environments/development.rb
1024
+ - test/dummy/config/locales/en.yml
1025
+ - test/dummy/config/routes.rb
1026
+ - test/dummy/config/environment.rb
1027
+ - test/dummy/app/assets/javascripts/dashboard/application.js
1028
+ - test/dummy/app/assets/javascripts/application.js
1029
+ - test/dummy/app/assets/stylesheets/rtl/application.css
1030
+ - test/dummy/app/assets/stylesheets/application.css
1031
+ - test/dummy/app/assets/stylesheets/ltr/application.css
1032
+ - test/dummy/app/assets/stylesheets/dashboard/rtl/application.css
1033
+ - test/dummy/app/assets/stylesheets/dashboard/ltr/application.css
1034
+ - test/dummy/app/views/layouts/application.html.erb
1035
+ - test/dummy/app/policies/application_policy.rb
1036
+ - test/dummy/app/helpers/application_helper.rb
1037
+ - test/dummy/app/controllers/api_controller.rb
1038
+ - test/dummy/app/controllers/application_controller.rb
1039
+ - test/dummy/app/controllers/dashboard/application_controller.rb
1040
+ - test/dummy/bin/rails
1041
+ - test/dummy/bin/rake
1042
+ - test/dummy/bin/bundle
1043
+ - test/dummy/lib/templates/slim/scaffold/_form.html.slim
1044
+ - test/dummy/README.rdoc
1045
+ - test/controllers/underworld/dashboard/resource_test.rb