fae-railsz 2.1.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 (328) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +5 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/fonts/fae/icons.eot +0 -0
  5. data/app/assets/fonts/fae/icons.svg +56 -0
  6. data/app/assets/fonts/fae/icons.ttf +0 -0
  7. data/app/assets/fonts/fae/icons.woff +0 -0
  8. data/app/assets/fonts/fae/lato-bold-webfont.eot +0 -0
  9. data/app/assets/fonts/fae/lato-bold-webfont.svg +4551 -0
  10. data/app/assets/fonts/fae/lato-bold-webfont.ttf +0 -0
  11. data/app/assets/fonts/fae/lato-bold-webfont.woff +0 -0
  12. data/app/assets/fonts/fae/lato-light-webfont.eot +0 -0
  13. data/app/assets/fonts/fae/lato-light-webfont.svg +4241 -0
  14. data/app/assets/fonts/fae/lato-light-webfont.ttf +0 -0
  15. data/app/assets/fonts/fae/lato-light-webfont.woff +0 -0
  16. data/app/assets/fonts/fae/lato-regular-webfont.eot +0 -0
  17. data/app/assets/fonts/fae/lato-regular-webfont.svg +4241 -0
  18. data/app/assets/fonts/fae/lato-regular-webfont.ttf +0 -0
  19. data/app/assets/fonts/fae/lato-regular-webfont.woff +0 -0
  20. data/app/assets/fonts/fae/selection.json +1334 -0
  21. data/app/assets/images/fae/error_bg.jpg +0 -0
  22. data/app/assets/images/fae/error_sad_face.png +0 -0
  23. data/app/assets/images/fae/icons/alert.svg +9 -0
  24. data/app/assets/images/fae/icons/arrow_down.svg +8 -0
  25. data/app/assets/images/fae/icons/arrow_left.svg +9 -0
  26. data/app/assets/images/fae/icons/arrow_right.svg +9 -0
  27. data/app/assets/images/fae/icons/arrow_stacked.svg +8 -0
  28. data/app/assets/images/fae/icons/arrow_up.svg +8 -0
  29. data/app/assets/images/fae/icons/calendar.svg +17 -0
  30. data/app/assets/images/fae/icons/check.svg +7 -0
  31. data/app/assets/images/fae/icons/checkmark.svg +8 -0
  32. data/app/assets/images/fae/icons/chevron_down.svg +7 -0
  33. data/app/assets/images/fae/icons/chevron_left.svg +10 -0
  34. data/app/assets/images/fae/icons/chevron_right.svg +10 -0
  35. data/app/assets/images/fae/icons/chevron_up.svg +7 -0
  36. data/app/assets/images/fae/icons/delete.svg +8 -0
  37. data/app/assets/images/fae/icons/delete_x.svg +8 -0
  38. data/app/assets/images/fae/icons/edit.svg +11 -0
  39. data/app/assets/images/fae/icons/handle.svg +13 -0
  40. data/app/assets/images/fae/icons/home.svg +10 -0
  41. data/app/assets/images/fae/icons/logout.svg +12 -0
  42. data/app/assets/images/fae/icons/magnifying_glass.svg +10 -0
  43. data/app/assets/images/fae/icons/menu.svg +11 -0
  44. data/app/assets/images/fae/icons/offlink.svg +25 -0
  45. data/app/assets/images/fae/icons/plus.svg +8 -0
  46. data/app/assets/images/fae/icons/pulldown.svg +11 -0
  47. data/app/assets/images/fae/icons/search.svg +11 -0
  48. data/app/assets/images/fae/icons/settings.svg +12 -0
  49. data/app/assets/images/fae/icons/sort.svg +11 -0
  50. data/app/assets/images/fae/icons/support.svg +15 -0
  51. data/app/assets/images/fae/icons/trash.svg +10 -0
  52. data/app/assets/images/fae/icons/trumbowyg.svg +1 -0
  53. data/app/assets/images/fae/icons/user.svg +13 -0
  54. data/app/assets/images/fae/icons/users.svg +19 -0
  55. data/app/assets/images/fae/icons/zoom.svg +12 -0
  56. data/app/assets/images/fae/tutorial_model_location.png +0 -0
  57. data/app/assets/images/fae/youtube_helper.jpg +0 -0
  58. data/app/assets/javascripts/fae/_modals.js +60 -0
  59. data/app/assets/javascripts/fae/_tables.js +403 -0
  60. data/app/assets/javascripts/fae/admin.js.erb +11 -0
  61. data/app/assets/javascripts/fae/application.js +63 -0
  62. data/app/assets/javascripts/fae/fae_init.js +8 -0
  63. data/app/assets/javascripts/fae/form/_ajax.js +380 -0
  64. data/app/assets/javascripts/fae/form/_cancel.js +38 -0
  65. data/app/assets/javascripts/fae/form/_filtering.js +276 -0
  66. data/app/assets/javascripts/fae/form/_form.js +60 -0
  67. data/app/assets/javascripts/fae/form/_slugger.js.erb +100 -0
  68. data/app/assets/javascripts/fae/form/_validator.js +459 -0
  69. data/app/assets/javascripts/fae/form/fae_chosen.js +44 -0
  70. data/app/assets/javascripts/fae/form/fileinputer.js +178 -0
  71. data/app/assets/javascripts/fae/form/hinter.js +111 -0
  72. data/app/assets/javascripts/fae/form/inputs/_checkbox.js +27 -0
  73. data/app/assets/javascripts/fae/form/inputs/_color.js +42 -0
  74. data/app/assets/javascripts/fae/form/inputs/_dates.js +78 -0
  75. data/app/assets/javascripts/fae/form/inputs/_select.js +162 -0
  76. data/app/assets/javascripts/fae/form/inputs/_text.js +118 -0
  77. data/app/assets/javascripts/fae/navigation/_global_search.js +184 -0
  78. data/app/assets/javascripts/fae/navigation/_language.js +89 -0
  79. data/app/assets/javascripts/fae/navigation/_navigation.js +206 -0
  80. data/app/assets/javascripts/fae/navigation/_subnav_highlighter.js +81 -0
  81. data/app/assets/javascripts/fae/navigation/sticky.js +186 -0
  82. data/app/assets/javascripts/fae/vendor/chosen.jquery.min.js +2 -0
  83. data/app/assets/javascripts/fae/vendor/frob_core_helpers.js +587 -0
  84. data/app/assets/javascripts/fae/vendor/fryr.js +437 -0
  85. data/app/assets/javascripts/fae/vendor/jqColorPicker.min.js +4 -0
  86. data/app/assets/javascripts/fae/vendor/jquery.daterangepicker.js +1292 -0
  87. data/app/assets/javascripts/fae/vendor/jquery.multi-select.js +534 -0
  88. data/app/assets/javascripts/fae/vendor/jquery.simplemodal.1.4.4.js +719 -0
  89. data/app/assets/javascripts/fae/vendor/jquery.tablesorter.js +1901 -0
  90. data/app/assets/javascripts/fae/vendor/js.cookie.js +139 -0
  91. data/app/assets/javascripts/fae/vendor/moment.min.js +7 -0
  92. data/app/assets/javascripts/fae/vendor/simplemde.min.js +13 -0
  93. data/app/assets/javascripts/fae/vendor/touch_punch.js +11 -0
  94. data/app/assets/javascripts/fae/vendor/trumbowyg.js.erb +4 -0
  95. data/app/assets/javascripts/fae/vendor/trumbowyg/plugins/upload/trumbowyg.upload.js +223 -0
  96. data/app/assets/javascripts/fae/vendor/trumbowyg/trumbowyg.js +1603 -0
  97. data/app/assets/stylesheets/fae/application.css +8 -0
  98. data/app/assets/stylesheets/fae/base.scss +82 -0
  99. data/app/assets/stylesheets/fae/globals/_fonts.scss +43 -0
  100. data/app/assets/stylesheets/fae/globals/_icons.scss +15 -0
  101. data/app/assets/stylesheets/fae/globals/_plugins.scss +51 -0
  102. data/app/assets/stylesheets/fae/globals/_tags.scss +68 -0
  103. data/app/assets/stylesheets/fae/globals/imports/_extends.scss +53 -0
  104. data/app/assets/stylesheets/fae/globals/imports/_mixins.scss +58 -0
  105. data/app/assets/stylesheets/fae/globals/imports/_variables.scss +165 -0
  106. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine.scss +7 -0
  107. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine_functions.scss +88 -0
  108. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine_mixins.scss +280 -0
  109. data/app/assets/stylesheets/fae/globals/imports/finescss/_fine_variables.scss +30 -0
  110. data/app/assets/stylesheets/fae/globals/layout/_base.scss +48 -0
  111. data/app/assets/stylesheets/fae/globals/layout/_breadcrumbs.scss +45 -0
  112. data/app/assets/stylesheets/fae/globals/layout/_content-header.scss +99 -0
  113. data/app/assets/stylesheets/fae/globals/legacy/_pre-1.3.scss +659 -0
  114. data/app/assets/stylesheets/fae/globals/navigation/_base.scss +22 -0
  115. data/app/assets/stylesheets/fae/globals/navigation/_footer.scss +50 -0
  116. data/app/assets/stylesheets/fae/globals/navigation/_header.scss +149 -0
  117. data/app/assets/stylesheets/fae/globals/navigation/_mobilenav.scss +149 -0
  118. data/app/assets/stylesheets/fae/globals/navigation/_search.scss +76 -0
  119. data/app/assets/stylesheets/fae/globals/navigation/_sidenav.scss +142 -0
  120. data/app/assets/stylesheets/fae/globals/navigation/_utility.scss +95 -0
  121. data/app/assets/stylesheets/fae/modules/_alerts.scss +50 -0
  122. data/app/assets/stylesheets/fae/modules/_buttons.scss +62 -0
  123. data/app/assets/stylesheets/fae/modules/_modal.scss +78 -0
  124. data/app/assets/stylesheets/fae/modules/_toggles.scss +48 -0
  125. data/app/assets/stylesheets/fae/modules/forms/_asset-actions.scss +83 -0
  126. data/app/assets/stylesheets/fae/modules/forms/_base.scss +100 -0
  127. data/app/assets/stylesheets/fae/modules/forms/_checkbox.scss +87 -0
  128. data/app/assets/stylesheets/fae/modules/forms/_colorpicker.scss +57 -0
  129. data/app/assets/stylesheets/fae/modules/forms/_date.scss +335 -0
  130. data/app/assets/stylesheets/fae/modules/forms/_hints.scss +40 -0
  131. data/app/assets/stylesheets/fae/modules/forms/_label.scss +57 -0
  132. data/app/assets/stylesheets/fae/modules/forms/_radio.scss +69 -0
  133. data/app/assets/stylesheets/fae/modules/forms/_select.scss +317 -0
  134. data/app/assets/stylesheets/fae/modules/forms/_simple-mde.scss +29 -0
  135. data/app/assets/stylesheets/fae/modules/forms/_text.scss +62 -0
  136. data/app/assets/stylesheets/fae/modules/forms/_textarea.scss +16 -0
  137. data/app/assets/stylesheets/fae/modules/forms/_validation.scss +63 -0
  138. data/app/assets/stylesheets/fae/modules/tables/_actions.scss +41 -0
  139. data/app/assets/stylesheets/fae/modules/tables/_base.scss +63 -0
  140. data/app/assets/stylesheets/fae/modules/tables/_collapsible.scss +76 -0
  141. data/app/assets/stylesheets/fae/modules/tables/_filters.scss +61 -0
  142. data/app/assets/stylesheets/fae/modules/tables/_image.scss +21 -0
  143. data/app/assets/stylesheets/fae/modules/tables/_pagination.scss +34 -0
  144. data/app/assets/stylesheets/fae/modules/tables/_sorting.scss +58 -0
  145. data/app/assets/stylesheets/fae/modules/tables/_sticky.scss +9 -0
  146. data/app/assets/stylesheets/fae/modules/tables/_tooltips.scss +24 -0
  147. data/app/assets/stylesheets/fae/pages/_error.scss +35 -0
  148. data/app/assets/stylesheets/fae/pages/_help.scss +28 -0
  149. data/app/assets/stylesheets/fae/pages/_home.scss +18 -0
  150. data/app/assets/stylesheets/fae/pages/_login.scss +137 -0
  151. data/app/assets/stylesheets/fae/vendor/chosen.css +377 -0
  152. data/app/assets/stylesheets/fae/vendor/daterangepicker.css +227 -0
  153. data/app/assets/stylesheets/fae/vendor/reset.css +48 -0
  154. data/app/assets/stylesheets/fae/vendor/simplemde.min.css +7 -0
  155. data/app/assets/stylesheets/fae/vendor/trumbowyg.css +584 -0
  156. data/app/controllers/concerns/fae/application_controller_concern.rb +1 -0
  157. data/app/controllers/concerns/fae/asset_cloner.rb +46 -0
  158. data/app/controllers/concerns/fae/cloneable.rb +136 -0
  159. data/app/controllers/fae/application_controller.rb +123 -0
  160. data/app/controllers/fae/base_controller.rb +117 -0
  161. data/app/controllers/fae/files_controller.rb +26 -0
  162. data/app/controllers/fae/images_controller.rb +37 -0
  163. data/app/controllers/fae/nested_base_controller.rb +100 -0
  164. data/app/controllers/fae/options_controller.rb +29 -0
  165. data/app/controllers/fae/pages_controller.rb +44 -0
  166. data/app/controllers/fae/setup_controller.rb +54 -0
  167. data/app/controllers/fae/static_pages_controller.rb +54 -0
  168. data/app/controllers/fae/users_controller.rb +71 -0
  169. data/app/controllers/fae/utilities_controller.rb +61 -0
  170. data/app/helpers/fae/application_helper.rb +114 -0
  171. data/app/helpers/fae/fae_helper.rb +6 -0
  172. data/app/helpers/fae/form_helper.rb +240 -0
  173. data/app/helpers/fae/nested_form_helper.rb +39 -0
  174. data/app/helpers/fae/view_helper.rb +175 -0
  175. data/app/inputs/date_range_input.rb +17 -0
  176. data/app/inputs/radio_collection_input.rb +17 -0
  177. data/app/inputs/symbol_input.rb +5 -0
  178. data/app/models/concerns/fae/assets_validatable.rb +12 -0
  179. data/app/models/concerns/fae/authorization_concern.rb +12 -0
  180. data/app/models/concerns/fae/base_model_concern.rb +105 -0
  181. data/app/models/concerns/fae/change_concern.rb +1 -0
  182. data/app/models/concerns/fae/file_concern.rb +1 -0
  183. data/app/models/concerns/fae/image_concern.rb +1 -0
  184. data/app/models/concerns/fae/navigation_concern.rb +10 -0
  185. data/app/models/concerns/fae/option_concern.rb +1 -0
  186. data/app/models/concerns/fae/page_validatable.rb +26 -0
  187. data/app/models/concerns/fae/paper_trailer.rb +8 -0
  188. data/app/models/concerns/fae/role_concern.rb +1 -0
  189. data/app/models/concerns/fae/sortable.rb +51 -0
  190. data/app/models/concerns/fae/static_page_concern.rb +1 -0
  191. data/app/models/concerns/fae/text_area_concern.rb +1 -0
  192. data/app/models/concerns/fae/text_field_concern.rb +1 -0
  193. data/app/models/concerns/fae/trackable.rb +124 -0
  194. data/app/models/concerns/fae/user_concern.rb +7 -0
  195. data/app/models/fae/authorization.rb +8 -0
  196. data/app/models/fae/change.rb +53 -0
  197. data/app/models/fae/file.rb +24 -0
  198. data/app/models/fae/image.rb +33 -0
  199. data/app/models/fae/navigation.rb +132 -0
  200. data/app/models/fae/option.rb +38 -0
  201. data/app/models/fae/role.rb +18 -0
  202. data/app/models/fae/static_page.rb +109 -0
  203. data/app/models/fae/text_area.rb +14 -0
  204. data/app/models/fae/text_field.rb +14 -0
  205. data/app/models/fae/user.rb +67 -0
  206. data/app/uploaders/fae/file_uploader.rb +26 -0
  207. data/app/uploaders/fae/image_uploader.rb +28 -0
  208. data/app/validators/fae/cross_model_uniqueness_validator.rb +14 -0
  209. data/app/views/devise/confirmations/new.html.slim +13 -0
  210. data/app/views/devise/mailer/confirmation_instructions.html.slim +3 -0
  211. data/app/views/devise/mailer/reset_password_instructions.html.slim +5 -0
  212. data/app/views/devise/mailer/unlock_instructions.html.slim +4 -0
  213. data/app/views/devise/passwords/edit.html.slim +10 -0
  214. data/app/views/devise/passwords/new.html.slim +10 -0
  215. data/app/views/devise/registrations/edit.html.slim +22 -0
  216. data/app/views/devise/registrations/new.html.slim +15 -0
  217. data/app/views/devise/sessions/new.html.slim +7 -0
  218. data/app/views/devise/shared/_links.slim +25 -0
  219. data/app/views/devise/unlocks/new.html.slim +13 -0
  220. data/app/views/fae/application/_breadcrumb.html.slim +19 -0
  221. data/app/views/fae/application/_content_form.html.slim +55 -0
  222. data/app/views/fae/application/_credit.slim +6 -0
  223. data/app/views/fae/application/_file_uploader.html.slim +36 -0
  224. data/app/views/fae/application/_flash_messages.slim +2 -0
  225. data/app/views/fae/application/_global_search_results.html.slim +37 -0
  226. data/app/views/fae/application/_header.slim +50 -0
  227. data/app/views/fae/application/_markdown_helper.slim +41 -0
  228. data/app/views/fae/application/_mobilenav.slim +66 -0
  229. data/app/views/fae/application/_sidenav.slim +23 -0
  230. data/app/views/fae/application/_user_log.html.slim +36 -0
  231. data/app/views/fae/images/_image_uploader.html.slim +66 -0
  232. data/app/views/fae/options/_form.html.slim +16 -0
  233. data/app/views/fae/options/edit.html.slim +1 -0
  234. data/app/views/fae/pages/activity_log.html.slim +32 -0
  235. data/app/views/fae/pages/disabled_environment.html.slim +4 -0
  236. data/app/views/fae/pages/error404.html.slim +7 -0
  237. data/app/views/fae/pages/help.html.slim +35 -0
  238. data/app/views/fae/pages/home.html.slim +36 -0
  239. data/app/views/fae/setup/first_user.html.slim +11 -0
  240. data/app/views/fae/shared/_errors.slim +4 -0
  241. data/app/views/fae/shared/_form_header.html.slim +40 -0
  242. data/app/views/fae/shared/_index_header.html.slim +26 -0
  243. data/app/views/fae/shared/_nested_table.html.slim +49 -0
  244. data/app/views/fae/shared/_recent_changes.html.slim +22 -0
  245. data/app/views/fae/shared/_shared_nested_table.html.slim +46 -0
  246. data/app/views/fae/static_pages/index.html.slim +13 -0
  247. data/app/views/fae/users/_form.html.slim +19 -0
  248. data/app/views/fae/users/edit.html.slim +1 -0
  249. data/app/views/fae/users/index.html.slim +23 -0
  250. data/app/views/fae/users/new.html.slim +1 -0
  251. data/app/views/fae/users/settings.html.slim +1 -0
  252. data/app/views/kaminari/fae/_gap.html.slim +8 -0
  253. data/app/views/kaminari/fae/_next_page.html.slim +9 -0
  254. data/app/views/kaminari/fae/_page.html.slim +15 -0
  255. data/app/views/kaminari/fae/_paginator.html.slim +15 -0
  256. data/app/views/kaminari/fae/_prev_page.html.slim +9 -0
  257. data/app/views/layouts/devise.html.slim +29 -0
  258. data/app/views/layouts/fae/application.html.slim +23 -0
  259. data/app/views/layouts/fae/error.html.slim +11 -0
  260. data/config/deploy.rb +73 -0
  261. data/config/deploy/dev.rb +19 -0
  262. data/config/deploy/prod.rb +19 -0
  263. data/config/deploy/stage.rb +19 -0
  264. data/config/initializers/assets.rb +1 -0
  265. data/config/initializers/carrierwave.rb +3 -0
  266. data/config/initializers/devise.rb +258 -0
  267. data/config/initializers/devise_monkeypatch.rb +11 -0
  268. data/config/initializers/fae_judge.rb +3 -0
  269. data/config/initializers/inflections.rb +16 -0
  270. data/config/initializers/kaminari_config.rb +10 -0
  271. data/config/initializers/simple_form.rb +147 -0
  272. data/config/initializers/time_formats.rb +3 -0
  273. data/config/locales/devise.en.yml +59 -0
  274. data/config/locales/devise.zh-CN.yml +59 -0
  275. data/config/locales/fae.en.yml +10 -0
  276. data/config/locales/fae.zh-CN.yml +10 -0
  277. data/config/locales/simple_form.en.yml +26 -0
  278. data/config/locales/simple_form.zh-CN.yml +26 -0
  279. data/config/routes.rb +46 -0
  280. data/db/migrate/20140809222030_add_user_table.rb +49 -0
  281. data/db/migrate/20140822224029_create_fae_roles.rb +10 -0
  282. data/db/migrate/20141008180718_create_fae_images_table.rb +19 -0
  283. data/db/migrate/20141017194616_create_fae_options.rb +16 -0
  284. data/db/migrate/20141021181327_create_fae_files.rb +17 -0
  285. data/db/migrate/20141021183047_create_fae_text_areas.rb +16 -0
  286. data/db/migrate/20141021184311_create_fae_pages.rb +13 -0
  287. data/db/migrate/20141105214814_create_fae_text_fields.rb +15 -0
  288. data/db/migrate/20150930224821_create_fae_changes.rb +17 -0
  289. data/lib/fae-rails.rb +6 -0
  290. data/lib/fae/concerns/models/base.rb +8 -0
  291. data/lib/fae/engine.rb +37 -0
  292. data/lib/fae/options.rb +35 -0
  293. data/lib/fae/validation_helper_collection.rb +76 -0
  294. data/lib/fae/version.rb +3 -0
  295. data/lib/file_size_validator.rb +71 -0
  296. data/lib/generators/fae/base_generator.rb +156 -0
  297. data/lib/generators/fae/controller_generator.rb +13 -0
  298. data/lib/generators/fae/install_generator.rb +61 -0
  299. data/lib/generators/fae/model_generator.rb +11 -0
  300. data/lib/generators/fae/nested_index_scaffold_generator.rb +36 -0
  301. data/lib/generators/fae/nested_scaffold_generator.rb +51 -0
  302. data/lib/generators/fae/page_generator.rb +65 -0
  303. data/lib/generators/fae/scaffold_generator.rb +15 -0
  304. data/lib/generators/fae/templates/assets/fae.js +6 -0
  305. data/lib/generators/fae/templates/assets/fae.scss +2 -0
  306. data/lib/generators/fae/templates/controllers/nested_index_scaffold_controller.rb +81 -0
  307. data/lib/generators/fae/templates/controllers/nested_scaffold_controller.rb +13 -0
  308. data/lib/generators/fae/templates/controllers/scaffold_controller.rb +13 -0
  309. data/lib/generators/fae/templates/controllers/static_pages_controller.rb +10 -0
  310. data/lib/generators/fae/templates/initializers/fae.rb +63 -0
  311. data/lib/generators/fae/templates/initializers/fae_fine.rb +51 -0
  312. data/lib/generators/fae/templates/initializers/judge.rb +6 -0
  313. data/lib/generators/fae/templates/models/concerns/authorization_concern.rb +27 -0
  314. data/lib/generators/fae/templates/models/concerns/navigation_concern.rb +33 -0
  315. data/lib/generators/fae/templates/models/pages_model.rb +14 -0
  316. data/lib/generators/fae/templates/tasks/fae_tasks.rake +19 -0
  317. data/lib/generators/fae/templates/views/_form.html.slim +18 -0
  318. data/lib/generators/fae/templates/views/_form_index_nested.html.slim +13 -0
  319. data/lib/generators/fae/templates/views/_form_nested.html.slim +17 -0
  320. data/lib/generators/fae/templates/views/edit.html.slim +1 -0
  321. data/lib/generators/fae/templates/views/edit_nested.html.slim +3 -0
  322. data/lib/generators/fae/templates/views/index.html.slim +35 -0
  323. data/lib/generators/fae/templates/views/index_nested.html.slim +8 -0
  324. data/lib/generators/fae/templates/views/new.html.slim +1 -0
  325. data/lib/generators/fae/templates/views/new_nested.html.slim +3 -0
  326. data/lib/generators/fae/templates/views/static_page_form.html.slim +15 -0
  327. data/lib/generators/fae/templates/views/table_nested.html.slim +4 -0
  328. metadata +692 -0
