cloudrider 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (426) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +31 -0
  7. data/Rakefile +2 -0
  8. data/cloudrider.gemspec +30 -0
  9. data/generica/.bowerrc +3 -0
  10. data/generica/.rspec +2 -0
  11. data/generica/Gemfile +67 -0
  12. data/generica/Gemfile.lock +363 -0
  13. data/generica/LICENSE.txt +22 -0
  14. data/generica/README.md +156 -0
  15. data/generica/Rakefile +5 -0
  16. data/generica/app/assets/images/.keep +0 -0
  17. data/generica/app/assets/images/cookie-splash/albatross.jpg +0 -0
  18. data/generica/app/assets/images/cookie-splash/california.png +0 -0
  19. data/generica/app/assets/images/hero-splash/albatross.jpg +0 -0
  20. data/generica/app/assets/images/hero-splash/california.jpg +0 -0
  21. data/generica/app/assets/images/hero-splash/rocks.jpg +0 -0
  22. data/generica/app/assets/images/hero-splash/seaweed.png +0 -0
  23. data/generica/app/assets/images/introductory-lobby/fishing.jpg +0 -0
  24. data/generica/app/assets/images/products-showcase/rocks.jpg +0 -0
  25. data/generica/app/assets/images/table-booths/411.png +0 -0
  26. data/generica/app/assets/javascripts/adapters/admin/employee.js.ls +20 -0
  27. data/generica/app/assets/javascripts/adapters/admin/product.js.ls +20 -0
  28. data/generica/app/assets/javascripts/adapters/admin/session.js.em +2 -0
  29. data/generica/app/assets/javascripts/adapters/application.js.em +2 -0
  30. data/generica/app/assets/javascripts/apiv1.js.ls +24 -0
  31. data/generica/app/assets/javascripts/application.js +23 -0
  32. data/generica/app/assets/javascripts/components/.gitkeep +0 -0
  33. data/generica/app/assets/javascripts/components/block-grid-pictures.js.em +3 -0
  34. data/generica/app/assets/javascripts/components/block-picture.js.em +8 -0
  35. data/generica/app/assets/javascripts/components/cookie-splash.js.em +2 -0
  36. data/generica/app/assets/javascripts/components/fancy-paginator.js.em +23 -0
  37. data/generica/app/assets/javascripts/components/files-field.js.em +28 -0
  38. data/generica/app/assets/javascripts/components/flash-message.js.em +6 -0
  39. data/generica/app/assets/javascripts/components/flash-slice.js.em +32 -0
  40. data/generica/app/assets/javascripts/components/form-for.js.em +28 -0
  41. data/generica/app/assets/javascripts/components/hero-splash.js.em +17 -0
  42. data/generica/app/assets/javascripts/components/introductory-lobby.js.em +13 -0
  43. data/generica/app/assets/javascripts/components/product-display.js.em +3 -0
  44. data/generica/app/assets/javascripts/components/product-listing.js.em +3 -0
  45. data/generica/app/assets/javascripts/components/products-catalog.js.em +2 -0
  46. data/generica/app/assets/javascripts/components/products-showcase.js.ls +5 -0
  47. data/generica/app/assets/javascripts/components/promise-button.js.em +20 -0
  48. data/generica/app/assets/javascripts/components/search-and-filter.js.em +13 -0
  49. data/generica/app/assets/javascripts/components/select-locale.js.em +19 -0
  50. data/generica/app/assets/javascripts/components/site-footer.js.em +8 -0
  51. data/generica/app/assets/javascripts/components/site-nav.js.em +3 -0
  52. data/generica/app/assets/javascripts/components/table-booths.js.em +10 -0
  53. data/generica/app/assets/javascripts/components/tr-span.js.em +18 -0
  54. data/generica/app/assets/javascripts/components/tree/taxon-li.js.em +46 -0
  55. data/generica/app/assets/javascripts/components/tree/taxon-ul.js.em +3 -0
  56. data/generica/app/assets/javascripts/components/tree/taxon-wrapper.js.em +22 -0
  57. data/generica/app/assets/javascripts/components/type-ahead.js.em +17 -0
  58. data/generica/app/assets/javascripts/config/i18n-translations.js.ls +3 -0
  59. data/generica/app/assets/javascripts/config/router.js.ls +29 -0
  60. data/generica/app/assets/javascripts/controllers/.gitkeep +0 -0
  61. data/generica/app/assets/javascripts/controllers/admin/employees/new_controller.js.em +16 -0
  62. data/generica/app/assets/javascripts/controllers/admin/employees/slice_controller.js.em +4 -0
  63. data/generica/app/assets/javascripts/controllers/admin/product/edit_controller.js.em +21 -0
  64. data/generica/app/assets/javascripts/controllers/admin/products/new_controller.js.em +16 -0
  65. data/generica/app/assets/javascripts/controllers/admin/products/slice_controller.js.em +4 -0
  66. data/generica/app/assets/javascripts/controllers/admin/translation/edit_controller.js.em +19 -0
  67. data/generica/app/assets/javascripts/controllers/admin/translation/form_controller.js.em +10 -0
  68. data/generica/app/assets/javascripts/controllers/admin/translations/index_controller.js.em +19 -0
  69. data/generica/app/assets/javascripts/controllers/admin/translations/sliver_controller.js.em +8 -0
  70. data/generica/app/assets/javascripts/controllers/application_controller.js.em +9 -0
  71. data/generica/app/assets/javascripts/controllers/index_controller.js.em +20 -0
  72. data/generica/app/assets/javascripts/controllers/modals/login_controller.js.em +24 -0
  73. data/generica/app/assets/javascripts/controllers/products/index_controller.js.em +28 -0
  74. data/generica/app/assets/javascripts/controllers/products/product/show_controller.js.em +17 -0
  75. data/generica/app/assets/javascripts/helpers/.gitkeep +0 -0
  76. data/generica/app/assets/javascripts/helpers/array_ex.js.ls +27 -0
  77. data/generica/app/assets/javascripts/helpers/i18n.js.ls +3 -0
  78. data/generica/app/assets/javascripts/helpers/string_ex.js.ls +21 -0
  79. data/generica/app/assets/javascripts/mixins/.gitkeep +0 -0
  80. data/generica/app/assets/javascripts/mixins/file_drag_and_drop.js.em +57 -0
  81. data/generica/app/assets/javascripts/mixins/type_ahead_builder.js.em +41 -0
  82. data/generica/app/assets/javascripts/models/.gitkeep +0 -0
  83. data/generica/app/assets/javascripts/models/admin/employee.js.em +6 -0
  84. data/generica/app/assets/javascripts/models/admin/offer.js.em +1 -0
  85. data/generica/app/assets/javascripts/models/admin/product.js.em +12 -0
  86. data/generica/app/assets/javascripts/models/admin/session.js.em +3 -0
  87. data/generica/app/assets/javascripts/models/admin/taxon.js.em +1 -0
  88. data/generica/app/assets/javascripts/models/attachment.js.em +9 -0
  89. data/generica/app/assets/javascripts/models/employee.js.em +16 -0
  90. data/generica/app/assets/javascripts/models/listing.js.em +20 -0
  91. data/generica/app/assets/javascripts/models/offer.js.em +12 -0
  92. data/generica/app/assets/javascripts/models/picture.js.em +11 -0
  93. data/generica/app/assets/javascripts/models/product.js.em +29 -0
  94. data/generica/app/assets/javascripts/models/session.js.ls +4 -0
  95. data/generica/app/assets/javascripts/models/taxon.js.em +31 -0
  96. data/generica/app/assets/javascripts/models/translation.js.em +46 -0
  97. data/generica/app/assets/javascripts/packages/flash.js.em +36 -0
  98. data/generica/app/assets/javascripts/packages/tranny.js.ls +51 -0
  99. data/generica/app/assets/javascripts/routes/.gitkeep +0 -0
  100. data/generica/app/assets/javascripts/routes/admin/employees/index_route.js.em +3 -0
  101. data/generica/app/assets/javascripts/routes/admin/employees/new_route.js.em +3 -0
  102. data/generica/app/assets/javascripts/routes/admin/index_route.js.em +1 -0
  103. data/generica/app/assets/javascripts/routes/admin/product_route.js.em +3 -0
  104. data/generica/app/assets/javascripts/routes/admin/products/index_route.js.em +3 -0
  105. data/generica/app/assets/javascripts/routes/admin/products/new_route.js.em +3 -0
  106. data/generica/app/assets/javascripts/routes/admin/taxons/index_route.js.em +2 -0
  107. data/generica/app/assets/javascripts/routes/admin/translation/edit_route.js.em +1 -0
  108. data/generica/app/assets/javascripts/routes/admin/translation_route.js.em +12 -0
  109. data/generica/app/assets/javascripts/routes/admin/translations/index_route.js.em +20 -0
  110. data/generica/app/assets/javascripts/routes/admin_route.js.em +4 -0
  111. data/generica/app/assets/javascripts/routes/application_route.js.em +19 -0
  112. data/generica/app/assets/javascripts/routes/index_route.js.em +4 -0
  113. data/generica/app/assets/javascripts/routes/products/index_route.js.em +3 -0
  114. data/generica/app/assets/javascripts/routes/products_route.js.em +4 -0
  115. data/generica/app/assets/javascripts/templates/.gitkeep +0 -0
  116. data/generica/app/assets/javascripts/templates/admin.emblem +23 -0
  117. data/generica/app/assets/javascripts/templates/admin/employees/index.emblem +22 -0
  118. data/generica/app/assets/javascripts/templates/admin/employees/new.emblem +35 -0
  119. data/generica/app/assets/javascripts/templates/admin/employees/slice.emblem +22 -0
  120. data/generica/app/assets/javascripts/templates/admin/index.emblem +3 -0
  121. data/generica/app/assets/javascripts/templates/admin/product/edit.emblem +69 -0
  122. data/generica/app/assets/javascripts/templates/admin/products/index.emblem +22 -0
  123. data/generica/app/assets/javascripts/templates/admin/products/new.emblem +56 -0
  124. data/generica/app/assets/javascripts/templates/admin/products/slice.emblem +22 -0
  125. data/generica/app/assets/javascripts/templates/admin/taxons/index.emblem +10 -0
  126. data/generica/app/assets/javascripts/templates/admin/taxons/new.emblem +0 -0
  127. data/generica/app/assets/javascripts/templates/admin/translation/edit.emblem +11 -0
  128. data/generica/app/assets/javascripts/templates/admin/translation/form.emblem +20 -0
  129. data/generica/app/assets/javascripts/templates/admin/translations/index.emblem +43 -0
  130. data/generica/app/assets/javascripts/templates/admin/translations/slice.emblem +23 -0
  131. data/generica/app/assets/javascripts/templates/admin/translations/sliver.emblem +18 -0
  132. data/generica/app/assets/javascripts/templates/application.emblem +14 -0
  133. data/generica/app/assets/javascripts/templates/components/.gitkeep +0 -0
  134. data/generica/app/assets/javascripts/templates/components/block-grid-pictures.emblem +5 -0
  135. data/generica/app/assets/javascripts/templates/components/block-picture.emblem +7 -0
  136. data/generica/app/assets/javascripts/templates/components/cookie-splash.emblem +14 -0
  137. data/generica/app/assets/javascripts/templates/components/fancy-paginator.emblem +31 -0
  138. data/generica/app/assets/javascripts/templates/components/flash-message.emblem +2 -0
  139. data/generica/app/assets/javascripts/templates/components/flash-slice.emblem +6 -0
  140. data/generica/app/assets/javascripts/templates/components/form-for.emblem +2 -0
  141. data/generica/app/assets/javascripts/templates/components/hero-splash.emblem +13 -0
  142. data/generica/app/assets/javascripts/templates/components/hero-splash/_splash-cta.emblem +7 -0
  143. data/generica/app/assets/javascripts/templates/components/hero-splash/_splash-tagline.emblem +8 -0
  144. data/generica/app/assets/javascripts/templates/components/introductory-lobby.emblem +12 -0
  145. data/generica/app/assets/javascripts/templates/components/product-display.emblem +47 -0
  146. data/generica/app/assets/javascripts/templates/components/product-listing.emblem +26 -0
  147. data/generica/app/assets/javascripts/templates/components/products-catalog.emblem +16 -0
  148. data/generica/app/assets/javascripts/templates/components/products-showcase.emblem +12 -0
  149. data/generica/app/assets/javascripts/templates/components/products-showcase/_contained-media-one.emblem +20 -0
  150. data/generica/app/assets/javascripts/templates/components/promise-button.emblem +6 -0
  151. data/generica/app/assets/javascripts/templates/components/search-and-filter.emblem +11 -0
  152. data/generica/app/assets/javascripts/templates/components/select-locale.emblem +1 -0
  153. data/generica/app/assets/javascripts/templates/components/site-footer.emblem +9 -0
  154. data/generica/app/assets/javascripts/templates/components/site-nav.emblem +7 -0
  155. data/generica/app/assets/javascripts/templates/components/site-nav/_left-nav.emblem +19 -0
  156. data/generica/app/assets/javascripts/templates/components/site-nav/_top-nav.emblem +22 -0
  157. data/generica/app/assets/javascripts/templates/components/table-booths.emblem +75 -0
  158. data/generica/app/assets/javascripts/templates/components/tr-span.emblem +1 -0
  159. data/generica/app/assets/javascripts/templates/components/tree-taxon-li.emblem +29 -0
  160. data/generica/app/assets/javascripts/templates/components/tree-taxon-ul.emblem +9 -0
  161. data/generica/app/assets/javascripts/templates/components/tree-taxon-wrapper.emblem +3 -0
  162. data/generica/app/assets/javascripts/templates/index.emblem +7 -0
  163. data/generica/app/assets/javascripts/templates/modals/login.emblem +27 -0
  164. data/generica/app/assets/javascripts/templates/products.emblem +3 -0
  165. data/generica/app/assets/javascripts/templates/products/index.emblem +7 -0
  166. data/generica/app/assets/javascripts/templates/products/product/show.emblem +71 -0
  167. data/generica/app/assets/javascripts/transforms/files_transform.js.ls +7 -0
  168. data/generica/app/assets/javascripts/transforms/form_data_transformer.js.ls +25 -0
  169. data/generica/app/assets/javascripts/transforms/strings_transform.js.ls +4 -0
  170. data/generica/app/assets/javascripts/views/.gitkeep +0 -0
  171. data/generica/app/assets/stylesheets/apiv1.css.scss +8 -0
  172. data/generica/app/assets/stylesheets/apiv1/_admin.css.scss +14 -0
  173. data/generica/app/assets/stylesheets/apiv1/_application.css.scss +70 -0
  174. data/generica/app/assets/stylesheets/apiv1/admin/contacts/_index.css.scss +3 -0
  175. data/generica/app/assets/stylesheets/apiv1/admin/products/_index.css.scss +64 -0
  176. data/generica/app/assets/stylesheets/apiv1/admin/products/_new.css.scss +11 -0
  177. data/generica/app/assets/stylesheets/apiv1/admin/translations/_index.css.scss +68 -0
  178. data/generica/app/assets/stylesheets/apiv1/components/_block-grid-pictures.css.scss +21 -0
  179. data/generica/app/assets/stylesheets/apiv1/components/_cookie-splash.css.scss +60 -0
  180. data/generica/app/assets/stylesheets/apiv1/components/_fancy-paginator.css.scss +22 -0
  181. data/generica/app/assets/stylesheets/apiv1/components/_files-field.css.scss +10 -0
  182. data/generica/app/assets/stylesheets/apiv1/components/_flash-message.css.scss +35 -0
  183. data/generica/app/assets/stylesheets/apiv1/components/_hero-splash.css.scss +39 -0
  184. data/generica/app/assets/stylesheets/apiv1/components/_introductory-lobby.css.scss +22 -0
  185. data/generica/app/assets/stylesheets/apiv1/components/_product-display.css.scss +27 -0
  186. data/generica/app/assets/stylesheets/apiv1/components/_product-listing.css.scss +34 -0
  187. data/generica/app/assets/stylesheets/apiv1/components/_products-catalog.css.scss +2 -0
  188. data/generica/app/assets/stylesheets/apiv1/components/_products-showcase.css.scss +2 -0
  189. data/generica/app/assets/stylesheets/apiv1/components/_promise-button.css.scss +8 -0
  190. data/generica/app/assets/stylesheets/apiv1/components/_search-and-filter.css.scss +9 -0
  191. data/generica/app/assets/stylesheets/apiv1/components/_select-locale.css.scss +48 -0
  192. data/generica/app/assets/stylesheets/apiv1/components/_site-footer.css.scss +23 -0
  193. data/generica/app/assets/stylesheets/apiv1/components/_site-nav.css.scss +1 -0
  194. data/generica/app/assets/stylesheets/apiv1/components/_table-booths.css.scss +25 -0
  195. data/generica/app/assets/stylesheets/apiv1/components/_tree-taxon-wrapper.css.scss +92 -0
  196. data/generica/app/assets/stylesheets/apiv1/components/_type-ahead.css.scss +59 -0
  197. data/generica/app/assets/stylesheets/apiv1/components/products-catalog/_expanding-media.css.scss +3 -0
  198. data/generica/app/assets/stylesheets/apiv1/components/products-showcase/_contained-media-one.css.scss +35 -0
  199. data/generica/app/assets/stylesheets/apiv1/components/site-nav/_left-nav.css.scss +105 -0
  200. data/generica/app/assets/stylesheets/apiv1/components/site-nav/_top-nav.css.scss +106 -0
  201. data/generica/app/assets/stylesheets/apiv1/modals/_login.css.scss +26 -0
  202. data/generica/app/assets/stylesheets/apiv1/products/product/_show.css.scss +18 -0
  203. data/generica/app/assets/stylesheets/apiv1/shared/_constants.css.scss +77 -0
  204. data/generica/app/assets/stylesheets/apiv1/shared/_variables.css.scss +23 -0
  205. data/generica/app/assets/stylesheets/application.css +15 -0
  206. data/generica/app/assets/stylesheets/foundation_and_overrides.scss +1322 -0
  207. data/generica/app/controllers/admin/base_controller.rb +9 -0
  208. data/generica/app/controllers/admin/employees/create_controller.rb +26 -0
  209. data/generica/app/controllers/admin/products/create_controller.rb +26 -0
  210. data/generica/app/controllers/admin/products/update_controller.rb +29 -0
  211. data/generica/app/controllers/admin/sessions/create_controller.rb +34 -0
  212. data/generica/app/controllers/apiv1/employees/destroy_controller.rb +9 -0
  213. data/generica/app/controllers/apiv1/employees/index_controller.rb +9 -0
  214. data/generica/app/controllers/apiv1/home_controller.rb +4 -0
  215. data/generica/app/controllers/apiv1/i18n_translations/index_controller.rb +11 -0
  216. data/generica/app/controllers/apiv1/pictures/destroy_controller.rb +13 -0
  217. data/generica/app/controllers/apiv1/pictures/show_controller.rb +9 -0
  218. data/generica/app/controllers/apiv1/product_metadatum/show_controller.rb +16 -0
  219. data/generica/app/controllers/apiv1/products/destroy_controller.rb +9 -0
  220. data/generica/app/controllers/apiv1/products/index_controller.rb +21 -0
  221. data/generica/app/controllers/apiv1/products/show_controller.rb +12 -0
  222. data/generica/app/controllers/apiv1/taxons/index_controller.rb +11 -0
  223. data/generica/app/controllers/apiv1/taxons/show_controller.rb +9 -0
  224. data/generica/app/controllers/apiv1/translations/create_controller.rb +31 -0
  225. data/generica/app/controllers/apiv1/translations/index_controller.rb +22 -0
  226. data/generica/app/controllers/apiv1/translations/show_controller.rb +9 -0
  227. data/generica/app/controllers/apiv1/translations/update_controller.rb +35 -0
  228. data/generica/app/controllers/application_controller.rb +5 -0
  229. data/generica/app/controllers/concerns/.keep +0 -0
  230. data/generica/app/helpers/application_helper.rb +2 -0
  231. data/generica/app/mailers/.keep +0 -0
  232. data/generica/app/models/.keep +0 -0
  233. data/generica/app/models/admin.rb +5 -0
  234. data/generica/app/models/admin/employee_factory.rb +31 -0
  235. data/generica/app/models/admin/pictures_factory.rb +17 -0
  236. data/generica/app/models/admin/product_factory.rb +51 -0
  237. data/generica/app/models/admin/product_modifier.rb +39 -0
  238. data/generica/app/models/admin/user.rb +25 -0
  239. data/generica/app/models/apiv1.rb +5 -0
  240. data/generica/app/models/apiv1/attachment.rb +45 -0
  241. data/generica/app/models/apiv1/employee.rb +29 -0
  242. data/generica/app/models/apiv1/listings.rb +5 -0
  243. data/generica/app/models/apiv1/listings/taxon_relationship.rb +19 -0
  244. data/generica/app/models/apiv1/permalinkifier.rb +22 -0
  245. data/generica/app/models/apiv1/picture.rb +37 -0
  246. data/generica/app/models/apiv1/product.rb +71 -0
  247. data/generica/app/models/apiv1/products_machine.rb +65 -0
  248. data/generica/app/models/apiv1/taxon.rb +88 -0
  249. data/generica/app/models/apiv1/translation.rb +57 -0
  250. data/generica/app/models/apiv1/translation_machine.rb +57 -0
  251. data/generica/app/models/concerns/.keep +0 -0
  252. data/generica/app/varissets/javascripts/templates/application.emblem.erb +28 -0
  253. data/generica/app/varissets/javascripts/templates/components/cookie-splash.emblem.erb +17 -0
  254. data/generica/app/varissets/javascripts/templates/components/hero-splash.emblem.erb +25 -0
  255. data/generica/app/varissets/javascripts/templates/components/introductory-lobby.emblem.erb +12 -0
  256. data/generica/app/varissets/javascripts/templates/components/product-display.emblem.erb +51 -0
  257. data/generica/app/varissets/javascripts/templates/components/product-listing.emblem.erb +29 -0
  258. data/generica/app/varissets/javascripts/templates/components/products-catalog.emblem.erb +18 -0
  259. data/generica/app/varissets/javascripts/templates/components/products-showcase.emblem.erb +23 -0
  260. data/generica/app/varissets/javascripts/templates/components/site-nav.emblem.erb +47 -0
  261. data/generica/app/varissets/javascripts/templates/components/table-booths.emblem.erb +71 -0
  262. data/generica/app/varissets/javascripts/templates/index.emblem.erb +11 -0
  263. data/generica/app/varissets/stylesheets/apiv1/_application.css.scss.erb +66 -0
  264. data/generica/app/varissets/stylesheets/apiv1/components/_cookie-splash.css.scss.erb +61 -0
  265. data/generica/app/varissets/stylesheets/apiv1/components/_hero-splash.css.scss.erb +42 -0
  266. data/generica/app/varissets/stylesheets/apiv1/components/_introductory-lobby.css.scss.erb +26 -0
  267. data/generica/app/varissets/stylesheets/apiv1/components/_product-display.css.scss.erb +30 -0
  268. data/generica/app/varissets/stylesheets/apiv1/components/_product-listing.css.scss.erb +37 -0
  269. data/generica/app/varissets/stylesheets/apiv1/components/_products-catalog.css.scss.erb +5 -0
  270. data/generica/app/varissets/stylesheets/apiv1/components/_products-showcase.css.scss.erb +39 -0
  271. data/generica/app/varissets/stylesheets/apiv1/components/_site-nav.css.scss.erb +213 -0
  272. data/generica/app/varissets/stylesheets/apiv1/components/_table-booths.css.scss.erb +28 -0
  273. data/generica/app/views/apiv1/home/index.html.haml +2 -0
  274. data/generica/app/views/apiv1/layouts/application.html.haml +21 -0
  275. data/generica/app/views/layouts/application.html.erb +14 -0
  276. data/generica/bin/bundle +3 -0
  277. data/generica/bin/rails +8 -0
  278. data/generica/bin/rake +8 -0
  279. data/generica/bin/spring +18 -0
  280. data/generica/bower.json +21 -0
  281. data/generica/config.ru +4 -0
  282. data/generica/config/application.rb +23 -0
  283. data/generica/config/boot.rb +4 -0
  284. data/generica/config/database.yml +54 -0
  285. data/generica/config/database.yml.erb +53 -0
  286. data/generica/config/desired_languages.yml +28 -0
  287. data/generica/config/environment.rb +5 -0
  288. data/generica/config/environments/development.rb +37 -0
  289. data/generica/config/environments/production.rb +82 -0
  290. data/generica/config/environments/test.rb +39 -0
  291. data/generica/config/initializers/assets.rb +8 -0
  292. data/generica/config/initializers/backtrace_silencers.rb +7 -0
  293. data/generica/config/initializers/cookies_serializer.rb +3 -0
  294. data/generica/config/initializers/filter_parameter_logging.rb +4 -0
  295. data/generica/config/initializers/inflections.rb +16 -0
  296. data/generica/config/initializers/mime_types.rb +4 -0
  297. data/generica/config/initializers/session_store.rb +3 -0
  298. data/generica/config/initializers/sorcery.rb +437 -0
  299. data/generica/config/initializers/wrap_parameters.rb +14 -0
  300. data/generica/config/locales/ar.yml +78 -0
  301. data/generica/config/locales/ca.yml +78 -0
  302. data/generica/config/locales/cs.yml +78 -0
  303. data/generica/config/locales/da.yml +78 -0
  304. data/generica/config/locales/de.yml +78 -0
  305. data/generica/config/locales/el.yml +78 -0
  306. data/generica/config/locales/en.yml +78 -0
  307. data/generica/config/locales/es.yml +78 -0
  308. data/generica/config/locales/fi.yml +78 -0
  309. data/generica/config/locales/fr.yml +78 -0
  310. data/generica/config/locales/hu.yml +78 -0
  311. data/generica/config/locales/id.yml +78 -0
  312. data/generica/config/locales/is.yml +78 -0
  313. data/generica/config/locales/it.yml +78 -0
  314. data/generica/config/locales/ja.yml +78 -0
  315. data/generica/config/locales/ko.yml +78 -0
  316. data/generica/config/locales/ms.yml +78 -0
  317. data/generica/config/locales/nl.yml +78 -0
  318. data/generica/config/locales/no.yml +78 -0
  319. data/generica/config/locales/pl.yml +78 -0
  320. data/generica/config/locales/pt.yml +78 -0
  321. data/generica/config/locales/ru.yml +78 -0
  322. data/generica/config/locales/sv.yml +78 -0
  323. data/generica/config/locales/th.yml +78 -0
  324. data/generica/config/locales/tr.yml +78 -0
  325. data/generica/config/locales/zh-CN.yml +78 -0
  326. data/generica/config/locales/zh-TW.yml +78 -0
  327. data/generica/config/nginx.conf +36 -0
  328. data/generica/config/routes.rb +35 -0
  329. data/generica/config/secrets.yml +22 -0
  330. data/generica/config/unicorn.conf.rb +101 -0
  331. data/generica/db/migrate/20140930052333_create_apiv1_taxons.rb +14 -0
  332. data/generica/db/migrate/20140930052559_create_apiv1_listings_plastics.rb +18 -0
  333. data/generica/db/migrate/20140930180107_create_apiv1_pictures.rb +8 -0
  334. data/generica/db/migrate/20140930180108_add_attachment_pic_to_apiv1_pictures.rb +11 -0
  335. data/generica/db/migrate/20141001063631_create_commerce_units_dimensions.rb +11 -0
  336. data/generica/db/migrate/20141001212635_create_apiv1_listings_taxon_relationships.rb +9 -0
  337. data/generica/db/migrate/20141006231820_create_apiv1_employees.rb +11 -0
  338. data/generica/db/migrate/20141010215459_create_apiv1_translations.rb +11 -0
  339. data/generica/db/migrate/20141018235809_add_attachment_document_to_attachments.rb +13 -0
  340. data/generica/db/migrate/20141021003733_sorcery_core.rb +13 -0
  341. data/generica/db/migrate/20141021003734_sorcery_remember_me.rb +8 -0
  342. data/generica/db/schema.rb +141 -0
  343. data/generica/db/seeds.rb +15 -0
  344. data/generica/db/seeds/dimensions.rb +42 -0
  345. data/generica/db/seeds/products.rb +30 -0
  346. data/generica/db/seeds/taxons.rb +81 -0
  347. data/generica/db/seeds/translation_seeds.rb +2132 -0
  348. data/generica/db/seeds/users.rb +2 -0
  349. data/generica/lib/assets/.keep +0 -0
  350. data/generica/lib/generica.rb +4 -0
  351. data/generica/lib/generica/locale.yml.erb +6 -0
  352. data/generica/lib/generica/seed.en.yml +77 -0
  353. data/generica/lib/generica/seed_generator.rb +119 -0
  354. data/generica/lib/generica/translation_seeds.rb.erb +4 -0
  355. data/generica/lib/generica/yaml_writer.rb +54 -0
  356. data/generica/lib/tasks/.keep +0 -0
  357. data/generica/lib/tasks/assets_unretardifier.rake +7 -0
  358. data/generica/lib/tasks/cloudrider.rake +7 -0
  359. data/generica/lib/tasks/elasticsearch.rake +10 -0
  360. data/generica/lib/tasks/production.rake +14 -0
  361. data/generica/lib/tasks/seeds.rake +13 -0
  362. data/generica/lib/tasks/translation.rake +7 -0
  363. data/generica/log/.keep +0 -0
  364. data/generica/public/404.html +67 -0
  365. data/generica/public/422.html +67 -0
  366. data/generica/public/500.html +66 -0
  367. data/generica/public/favicon.ico +0 -0
  368. data/generica/public/javascripts/translations.js +2 -0
  369. data/generica/public/robots.txt +5 -0
  370. data/generica/public/tests/dog.png +0 -0
  371. data/generica/public/tests/husky.png +0 -0
  372. data/generica/spec/controllers/admin/employees/create_controller_spec.rb +48 -0
  373. data/generica/spec/controllers/admin/products/create_controller_spec.rb +55 -0
  374. data/generica/spec/controllers/admin/products/update_controller_spec.rb +44 -0
  375. data/generica/spec/controllers/admin/sessions/create_controller_spec.rb +66 -0
  376. data/generica/spec/controllers/apiv1/pictures/destroy_controller_spec.rb +36 -0
  377. data/generica/spec/factories/admin/user_factory.rb +22 -0
  378. data/generica/spec/factories/apiv1/picture_factory.rb +25 -0
  379. data/generica/spec/factories/apiv1/product_factory.rb +48 -0
  380. data/generica/spec/factories/apiv1/taxon_factory.rb +40 -0
  381. data/generica/spec/factories/base_factory.rb +30 -0
  382. data/generica/spec/models/admin/pictures_factory_spec.rb +14 -0
  383. data/generica/spec/models/admin/product_factory_spec.rb +54 -0
  384. data/generica/spec/models/admin/product_modifier_spec.rb +123 -0
  385. data/generica/spec/models/apiv1/product_spec.rb +61 -0
  386. data/generica/spec/rails_helper.rb +51 -0
  387. data/generica/spec/spec_helper.rb +85 -0
  388. data/generica/vendor/assets/javascripts/.keep +0 -0
  389. data/generica/vendor/assets/stylesheets/.keep +0 -0
  390. data/lib/cloudrider.rb +4 -0
  391. data/lib/cloudrider/apiv1.rb +72 -0
  392. data/lib/cloudrider/apiv1/application_emblem.rb +12 -0
  393. data/lib/cloudrider/apiv1/application_sass.rb +31 -0
  394. data/lib/cloudrider/apiv1/base.rb +63 -0
  395. data/lib/cloudrider/apiv1/cookie_splash_component.rb +14 -0
  396. data/lib/cloudrider/apiv1/cookie_splash_sass.rb +20 -0
  397. data/lib/cloudrider/apiv1/hero_splash_component.rb +37 -0
  398. data/lib/cloudrider/apiv1/hero_splash_sass.rb +43 -0
  399. data/lib/cloudrider/apiv1/index_emblem.rb +11 -0
  400. data/lib/cloudrider/apiv1/introductory_lobby_component.rb +17 -0
  401. data/lib/cloudrider/apiv1/introductory_lobby_sass.rb +17 -0
  402. data/lib/cloudrider/apiv1/product_display_component.rb +11 -0
  403. data/lib/cloudrider/apiv1/product_display_sass.rb +11 -0
  404. data/lib/cloudrider/apiv1/product_listing_component.rb +11 -0
  405. data/lib/cloudrider/apiv1/product_listing_sass.rb +11 -0
  406. data/lib/cloudrider/apiv1/products_catalog_component.rb +11 -0
  407. data/lib/cloudrider/apiv1/products_catalog_sass.rb +11 -0
  408. data/lib/cloudrider/apiv1/products_showcase_component.rb +11 -0
  409. data/lib/cloudrider/apiv1/products_showcase_sass.rb +20 -0
  410. data/lib/cloudrider/apiv1/site_nav_component.rb +15 -0
  411. data/lib/cloudrider/apiv1/site_nav_sass.rb +11 -0
  412. data/lib/cloudrider/apiv1/table_booths_component.rb +11 -0
  413. data/lib/cloudrider/apiv1/table_booths_sass.rb +11 -0
  414. data/lib/cloudrider/application_commander.rb +119 -0
  415. data/lib/cloudrider/file_orders_maker.rb +24 -0
  416. data/lib/cloudrider/protofile.rb +9 -0
  417. data/lib/cloudrider/templates/application.emblem.erb +28 -0
  418. data/lib/cloudrider/version.rb +3 -0
  419. data/lib/generators/cloudrider/USAGE +1 -0
  420. data/lib/generators/cloudrider/backend/backend_generator.rb +49 -0
  421. data/lib/generators/cloudrider/client/client_generator.rb +110 -0
  422. data/lib/generators/cloudrider/varissets/varissets_generator.rb +35 -0
  423. data/spec/cloudrider/apiv1_base_spec.rb +46 -0
  424. data/spec/cloudrider/apiv1_spec.rb +20 -0
  425. data/spec/spec_helper.rb +1 -0
  426. metadata +555 -0
