underworld 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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