@@ -0,0 +1,51 @@
1
+ Fae.setup do |config|
2
+
3
+ ## devise_mailer_sender
4
+ # This email address will get passed to Devise and
5
+ # used as the from address in the password reset emails.
6
+ # config.devise_mailer_sender = 'change-me@example.com'
7
+
8
+ ## dashboard_exclusions
9
+ # The dashboard will show all objects with recent activity.
10
+ # To exclude any objects, add them to this array.
11
+ # config.dashboard_exclusions = %w( Gallery )
12
+
13
+ ## max_image_upload_size
14
+ # This will set a file size limit on image uploads in MBs.
15
+ # The default is 2 MB.
16
+ # config.max_image_upload_size = 2
17
+
18
+ ## max_file_upload_size
19
+ # This will set a file size limit on file uploads in MBs.
20
+ # The default is 5 MB.
21
+ # config.max_file_upload_size = 5
22
+
23
+ ## languages
24
+ # This hash sets the supported languages for the multiple
25
+ # language toggle feature.
26
+ # config.languages = {
27
+ # en: 'English',
28
+ # zh: 'Chinese'
29
+ # }
30
+
31
+ ## recreate_versions
32
+ # Triggers `Fae::Image` to recreate Carrierwave versions after save.
33
+ # Defaults to false
34
+ # config.recreate_versions = false
35
+
36
+ ## track_changes
37
+ # This is the global toggle for the change tracker.
38
+ # Defaults to true
39
+ # config.track_changes = true
40
+
41
+ ## tracker_history_length
42
+ # This defines how many changes per object are kept in the DB
43
+ # via the change tracker.
44
+ # Defaults to 15
45
+ # config.tracker_history_length = 15
46
+
47
+ ## disabled_environments
48
+ # This option will disable Fae complete when the app is running
49
+ # on one of the defined environments
50
+ config.disabled_environments = [ :stage ]
51
+ end
@@ -0,0 +1,6 @@
1
+ # expose uniqueness attributes in Judge in here with the following syntax
2
+ #
3
+ # Judge.configure do
4
+ # expose Model1, :attr
5
+ # expose Model2, :attr1, :attr2
6
+ # end
@@ -0,0 +1,27 @@
1
+ module Fae
2
+ module AuthorizationConcern
3
+ extend ActiveSupport::Concern
4
+ module ClassMethods
5
+
6
+ # Use the access_map to define any controllers that need any special authorization
7
+ # Fae comes with three default roles:
8
+ # - super admin: CRUD all objects, INCLUDING users and root settings
9
+ # - admin: CRUD all objects, INCLUDING users and EXCLUDING root settings
10
+ # - users: CRUD all objects, EXCLUDING users and root settings
11
+
12
+ # each item should have a string key of the plural controller name and
13
+ # an array of role names for the value
14
+ # use "content_blocks/#{page_name}" for content blocks
15
+
16
+ # example:
17
+ # {
18
+ # 'people' => ['super admin', 'admin'],
19
+ # 'content_blocks/about_us' => ['super admin']
20
+ # }
21
+ def access_map
22
+ {}
23
+ end
24
+
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,33 @@
1
+ module Fae
2
+ module NavigationConcern
3
+ extend ActiveSupport::Concern
4
+
5
+ # define the navigation structure in this file
6
+ # example structure:
7
+ #
8
+ # def structure
9
+ # [
10
+ # item('Top Nav Item 1', subitems: [
11
+ # item('Top Nav Dropdown Item 1', class: 'custom-class', path: some_named_route_path),
12
+ # item('Top Nav Dropdown Item 2', subitems: [
13
+ # item('Side Nav Item 1', subitems: [
14
+ # item('Side Nav Nested Item', path: some_named_route_path)
15
+ # ]),
16
+ # item('Side Nav Item 1', path: some_named_route_path)
17
+ # ]),
18
+ # ]),
19
+ # item('Pages', subitems: [
20
+ # item('Home', path: fae.edit_content_block_path('home')),
21
+ # item('About Us', path: fae.edit_content_block_path('about_us'))
22
+ # ])
23
+ # ]
24
+ # end
25
+
26
+ def structure
27
+ [
28
+ # scaffold inject marker
29
+ ]
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,14 @@
1
+ class <%= class_name %>Page < Fae::StaticPage
2
+
3
+ @slug = '<%= file_name %>'
4
+
5
+ # required to set the has_one associations, Fae::StaticPage will build these associations dynamically
6
+ def self.fae_fields
7
+ {
8
+ <% @attributes.each_with_index do |(attr, type), index| -%>
9
+ <%= attr %>: { type: <%= type %> }<%= index + 1 != @attributes.length ? ",\n" : "\n" -%>
10
+ <% end -%>
11
+ }
12
+ end
13
+
14
+ end
@@ -0,0 +1,19 @@
1
+ namespace :fae do
2
+ desc "Seeds the parent app with Fae's defaults"
3
+ task :seed_db => :environment do
4
+ Fae::Role.delete_all
5
+ Fae::Role.create(name: 'super admin', position: 0)
6
+ Fae::Role.create(name: 'admin', position: 1)
7
+ Fae::Role.create(name: 'user', position: 2)
8
+
9
+ if Fae::Option.first.blank?
10
+ option = Fae::Option.new({
11
+ title: 'My FINE Admin',
12
+ singleton_guard: 0,
13
+ time_zone: 'Pacific Time (US & Canada)',
14
+ live_url: 'http://www.wearefine.com'
15
+ })
16
+ option.save!
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ = simple_form_for(['admin', @item]) do |f|
2
+ == render 'fae/shared/form_header', header: @klass_name
3
+
4
+ main.content
5
+ <% @form_attrs.each do |attr| -%>
6
+ = fae_input f, :<%= attr %>
7
+ <% end -%>
8
+
9
+ <% @association_names.each do |attr| -%>
10
+ = fae_association f, :<%= attr %>
11
+ <% end -%>
12
+ <% @attachments.each do |attachment| %>
13
+ <% if attachment.type == :image -%>
14
+ = fae_image_form f, :<%= attachment.name -%>
15
+ <% elsif attachment.type == :file -%>
16
+ = fae_file_form f, :<%= attachment.name -%>
17
+ <% end -%>
18
+ <% end -%>
@@ -0,0 +1,13 @@
1
+ = simple_form_for(['<%= options.namespace %>', @item], html: {multipart: true, novalidate: true, class: 'js-file-form'}, remote: true, data: {type: "html"}) do |f|
2
+ <% @form_attrs.each do |attr| -%>
3
+ = fae_input f, :<%= attr %>
4
+ <% end -%>
5
+ <% @attachments.each do |attachment| %>
6
+ <% if attachment.type == :image -%>
7
+ = fae_image_form f, :<%= attachment.name -%>
8
+ <% elsif attachment.type == :file -%>
9
+ = fae_file_form f, :<%= attachment.name -%>
10
+ <% end -%>
11
+ <% end -%>
12
+
13
+ = f.submit
@@ -0,0 +1,17 @@
1
+ = simple_form_for(['<%= options.namespace %>', @item], html: {multipart: true, novalidate: true, class: 'js-file-form'}, remote: true, data: {type: "html"}) do |f|
2
+ <% @form_attrs.each do |attr| -%>
3
+ = fae_input f, :<%= attr %>
4
+ <% end -%>
5
+ <% @attachments.each do |attachment| %>
6
+ <% if attachment.type == :image -%>
7
+ = fae_image_form f, :<%= attachment.name -%>
8
+ <% elsif attachment.type == :file -%>
9
+ = fae_file_form f, :<%= attachment.name -%>
10
+ <% end -%>
11
+ <% end -%>
12
+ <% if options.parent_model.present? %>
13
+ = f.hidden_field :<%= options.parent_model.underscore %>_id
14
+ <% end -%>
15
+
16
+ = f.submit
17
+ = button_tag 'Cancel', type: 'button', class: 'js-cancel-nested cancel-nested-button'
@@ -0,0 +1 @@
1
+ == render 'form'
@@ -0,0 +1,3 @@
1
+ .nested-form
2
+ h2 Edit <%= class_name.titleize %>
3
+ == render 'form'
@@ -0,0 +1,35 @@
1
+ <% table_class = @has_position ? 'js-sort-row' : 'js-sort-column' -%>
2
+ <% num_columns = 3 -%>
3
+ == render 'fae/shared/index_header', title: @klass_humanized.pluralize.titleize
4
+
5
+ main.content
6
+ table.<%= table_class %>
7
+ thead
8
+ tr
9
+ <% if @has_position -%>
10
+ th.th-sortable-handle
11
+ <% num_columns += 1 -%>
12
+ <% end -%>
13
+ th <%= @display_field.present? ? @display_field.titleize : 'Name' %>
14
+ th.-action-wide Modified
15
+ <% @toggle_attrs.each do |attr| -%>
16
+ th.-action-wide data-sorter="false" <%= attr.titleize %>
17
+ <% num_columns += 1 -%>
18
+ <% end -%>
19
+ th.-action data-sorter="false"
20
+
21
+ tbody
22
+ - if @items.present?
23
+ - @items.each do |item|
24
+ tr id=fae_sort_id(item)
25
+ <% if @has_position -%>
26
+ td.sortable-handle: i.icon-sort
27
+ <% end -%>
28
+ td = link_to item.fae_display_field, edit_<%= options.namespace %>_<%= class_name.underscore %>_path(item)
29
+ td = fae_date_format item.updated_at
30
+ <% @toggle_attrs.each do |attr| -%>
31
+ td = fae_toggle item, :<%= attr %>
32
+ <% end -%>
33
+ td = fae_delete_button item
34
+ - else
35
+ tr: td colspan="<%= num_columns %>" No items found
@@ -0,0 +1,8 @@
1
+ section.js-index-addedit-form
2
+ == render 'fae/shared/index_header', nested: true
3
+
4
+ == render 'fae/shared/nested_table',
5
+ assoc: :<%= file_name.pluralize %>,
6
+ index: true,
7
+ ordered: <%= @has_position %>,
8
+ cols: [<%= @form_attrs.map {|attr| ":#{attr}"}.join(', ') %>]
@@ -0,0 +1 @@
1
+ == render 'form'
@@ -0,0 +1,3 @@
1
+ .nested-form
2
+ h2 New <%= class_name.titleize %>
3
+ == render 'form'
@@ -0,0 +1,15 @@
1
+ = simple_form_for @item, url: fae.update_content_block_path(slug: @item.slug), method: :put do |f|
2
+ == render 'fae/shared/form_header', header: @item
3
+
4
+ main.content
5
+ = fae_input f, :title
6
+
7
+ <% @attributes.each do |attr, type| -%>
8
+ <% if ["Fae::TextArea", "Fae::TextField"].include? type -%>
9
+ = fae_content_form f, :<%= attr %>
10
+ <% elsif "Fae::Image" == type -%>
11
+ = fae_image_form f, :<%= attr %>
12
+ <% elsif "Fae::File" == type -%>
13
+ = fae_file_form f, :<%= attr %>
14
+ <% end -%>
15
+ <% end -%>
@@ -0,0 +1,4 @@
1
+ == render 'fae/shared/nested_table',
2
+ assoc: :<%= file_name.pluralize %>,
3
+ parent_item: @parent_item,
4
+ cols: [<%= @form_attrs.map {|attr| ":#{attr}"}.join(', ') %>]
metadata ADDED
@@ -0,0 +1,692 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fae-railsz
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.0
5
+ platform: ruby
6
+ authors:
7
+ - htmldrum
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-09-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jquery-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 4.3.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 4.3.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: sass
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 3.4.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.4.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: sass-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 5.0.7
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 5.0.7
69
+ - !ruby/object:Gem::Dependency
70
+ name: uglifier
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: acts_as_list
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.9.11
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.9.11
97
+ - !ruby/object:Gem::Dependency
98
+ name: browser
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 2.5.3
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 2.5.3
111
+ - !ruby/object:Gem::Dependency
112
+ name: carrierwave
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.2.2
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.2.2
125
+ - !ruby/object:Gem::Dependency
126
+ name: devise
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 4.4.3
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 4.4.3
139
+ - !ruby/object:Gem::Dependency
140
+ name: jquery-ui-rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 6.0.1
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 6.0.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: mini_magick
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: judge
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 3.0.0
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 3.0.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: judge-simple_form
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: 1.1.0
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: 1.1.0
195
+ - !ruby/object:Gem::Dependency
196
+ name: kaminari
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 1.1.1
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 1.1.1
209
+ - !ruby/object:Gem::Dependency
210
+ name: remotipart
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 1.4.0
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 1.4.0
223
+ - !ruby/object:Gem::Dependency
224
+ name: simple_form
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 4.0.0
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 4.0.0
237
+ - !ruby/object:Gem::Dependency
238
+ name: slim
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: appraisal
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: better_errors
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: binding_of_caller
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ - !ruby/object:Gem::Dependency
294
+ name: rails-perftest
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: ruby-prof
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - ">="
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ - !ruby/object:Gem::Dependency
322
+ name: thin
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ description: CMS for Rails. For Reals.
336
+ email:
337
+ - htmldrum@tutanota.com
338
+ executables: []
339
+ extensions: []
340
+ extra_rdoc_files: []
341
+ files:
342
+ - README.md
343
+ - Rakefile
344
+ - app/assets/fonts/fae/icons.eot
345
+ - app/assets/fonts/fae/icons.svg
346
+ - app/assets/fonts/fae/icons.ttf
347
+ - app/assets/fonts/fae/icons.woff
348
+ - app/assets/fonts/fae/lato-bold-webfont.eot
349
+ - app/assets/fonts/fae/lato-bold-webfont.svg
350
+ - app/assets/fonts/fae/lato-bold-webfont.ttf
351
+ - app/assets/fonts/fae/lato-bold-webfont.woff
352
+ - app/assets/fonts/fae/lato-light-webfont.eot
353
+ - app/assets/fonts/fae/lato-light-webfont.svg
354
+ - app/assets/fonts/fae/lato-light-webfont.ttf
355
+ - app/assets/fonts/fae/lato-light-webfont.woff
356
+ - app/assets/fonts/fae/lato-regular-webfont.eot
357
+ - app/assets/fonts/fae/lato-regular-webfont.svg
358
+ - app/assets/fonts/fae/lato-regular-webfont.ttf
359
+ - app/assets/fonts/fae/lato-regular-webfont.woff
360
+ - app/assets/fonts/fae/selection.json
361
+ - app/assets/images/fae/error_bg.jpg
362
+ - app/assets/images/fae/error_sad_face.png
363
+ - app/assets/images/fae/icons/alert.svg
364
+ - app/assets/images/fae/icons/arrow_down.svg
365
+ - app/assets/images/fae/icons/arrow_left.svg
366
+ - app/assets/images/fae/icons/arrow_right.svg
367
+ - app/assets/images/fae/icons/arrow_stacked.svg
368
+ - app/assets/images/fae/icons/arrow_up.svg
369
+ - app/assets/images/fae/icons/calendar.svg
370
+ - app/assets/images/fae/icons/check.svg
371
+ - app/assets/images/fae/icons/checkmark.svg
372
+ - app/assets/images/fae/icons/chevron_down.svg
373
+ - app/assets/images/fae/icons/chevron_left.svg
374
+ - app/assets/images/fae/icons/chevron_right.svg
375
+ - app/assets/images/fae/icons/chevron_up.svg
376
+ - app/assets/images/fae/icons/delete.svg
377
+ - app/assets/images/fae/icons/delete_x.svg
378
+ - app/assets/images/fae/icons/edit.svg
379
+ - app/assets/images/fae/icons/handle.svg
380
+ - app/assets/images/fae/icons/home.svg
381
+ - app/assets/images/fae/icons/logout.svg
382
+ - app/assets/images/fae/icons/magnifying_glass.svg
383
+ - app/assets/images/fae/icons/menu.svg
384
+ - app/assets/images/fae/icons/offlink.svg
385
+ - app/assets/images/fae/icons/plus.svg
386
+ - app/assets/images/fae/icons/pulldown.svg
387
+ - app/assets/images/fae/icons/search.svg
388
+ - app/assets/images/fae/icons/settings.svg
389
+ - app/assets/images/fae/icons/sort.svg
390
+ - app/assets/images/fae/icons/support.svg
391
+ - app/assets/images/fae/icons/trash.svg
392
+ - app/assets/images/fae/icons/trumbowyg.svg
393
+ - app/assets/images/fae/icons/user.svg
394
+ - app/assets/images/fae/icons/users.svg
395
+ - app/assets/images/fae/icons/zoom.svg
396
+ - app/assets/images/fae/tutorial_model_location.png
397
+ - app/assets/images/fae/youtube_helper.jpg
398
+ - app/assets/javascripts/fae/_modals.js
399
+ - app/assets/javascripts/fae/_tables.js
400
+ - app/assets/javascripts/fae/admin.js.erb
401
+ - app/assets/javascripts/fae/application.js
402
+ - app/assets/javascripts/fae/fae_init.js
403
+ - app/assets/javascripts/fae/form/_ajax.js
404
+ - app/assets/javascripts/fae/form/_cancel.js
405
+ - app/assets/javascripts/fae/form/_filtering.js
406
+ - app/assets/javascripts/fae/form/_form.js
407
+ - app/assets/javascripts/fae/form/_slugger.js.erb
408
+ - app/assets/javascripts/fae/form/_validator.js
409
+ - app/assets/javascripts/fae/form/fae_chosen.js
410
+ - app/assets/javascripts/fae/form/fileinputer.js
411
+ - app/assets/javascripts/fae/form/hinter.js
412
+ - app/assets/javascripts/fae/form/inputs/_checkbox.js
413
+ - app/assets/javascripts/fae/form/inputs/_color.js
414
+ - app/assets/javascripts/fae/form/inputs/_dates.js
415
+ - app/assets/javascripts/fae/form/inputs/_select.js
416
+ - app/assets/javascripts/fae/form/inputs/_text.js
417
+ - app/assets/javascripts/fae/navigation/_global_search.js
418
+ - app/assets/javascripts/fae/navigation/_language.js
419
+ - app/assets/javascripts/fae/navigation/_navigation.js
420
+ - app/assets/javascripts/fae/navigation/_subnav_highlighter.js
421
+ - app/assets/javascripts/fae/navigation/sticky.js
422
+ - app/assets/javascripts/fae/vendor/chosen.jquery.min.js
423
+ - app/assets/javascripts/fae/vendor/frob_core_helpers.js
424
+ - app/assets/javascripts/fae/vendor/fryr.js
425
+ - app/assets/javascripts/fae/vendor/jqColorPicker.min.js
426
+ - app/assets/javascripts/fae/vendor/jquery.daterangepicker.js
427
+ - app/assets/javascripts/fae/vendor/jquery.multi-select.js
428
+ - app/assets/javascripts/fae/vendor/jquery.simplemodal.1.4.4.js
429
+ - app/assets/javascripts/fae/vendor/jquery.tablesorter.js
430
+ - app/assets/javascripts/fae/vendor/js.cookie.js
431
+ - app/assets/javascripts/fae/vendor/moment.min.js
432
+ - app/assets/javascripts/fae/vendor/simplemde.min.js
433
+ - app/assets/javascripts/fae/vendor/touch_punch.js
434
+ - app/assets/javascripts/fae/vendor/trumbowyg.js.erb
435
+ - app/assets/javascripts/fae/vendor/trumbowyg/plugins/upload/trumbowyg.upload.js
436
+ - app/assets/javascripts/fae/vendor/trumbowyg/trumbowyg.js
437
+ - app/assets/stylesheets/fae/application.css
438
+ - app/assets/stylesheets/fae/base.scss
439
+ - app/assets/stylesheets/fae/globals/_fonts.scss
440
+ - app/assets/stylesheets/fae/globals/_icons.scss
441
+ - app/assets/stylesheets/fae/globals/_plugins.scss
442
+ - app/assets/stylesheets/fae/globals/_tags.scss
443
+ - app/assets/stylesheets/fae/globals/imports/_extends.scss
444
+ - app/assets/stylesheets/fae/globals/imports/_mixins.scss
445
+ - app/assets/stylesheets/fae/globals/imports/_variables.scss
446
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine.scss
447
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine_functions.scss
448
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine_mixins.scss
449
+ - app/assets/stylesheets/fae/globals/imports/finescss/_fine_variables.scss
450
+ - app/assets/stylesheets/fae/globals/layout/_base.scss
451
+ - app/assets/stylesheets/fae/globals/layout/_breadcrumbs.scss
452
+ - app/assets/stylesheets/fae/globals/layout/_content-header.scss
453
+ - app/assets/stylesheets/fae/globals/legacy/_pre-1.3.scss
454
+ - app/assets/stylesheets/fae/globals/navigation/_base.scss
455
+ - app/assets/stylesheets/fae/globals/navigation/_footer.scss
456
+ - app/assets/stylesheets/fae/globals/navigation/_header.scss
457
+ - app/assets/stylesheets/fae/globals/navigation/_mobilenav.scss
458
+ - app/assets/stylesheets/fae/globals/navigation/_search.scss
459
+ - app/assets/stylesheets/fae/globals/navigation/_sidenav.scss
460
+ - app/assets/stylesheets/fae/globals/navigation/_utility.scss
461
+ - app/assets/stylesheets/fae/modules/_alerts.scss
462
+ - app/assets/stylesheets/fae/modules/_buttons.scss
463
+ - app/assets/stylesheets/fae/modules/_modal.scss
464
+ - app/assets/stylesheets/fae/modules/_toggles.scss
465
+ - app/assets/stylesheets/fae/modules/forms/_asset-actions.scss
466
+ - app/assets/stylesheets/fae/modules/forms/_base.scss
467
+ - app/assets/stylesheets/fae/modules/forms/_checkbox.scss
468
+ - app/assets/stylesheets/fae/modules/forms/_colorpicker.scss
469
+ - app/assets/stylesheets/fae/modules/forms/_date.scss
470
+ - app/assets/stylesheets/fae/modules/forms/_hints.scss
471
+ - app/assets/stylesheets/fae/modules/forms/_label.scss
472
+ - app/assets/stylesheets/fae/modules/forms/_radio.scss
473
+ - app/assets/stylesheets/fae/modules/forms/_select.scss
474
+ - app/assets/stylesheets/fae/modules/forms/_simple-mde.scss
475
+ - app/assets/stylesheets/fae/modules/forms/_text.scss
476
+ - app/assets/stylesheets/fae/modules/forms/_textarea.scss
477
+ - app/assets/stylesheets/fae/modules/forms/_validation.scss
478
+ - app/assets/stylesheets/fae/modules/tables/_actions.scss
479
+ - app/assets/stylesheets/fae/modules/tables/_base.scss
480
+ - app/assets/stylesheets/fae/modules/tables/_collapsible.scss
481
+ - app/assets/stylesheets/fae/modules/tables/_filters.scss
482
+ - app/assets/stylesheets/fae/modules/tables/_image.scss
483
+ - app/assets/stylesheets/fae/modules/tables/_pagination.scss
484
+ - app/assets/stylesheets/fae/modules/tables/_sorting.scss
485
+ - app/assets/stylesheets/fae/modules/tables/_sticky.scss
486
+ - app/assets/stylesheets/fae/modules/tables/_tooltips.scss
487
+ - app/assets/stylesheets/fae/pages/_error.scss
488
+ - app/assets/stylesheets/fae/pages/_help.scss
489
+ - app/assets/stylesheets/fae/pages/_home.scss
490
+ - app/assets/stylesheets/fae/pages/_login.scss
491
+ - app/assets/stylesheets/fae/vendor/chosen.css
492
+ - app/assets/stylesheets/fae/vendor/daterangepicker.css
493
+ - app/assets/stylesheets/fae/vendor/reset.css
494
+ - app/assets/stylesheets/fae/vendor/simplemde.min.css
495
+ - app/assets/stylesheets/fae/vendor/trumbowyg.css
496
+ - app/controllers/concerns/fae/application_controller_concern.rb
497
+ - app/controllers/concerns/fae/asset_cloner.rb
498
+ - app/controllers/concerns/fae/cloneable.rb
499
+ - app/controllers/fae/application_controller.rb
500
+ - app/controllers/fae/base_controller.rb
501
+ - app/controllers/fae/files_controller.rb
502
+ - app/controllers/fae/images_controller.rb
503
+ - app/controllers/fae/nested_base_controller.rb
504
+ - app/controllers/fae/options_controller.rb
505
+ - app/controllers/fae/pages_controller.rb
506
+ - app/controllers/fae/setup_controller.rb
507
+ - app/controllers/fae/static_pages_controller.rb
508
+ - app/controllers/fae/users_controller.rb
509
+ - app/controllers/fae/utilities_controller.rb
510
+ - app/helpers/fae/application_helper.rb
511
+ - app/helpers/fae/fae_helper.rb
512
+ - app/helpers/fae/form_helper.rb
513
+ - app/helpers/fae/nested_form_helper.rb
514
+ - app/helpers/fae/view_helper.rb
515
+ - app/inputs/date_range_input.rb
516
+ - app/inputs/radio_collection_input.rb
517
+ - app/inputs/symbol_input.rb
518
+ - app/models/concerns/fae/assets_validatable.rb
519
+ - app/models/concerns/fae/authorization_concern.rb
520
+ - app/models/concerns/fae/base_model_concern.rb
521
+ - app/models/concerns/fae/change_concern.rb
522
+ - app/models/concerns/fae/file_concern.rb
523
+ - app/models/concerns/fae/image_concern.rb
524
+ - app/models/concerns/fae/navigation_concern.rb
525
+ - app/models/concerns/fae/option_concern.rb
526
+ - app/models/concerns/fae/page_validatable.rb
527
+ - app/models/concerns/fae/paper_trailer.rb
528
+ - app/models/concerns/fae/role_concern.rb
529
+ - app/models/concerns/fae/sortable.rb
530
+ - app/models/concerns/fae/static_page_concern.rb
531
+ - app/models/concerns/fae/text_area_concern.rb
532
+ - app/models/concerns/fae/text_field_concern.rb
533
+ - app/models/concerns/fae/trackable.rb
534
+ - app/models/concerns/fae/user_concern.rb
535
+ - app/models/fae/authorization.rb
536
+ - app/models/fae/change.rb
537
+ - app/models/fae/file.rb
538
+ - app/models/fae/image.rb
539
+ - app/models/fae/navigation.rb
540
+ - app/models/fae/option.rb
541
+ - app/models/fae/role.rb
542
+ - app/models/fae/static_page.rb
543
+ - app/models/fae/text_area.rb
544
+ - app/models/fae/text_field.rb
545
+ - app/models/fae/user.rb
546
+ - app/uploaders/fae/file_uploader.rb
547
+ - app/uploaders/fae/image_uploader.rb
548
+ - app/validators/fae/cross_model_uniqueness_validator.rb
549
+ - app/views/devise/confirmations/new.html.slim
550
+ - app/views/devise/mailer/confirmation_instructions.html.slim
551
+ - app/views/devise/mailer/reset_password_instructions.html.slim
552
+ - app/views/devise/mailer/unlock_instructions.html.slim
553
+ - app/views/devise/passwords/edit.html.slim
554
+ - app/views/devise/passwords/new.html.slim
555
+ - app/views/devise/registrations/edit.html.slim
556
+ - app/views/devise/registrations/new.html.slim
557
+ - app/views/devise/sessions/new.html.slim
558
+ - app/views/devise/shared/_links.slim
559
+ - app/views/devise/unlocks/new.html.slim
560
+ - app/views/fae/application/_breadcrumb.html.slim
561
+ - app/views/fae/application/_content_form.html.slim
562
+ - app/views/fae/application/_credit.slim
563
+ - app/views/fae/application/_file_uploader.html.slim
564
+ - app/views/fae/application/_flash_messages.slim
565
+ - app/views/fae/application/_global_search_results.html.slim
566
+ - app/views/fae/application/_header.slim
567
+ - app/views/fae/application/_markdown_helper.slim
568
+ - app/views/fae/application/_mobilenav.slim
569
+ - app/views/fae/application/_sidenav.slim
570
+ - app/views/fae/application/_user_log.html.slim
571
+ - app/views/fae/images/_image_uploader.html.slim
572
+ - app/views/fae/options/_form.html.slim
573
+ - app/views/fae/options/edit.html.slim
574
+ - app/views/fae/pages/activity_log.html.slim
575
+ - app/views/fae/pages/disabled_environment.html.slim
576
+ - app/views/fae/pages/error404.html.slim
577
+ - app/views/fae/pages/help.html.slim
578
+ - app/views/fae/pages/home.html.slim
579
+ - app/views/fae/setup/first_user.html.slim
580
+ - app/views/fae/shared/_errors.slim
581
+ - app/views/fae/shared/_form_header.html.slim
582
+ - app/views/fae/shared/_index_header.html.slim
583
+ - app/views/fae/shared/_nested_table.html.slim
584
+ - app/views/fae/shared/_recent_changes.html.slim
585
+ - app/views/fae/shared/_shared_nested_table.html.slim
586
+ - app/views/fae/static_pages/index.html.slim
587
+ - app/views/fae/users/_form.html.slim
588
+ - app/views/fae/users/edit.html.slim
589
+ - app/views/fae/users/index.html.slim
590
+ - app/views/fae/users/new.html.slim
591
+ - app/views/fae/users/settings.html.slim
592
+ - app/views/kaminari/fae/_gap.html.slim
593
+ - app/views/kaminari/fae/_next_page.html.slim
594
+ - app/views/kaminari/fae/_page.html.slim
595
+ - app/views/kaminari/fae/_paginator.html.slim
596
+ - app/views/kaminari/fae/_prev_page.html.slim
597
+ - app/views/layouts/devise.html.slim
598
+ - app/views/layouts/fae/application.html.slim
599
+ - app/views/layouts/fae/error.html.slim
600
+ - config/deploy.rb
601
+ - config/deploy/dev.rb
602
+ - config/deploy/prod.rb
603
+ - config/deploy/stage.rb
604
+ - config/initializers/assets.rb
605
+ - config/initializers/carrierwave.rb
606
+ - config/initializers/devise.rb
607
+ - config/initializers/devise_monkeypatch.rb
608
+ - config/initializers/fae_judge.rb
609
+ - config/initializers/inflections.rb
610
+ - config/initializers/kaminari_config.rb
611
+ - config/initializers/simple_form.rb
612
+ - config/initializers/time_formats.rb
613
+ - config/locales/devise.en.yml
614
+ - config/locales/devise.zh-CN.yml
615
+ - config/locales/fae.en.yml
616
+ - config/locales/fae.zh-CN.yml
617
+ - config/locales/simple_form.en.yml
618
+ - config/locales/simple_form.zh-CN.yml
619
+ - config/routes.rb
620
+ - db/migrate/20140809222030_add_user_table.rb
621
+ - db/migrate/20140822224029_create_fae_roles.rb
622
+ - db/migrate/20141008180718_create_fae_images_table.rb
623
+ - db/migrate/20141017194616_create_fae_options.rb
624
+ - db/migrate/20141021181327_create_fae_files.rb
625
+ - db/migrate/20141021183047_create_fae_text_areas.rb
626
+ - db/migrate/20141021184311_create_fae_pages.rb
627
+ - db/migrate/20141105214814_create_fae_text_fields.rb
628
+ - db/migrate/20150930224821_create_fae_changes.rb
629
+ - lib/fae-rails.rb
630
+ - lib/fae/concerns/models/base.rb
631
+ - lib/fae/engine.rb
632
+ - lib/fae/options.rb
633
+ - lib/fae/validation_helper_collection.rb
634
+ - lib/fae/version.rb
635
+ - lib/file_size_validator.rb
636
+ - lib/generators/fae/base_generator.rb
637
+ - lib/generators/fae/controller_generator.rb
638
+ - lib/generators/fae/install_generator.rb
639
+ - lib/generators/fae/model_generator.rb
640
+ - lib/generators/fae/nested_index_scaffold_generator.rb
641
+ - lib/generators/fae/nested_scaffold_generator.rb
642
+ - lib/generators/fae/page_generator.rb
643
+ - lib/generators/fae/scaffold_generator.rb
644
+ - lib/generators/fae/templates/assets/fae.js
645
+ - lib/generators/fae/templates/assets/fae.scss
646
+ - lib/generators/fae/templates/controllers/nested_index_scaffold_controller.rb
647
+ - lib/generators/fae/templates/controllers/nested_scaffold_controller.rb
648
+ - lib/generators/fae/templates/controllers/scaffold_controller.rb
649
+ - lib/generators/fae/templates/controllers/static_pages_controller.rb
650
+ - lib/generators/fae/templates/initializers/fae.rb
651
+ - lib/generators/fae/templates/initializers/fae_fine.rb
652
+ - lib/generators/fae/templates/initializers/judge.rb
653
+ - lib/generators/fae/templates/models/concerns/authorization_concern.rb
654
+ - lib/generators/fae/templates/models/concerns/navigation_concern.rb
655
+ - lib/generators/fae/templates/models/pages_model.rb
656
+ - lib/generators/fae/templates/tasks/fae_tasks.rake
657
+ - lib/generators/fae/templates/views/_form.html.slim
658
+ - lib/generators/fae/templates/views/_form_index_nested.html.slim
659
+ - lib/generators/fae/templates/views/_form_nested.html.slim
660
+ - lib/generators/fae/templates/views/edit.html.slim
661
+ - lib/generators/fae/templates/views/edit_nested.html.slim
662
+ - lib/generators/fae/templates/views/index.html.slim
663
+ - lib/generators/fae/templates/views/index_nested.html.slim
664
+ - lib/generators/fae/templates/views/new.html.slim
665
+ - lib/generators/fae/templates/views/new_nested.html.slim
666
+ - lib/generators/fae/templates/views/static_page_form.html.slim
667
+ - lib/generators/fae/templates/views/table_nested.html.slim
668
+ homepage: https://github.com/wearefine/fae
669
+ licenses:
670
+ - MIT
671
+ metadata: {}
672
+ post_install_message:
673
+ rdoc_options: []
674
+ require_paths:
675
+ - lib
676
+ required_ruby_version: !ruby/object:Gem::Requirement
677
+ requirements:
678
+ - - ">="
679
+ - !ruby/object:Gem::Version
680
+ version: '0'
681
+ required_rubygems_version: !ruby/object:Gem::Requirement
682
+ requirements:
683
+ - - ">="
684
+ - !ruby/object:Gem::Version
685
+ version: '0'
686
+ requirements: []
687
+ rubyforge_project:
688
+ rubygems_version: 2.7.7
689
+ signing_key:
690
+ specification_version: 4
691
+ summary: CMS for Rails. For Reals.
692
+ test_files: []