@@ -0,0 +1,8 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Version of your assets, change this if you want to expire all your assets.
4
+ Rails.application.config.assets.version = '1.0'
5
+
6
+ # Precompile additional assets.
7
+ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
8
+ # Rails.application.config.assets.precompile += %w( search.js )
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
+ # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
+
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
+ # Rails.backtrace_cleaner.remove_silencers!
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Configure sensitive parameters which will be filtered from the log file.
4
+ Rails.application.config.filter_parameters += [:password]
@@ -0,0 +1,16 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format. Inflections
4
+ # are locale specific, and you may define rules for as many different
5
+ # locales as you wish. All of these examples are active by default:
6
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
7
+ # inflect.plural /^(ox)$/i, '\1en'
8
+ # inflect.singular /^(ox)en/i, '\1'
9
+ # inflect.irregular 'person', 'people'
10
+ # inflect.uncountable %w( fish sheep )
11
+ # end
12
+
13
+ # These inflection rules are supported but not enabled by default:
14
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
15
+ # inflect.acronym 'RESTful'
16
+ # end
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.session_store :cookie_store, key: '_generica_session'
@@ -0,0 +1,437 @@
1
+ # The first thing you need to configure is which modules you need in your app.
2
+ # The default is nothing which will include only core features (password encryption, login/logout).
3
+ # Available submodules are: :user_activation, :http_basic_auth, :remember_me,
4
+ # :reset_password, :session_timeout, :brute_force_protection, :activity_logging, :external
5
+ Rails.application.config.sorcery.submodules = [:remember_me]
6
+
7
+ # Here you can configure each submodule's features.
8
+ Rails.application.config.sorcery.configure do |config|
9
+ # -- core --
10
+ # What controller action to call for non-authenticated users. You can also
11
+ # override the 'not_authenticated' method of course.
12
+ # Default: `:not_authenticated`
13
+ #
14
+ # config.not_authenticated_action =
15
+
16
+
17
+ # When a non logged in user tries to enter a page that requires login, save
18
+ # the URL he wanted to reach, and send him there after login, using 'redirect_back_or_to'.
19
+ # Default: `true`
20
+ #
21
+ # config.save_return_to_url =
22
+
23
+
24
+ # Set domain option for cookies; Useful for remember_me submodule.
25
+ # Default: `nil`
26
+ #
27
+ # config.cookie_domain =
28
+
29
+
30
+ # -- session timeout --
31
+ # How long in seconds to keep the session alive.
32
+ # Default: `3600`
33
+ #
34
+ # config.session_timeout =
35
+
36
+
37
+ # Use the last action as the beginning of session timeout.
38
+ # Default: `false`
39
+ #
40
+ # config.session_timeout_from_last_action =
41
+
42
+
43
+ # -- http_basic_auth --
44
+ # What realm to display for which controller name. For example {"My App" => "Application"}
45
+ # Default: `{"application" => "Application"}`
46
+ #
47
+ # config.controller_to_realm_map =
48
+
49
+
50
+ # -- activity logging --
51
+ # will register the time of last user login, every login.
52
+ # Default: `true`
53
+ #
54
+ # config.register_login_time =
55
+
56
+
57
+ # will register the time of last user logout, every logout.
58
+ # Default: `true`
59
+ #
60
+ # config.register_logout_time =
61
+
62
+
63
+ # will register the time of last user action, every action.
64
+ # Default: `true`
65
+ #
66
+ # config.register_last_activity_time =
67
+
68
+
69
+ # -- external --
70
+ # What providers are supported by this app, i.e. [:twitter, :facebook, :github, :linkedin, :xing, :google, :liveid] .
71
+ # Default: `[]`
72
+ #
73
+ # config.external_providers =
74
+
75
+
76
+ # You can change it by your local ca_file. i.e. '/etc/pki/tls/certs/ca-bundle.crt'
77
+ # Path to ca_file. By default use a internal ca-bundle.crt.
78
+ # Default: `'path/to/ca_file'`
79
+ #
80
+ # config.ca_file =
81
+
82
+
83
+ # For information about LinkedIn API:
84
+ # - user info fields go to https://developer.linkedin.com/documents/profile-fields
85
+ # - access permissions go to https://developer.linkedin.com/documents/authentication#granting
86
+ #
87
+ # config.linkedin.key = ""
88
+ # config.linkedin.secret = ""
89
+ # config.linkedin.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=linkedin"
90
+ # config.linkedin.user_info_fields = ['first-name', 'last-name']
91
+ # config.linkedin.user_info_mapping = {first_name: "firstName", last_name: "lastName"}
92
+ # config.linkedin.access_permissions = ['r_basicprofile']
93
+ #
94
+ #
95
+ # For information about XING API:
96
+ # - user info fields go to https://dev.xing.com/docs/get/users/me
97
+ #
98
+ # config.xing.key = ""
99
+ # config.xing.secret = ""
100
+ # config.xing.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=xing"
101
+ # config.xing.user_info_mapping = {first_name: "first_name", last_name: "last_name"}
102
+ #
103
+ #
104
+ # Twitter wil not accept any requests nor redirect uri containing localhost,
105
+ # make sure you use 0.0.0.0:3000 to access your app in development
106
+ #
107
+ # config.twitter.key = ""
108
+ # config.twitter.secret = ""
109
+ # config.twitter.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=twitter"
110
+ # config.twitter.user_info_mapping = {:email => "screen_name"}
111
+ #
112
+ # config.facebook.key = ""
113
+ # config.facebook.secret = ""
114
+ # config.facebook.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=facebook"
115
+ # config.facebook.user_info_mapping = {:email => "name"}
116
+ # config.facebook.access_permissions = ["email", "publish_stream"]
117
+ #
118
+ # config.github.key = ""
119
+ # config.github.secret = ""
120
+ # config.github.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=github"
121
+ # config.github.user_info_mapping = {:email => "name"}
122
+ #
123
+ # config.google.key = ""
124
+ # config.google.secret = ""
125
+ # config.google.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=google"
126
+ # config.google.user_info_mapping = {:email => "email", :username => "name"}
127
+ #
128
+ # config.vk.key = ""
129
+ # config.vk.secret = ""
130
+ # config.vk.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=vk"
131
+ # config.vk.user_info_mapping = {:login => "domain", :name => "full_name"}
132
+ #
133
+ # To use liveid in development mode you have to replace mydomain.com with
134
+ # a valid domain even in development. To use a valid domain in development
135
+ # simply add your domain in your /etc/hosts file in front of 127.0.0.1
136
+ #
137
+ # config.liveid.key = ""
138
+ # config.liveid.secret = ""
139
+ # config.liveid.callback_url = "http://mydomain.com:3000/oauth/callback?provider=liveid"
140
+ # config.liveid.user_info_mapping = {:username => "name"}
141
+
142
+
143
+ # --- user config ---
144
+ config.user_config do |user|
145
+ # -- core --
146
+ # specify username attributes, for example: [:username, :email].
147
+ # Default: `[:email]`
148
+ #
149
+ # user.username_attribute_names =
150
+
151
+
152
+ # change *virtual* password attribute, the one which is used until an encrypted one is generated.
153
+ # Default: `:password`
154
+ #
155
+ # user.password_attribute_name =
156
+
157
+
158
+ # downcase the username before trying to authenticate, default is false
159
+ # Default: `false`
160
+ #
161
+ # user.downcase_username_before_authenticating =
162
+
163
+
164
+ # change default email attribute.
165
+ # Default: `:email`
166
+ #
167
+ # user.email_attribute_name =
168
+
169
+
170
+ # change default crypted_password attribute.
171
+ # Default: `:crypted_password`
172
+ #
173
+ # user.crypted_password_attribute_name =
174
+
175
+
176
+ # what pattern to use to join the password with the salt
177
+ # Default: `""`
178
+ #
179
+ # user.salt_join_token =
180
+
181
+
182
+ # change default salt attribute.
183
+ # Default: `:salt`
184
+ #
185
+ # user.salt_attribute_name =
186
+
187
+
188
+ # how many times to apply encryption to the password.
189
+ # Default: `nil`
190
+ #
191
+ # user.stretches =
192
+
193
+
194
+ # encryption key used to encrypt reversible encryptions such as AES256.
195
+ # WARNING: If used for users' passwords, changing this key will leave passwords undecryptable!
196
+ # Default: `nil`
197
+ #
198
+ # user.encryption_key =
199
+
200
+
201
+ # use an external encryption class.
202
+ # Default: `nil`
203
+ #
204
+ # user.custom_encryption_provider =
205
+
206
+
207
+ # encryption algorithm name. See 'encryption_algorithm=' for available options.
208
+ # Default: `:bcrypt`
209
+ #
210
+ # user.encryption_algorithm =
211
+
212
+
213
+ # make this configuration inheritable for subclasses. Useful for ActiveRecord's STI.
214
+ # Default: `false`
215
+ #
216
+ # user.subclasses_inherit_config =
217
+
218
+
219
+ # -- remember_me --
220
+ # allow the remember_me cookie to settable through AJAX
221
+ # Default: `true`
222
+ #
223
+ # user.remember_me_httponly =
224
+
225
+ # How long in seconds the session length will be
226
+ # Default: `604800`
227
+ #
228
+ # user.remember_me_for =
229
+
230
+
231
+ # -- user_activation --
232
+ # the attribute name to hold activation state (active/pending).
233
+ # Default: `:activation_state`
234
+ #
235
+ # user.activation_state_attribute_name =
236
+
237
+
238
+ # the attribute name to hold activation code (sent by email).
239
+ # Default: `:activation_token`
240
+ #
241
+ # user.activation_token_attribute_name =
242
+
243
+
244
+ # the attribute name to hold activation code expiration date.
245
+ # Default: `:activation_token_expires_at`
246
+ #
247
+ # user.activation_token_expires_at_attribute_name =
248
+
249
+
250
+ # how many seconds before the activation code expires. nil for never expires.
251
+ # Default: `nil`
252
+ #
253
+ # user.activation_token_expiration_period =
254
+
255
+
256
+ # your mailer class. Required.
257
+ # Default: `nil`
258
+ #
259
+ # user.user_activation_mailer =
260
+
261
+
262
+ # when true sorcery will not automatically
263
+ # email activation details and allow you to
264
+ # manually handle how and when email is sent.
265
+ # Default: `false`
266
+ #
267
+ # user.activation_mailer_disabled =
268
+
269
+
270
+ # activation needed email method on your mailer class.
271
+ # Default: `:activation_needed_email`
272
+ #
273
+ # user.activation_needed_email_method_name =
274
+
275
+
276
+ # activation success email method on your mailer class.
277
+ # Default: `:activation_success_email`
278
+ #
279
+ # user.activation_success_email_method_name =
280
+
281
+
282
+ # do you want to prevent or allow users that did not activate by email to login?
283
+ # Default: `true`
284
+ #
285
+ # user.prevent_non_active_users_to_login =
286
+
287
+
288
+ # -- reset_password --
289
+ # reset password code attribute name.
290
+ # Default: `:reset_password_token`
291
+ #
292
+ # user.reset_password_token_attribute_name =
293
+
294
+
295
+ # expires at attribute name.
296
+ # Default: `:reset_password_token_expires_at`
297
+ #
298
+ # user.reset_password_token_expires_at_attribute_name =
299
+
300
+
301
+ # when was email sent, used for hammering protection.
302
+ # Default: `:reset_password_email_sent_at`
303
+ #
304
+ # user.reset_password_email_sent_at_attribute_name =
305
+
306
+
307
+ # mailer class. Needed.
308
+ # Default: `nil`
309
+ #
310
+ # user.reset_password_mailer =
311
+
312
+
313
+ # reset password email method on your mailer class.
314
+ # Default: `:reset_password_email`
315
+ #
316
+ # user.reset_password_email_method_name =
317
+
318
+
319
+ # when true sorcery will not automatically
320
+ # email password reset details and allow you to
321
+ # manually handle how and when email is sent
322
+ # Default: `false`
323
+ #
324
+ # user.reset_password_mailer_disabled =
325
+
326
+
327
+ # how many seconds before the reset request expires. nil for never expires.
328
+ # Default: `nil`
329
+ #
330
+ # user.reset_password_expiration_period =
331
+
332
+
333
+ # hammering protection, how long to wait before allowing another email to be sent.
334
+ # Default: `5 * 60`
335
+ #
336
+ # user.reset_password_time_between_emails =
337
+
338
+
339
+ # -- brute_force_protection --
340
+ # Failed logins attribute name.
341
+ # Default: `:failed_logins_count`
342
+ #
343
+ # user.failed_logins_count_attribute_name =
344
+
345
+
346
+ # This field indicates whether user is banned and when it will be active again.
347
+ # Default: `:lock_expires_at`
348
+ #
349
+ # user.lock_expires_at_attribute_name =
350
+
351
+
352
+ # How many failed logins allowed.
353
+ # Default: `50`
354
+ #
355
+ # user.consecutive_login_retries_amount_limit =
356
+
357
+
358
+ # How long the user should be banned. in seconds. 0 for permanent.
359
+ # Default: `60 * 60`
360
+ #
361
+ # user.login_lock_time_period =
362
+
363
+ # Unlock token attribute name
364
+ # Default: `:unlock_token`
365
+ #
366
+ # user.unlock_token_attribute_name =
367
+
368
+ # Unlock token mailer method
369
+ # Default: `:send_unlock_token_email`
370
+ #
371
+ # user.unlock_token_email_method_name =
372
+
373
+ # when true sorcery will not automatically
374
+ # send email with unlock token
375
+ # Default: `false`
376
+ #
377
+ # user.unlock_token_mailer_disabled = true
378
+
379
+ # Unlock token mailer class
380
+ # Default: `nil`
381
+ #
382
+ # user.unlock_token_mailer = UserMailer
383
+
384
+ # -- activity logging --
385
+ # Last login attribute name.
386
+ # Default: `:last_login_at`
387
+ #
388
+ # user.last_login_at_attribute_name =
389
+
390
+
391
+ # Last logout attribute name.
392
+ # Default: `:last_logout_at`
393
+ #
394
+ # user.last_logout_at_attribute_name =
395
+
396
+
397
+ # Last activity attribute name.
398
+ # Default: `:last_activity_at`
399
+ #
400
+ # user.last_activity_at_attribute_name =
401
+
402
+
403
+ # How long since last activity is he user defined logged out?
404
+ # Default: `10 * 60`
405
+ #
406
+ # user.activity_timeout =
407
+
408
+
409
+ # -- external --
410
+ # Class which holds the various external provider data for this user.
411
+ # Default: `nil`
412
+ #
413
+ # user.authentications_class =
414
+
415
+
416
+ # User's identifier in authentications class.
417
+ # Default: `:user_id`
418
+ #
419
+ # user.authentications_user_id_attribute_name =
420
+
421
+
422
+ # Provider's identifier in authentications class.
423
+ # Default: `:provider`
424
+ #
425
+ # user.provider_attribute_name =
426
+
427
+
428
+ # User's external unique identifier in authentications class.
429
+ # Default: `:uid`
430
+ #
431
+ # user.provider_uid_attribute_name =
432
+ end
433
+
434
+ # This line must come after the 'user config' block.
435
+ # Define which model authenticates with sorcery.
436
+ config.user_class = "Admin::User"
437
+ end