cloudrider 0.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 (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,78 @@
1
+ # File generated by yaml_writer
2
+ # 75 translations
3
+ tr:
4
+ "about": "hakkında"
5
+ "product": "ürün"
6
+ "products": "ürünler"
7
+ "contact": "iletişim"
8
+ "contacts": "kontakları"
9
+ "three_to_four_words": "3-4 kelime"
10
+ "couple_more_four_to_six_words": "çift daha 4-6 kelime"
11
+ "about_us": "hakkımızda"
12
+ "rest_of_the_showcase": "vitrin dinlenme"
13
+ "availability": "kullanılabilirliği"
14
+ "location": "konumu"
15
+ "total_products": "toplam ürünleri"
16
+ "our_team": "ekibimiz"
17
+ "loading_employees": "yükleme çalışanları"
18
+ "or_perhaps_no_employees_have_been_listed": "ya da belki hiçbir çalışanı listelenmiştir"
19
+ "contact_us": "bize Ulaşın"
20
+ "your_company": "şirket"
21
+ "company_email": "şirket e-posta"
22
+ "subject": "konu"
23
+ "message": "mesajı"
24
+ "submit": "submit"
25
+ "admin": "Admin"
26
+ "home": "ev"
27
+ "cancel": "iptal"
28
+ "product_index": "ürün indeksi"
29
+ "browse_and_search": "gezinmenizi ve arama"
30
+ "material": "materyal"
31
+ "form": "formu"
32
+ "Los_Angeles": "Los Angeles"
33
+ "San_Diego": "San Diego"
34
+ "Oakland": "oakland"
35
+ "Seattle": "Seattle"
36
+ "Tacoma": "Tacoma"
37
+ "Chicago": "Chicago"
38
+ "Houston": "Houston"
39
+ "New_York": "New York"
40
+ "New_Orleans": "New Orleans"
41
+ "Norfolk": "Norfolk"
42
+ "Boston": "Boston"
43
+ "Miami": "Miami"
44
+ "virgin": "bakire"
45
+ "natural": "doğal"
46
+ "colored": "renkli"
47
+ "black": "siyah"
48
+ "blue": "mavi"
49
+ "red": "kırmızı"
50
+ "green": "yeşil"
51
+ "white": "beyaz"
52
+ "yellow": "sarı"
53
+ "mixed": "karışık"
54
+ "rigid": "rijit"
55
+ "bottle": "şişe"
56
+ "film": "Film"
57
+ "processing": "işleme"
58
+ "none": "yok"
59
+ "admin_panel": "yönetim paneli"
60
+ "welcome": "karşılama"
61
+ "translations": "çeviriler"
62
+ "taxons": "takson"
63
+ "new_product": "yeni bir ürün"
64
+ "edit": "düzenleme"
65
+ "delete": "silmek"
66
+ "keys": "tuşları"
67
+ "new_translation": "yeni çeviri"
68
+ "now_loading": "şimdi yükleniyor"
69
+ "query": "sorgu"
70
+ "locales": "yerel ayarlar"
71
+ "languages": "dilleri"
72
+ "language": "dil"
73
+ "price": "fiyat"
74
+ "quality": "kalite"
75
+ "amount": "miktarı"
76
+ "quantity": "miktar"
77
+ "place": "yer"
78
+ "translated_text": "çevrilmiş metin"
@@ -0,0 +1,78 @@
1
+ # File generated by yaml_writer
2
+ # 75 translations
3
+ zh-CN:
4
+ "about": "关于"
5
+ "product": "产品"
6
+ "products": "产品"
7
+ "contact": "联系方式"
8
+ "contacts": "联系人"
9
+ "three_to_four_words": "三到四个词"
10
+ "couple_more_four_to_six_words": "夫妇更四到六个单词"
11
+ "about_us": "关于我们"
12
+ "rest_of_the_showcase": "陈列柜休息"
13
+ "availability": "可用性"
14
+ "location": "位置"
15
+ "total_products": "总产品"
16
+ "our_team": "我们的团队"
17
+ "loading_employees": "加载员工"
18
+ "or_perhaps_no_employees_have_been_listed": "或者没有员工已上市"
19
+ "contact_us": "联系我们"
20
+ "your_company": "贵公司"
21
+ "company_email": "企业邮箱"
22
+ "subject": "主题"
23
+ "message": "消息"
24
+ "submit": "提交"
25
+ "admin": "管理"
26
+ "home": "家"
27
+ "cancel": "取消"
28
+ "product_index": "产品指标"
29
+ "browse_and_search": "浏览和搜索"
30
+ "material": "材料"
31
+ "form": "形式"
32
+ "Los_Angeles": "洛杉矶"
33
+ "San_Diego": "圣地亚哥"
34
+ "Oakland": "奥克兰"
35
+ "Seattle": "西雅图"
36
+ "Tacoma": "塔科马"
37
+ "Chicago": "芝加哥"
38
+ "Houston": "休斯顿"
39
+ "New_York": "纽约"
40
+ "New_Orleans": "新奥尔良"
41
+ "Norfolk": "诺福克"
42
+ "Boston": "波士顿"
43
+ "Miami": "迈阿密"
44
+ "virgin": "处女"
45
+ "natural": "自然"
46
+ "colored": "彩色"
47
+ "black": "黑"
48
+ "blue": "蓝色"
49
+ "red": "红"
50
+ "green": "绿色"
51
+ "white": "白"
52
+ "yellow": "黄"
53
+ "mixed": "混合"
54
+ "rigid": "刚性"
55
+ "bottle": "瓶"
56
+ "film": "电影"
57
+ "processing": "处理"
58
+ "none": "无"
59
+ "admin_panel": "管理面板"
60
+ "welcome": "欢迎"
61
+ "translations": "翻译"
62
+ "taxons": "分类单位"
63
+ "new_product": "新产品"
64
+ "edit": "编辑"
65
+ "delete": "删除"
66
+ "keys": "键"
67
+ "new_translation": "新的翻译"
68
+ "now_loading": "现在载入"
69
+ "query": "查询"
70
+ "locales": "语言环境"
71
+ "languages": "语言"
72
+ "language": "语言"
73
+ "price": "价格"
74
+ "quality": "质量"
75
+ "amount": "量"
76
+ "quantity": "数量"
77
+ "place": "地方"
78
+ "translated_text": "译文"
@@ -0,0 +1,78 @@
1
+ # File generated by yaml_writer
2
+ # 75 translations
3
+ zh-TW:
4
+ "about": "關於"
5
+ "product": "產品"
6
+ "products": "產品"
7
+ "contact": "聯繫方式"
8
+ "contacts": "聯繫人"
9
+ "three_to_four_words": "三到四個詞"
10
+ "couple_more_four_to_six_words": "夫婦更四到六個單詞"
11
+ "about_us": "關於我們"
12
+ "rest_of_the_showcase": "陳列櫃休息"
13
+ "availability": "可用性"
14
+ "location": "位置"
15
+ "total_products": "總產品"
16
+ "our_team": "我們的團隊"
17
+ "loading_employees": "加載員工"
18
+ "or_perhaps_no_employees_have_been_listed": "或者沒有員工已上市"
19
+ "contact_us": "聯繫我們"
20
+ "your_company": "貴公司"
21
+ "company_email": "企業郵箱"
22
+ "subject": "主題"
23
+ "message": "消息"
24
+ "submit": "提交"
25
+ "admin": "管理"
26
+ "home": "家"
27
+ "cancel": "取消"
28
+ "product_index": "產品指標"
29
+ "browse_and_search": "瀏覽和搜索"
30
+ "material": "材料"
31
+ "form": "形式"
32
+ "Los_Angeles": "洛杉磯"
33
+ "San_Diego": "聖地亞哥"
34
+ "Oakland": "奧克蘭"
35
+ "Seattle": "西雅圖"
36
+ "Tacoma": "塔科馬"
37
+ "Chicago": "芝加哥"
38
+ "Houston": "休斯頓"
39
+ "New_York": "紐約"
40
+ "New_Orleans": "新奧爾良"
41
+ "Norfolk": "諾福克"
42
+ "Boston": "波士頓"
43
+ "Miami": "邁阿密"
44
+ "virgin": "處女"
45
+ "natural": "自然"
46
+ "colored": "彩色"
47
+ "black": "黑"
48
+ "blue": "藍色"
49
+ "red": "紅"
50
+ "green": "綠色"
51
+ "white": "白"
52
+ "yellow": "黃"
53
+ "mixed": "混合"
54
+ "rigid": "剛性"
55
+ "bottle": "瓶"
56
+ "film": "電影"
57
+ "processing": "處理"
58
+ "none": "無"
59
+ "admin_panel": "管理面板"
60
+ "welcome": "歡迎"
61
+ "translations": "翻譯"
62
+ "taxons": "分類單位"
63
+ "new_product": "新產品"
64
+ "edit": "編輯"
65
+ "delete": "刪除"
66
+ "keys": "鍵"
67
+ "new_translation": "新的翻譯"
68
+ "now_loading": "現在載入"
69
+ "query": "查詢"
70
+ "locales": "語言環境"
71
+ "languages": "語言"
72
+ "language": "語言"
73
+ "price": "價格"
74
+ "quality": "質量"
75
+ "amount": "量"
76
+ "quantity": "數量"
77
+ "place": "地方"
78
+ "translated_text": "譯文"
@@ -0,0 +1,36 @@
1
+ upstream app {
2
+ server unix:/home/ia/workspace/pisource/tmp/sockets/unicorn.pisource.sock fail_timeout=0;
3
+ }
4
+ server {
5
+ listen 80;
6
+ server_name pisourceinc.com www.pisourceinc.com rumofile.com;
7
+
8
+ keepalive_timeout 5;
9
+ root /home/ia/workspace/pisource/public;
10
+ access_log /home/ia/workspace/pisource/log/access.log;
11
+ error_log off;
12
+
13
+ location ~ ^/(assets)/ {
14
+ gzip_static on;
15
+ expires max;
16
+ add_header Cache-Control public;
17
+ }
18
+
19
+ location / {
20
+ try_files $uri/index.html $uri.html $uri @app;
21
+ error_page 404 /404.html;
22
+ error_page 422 /422.html;
23
+ error_page 500 502 503 504 /500.html;
24
+ error_page 403 /403.html;
25
+ }
26
+
27
+ location @app {
28
+ proxy_pass http://app;
29
+ }
30
+
31
+ location = /favicon.ico {
32
+ expires max;
33
+ add_header Cache-Control public;
34
+ }
35
+
36
+ }
@@ -0,0 +1,35 @@
1
+ Rails.application.routes.draw do
2
+
3
+ root 'apiv1/home#index'
4
+ namespace :apiv1 do
5
+ resources :products, only: [:index], controller: 'products/index'
6
+ resources :products, only: [:show], controller: 'products/show'
7
+ resources :products, only: [:destroy], controller: 'products/destroy'
8
+ resource :product_metadatum, only: [:show], controller: 'product_metadatum/show'
9
+ resource :product_metadata, only: [:show], controller: 'product_metadatum/show'
10
+ resources :pictures, only: [:show], controller: 'pictures/show'
11
+ resources :pictures, only: [:destroy], controller: 'pictures/destroy'
12
+ resources :taxons, only: [:index], controller: 'taxons/index'
13
+ resources :taxons, only: [:show], controller: 'taxons/show'
14
+ resources :employees, only: [:show], controller: 'employees/show'
15
+ resources :employees, only: [:index], controller: 'employees/index'
16
+ resources :translations, only: [:show], controller: 'translations/show'
17
+ resources :translations, only: [:index], controller: 'translations/index'
18
+ resources :translations, only: [:create], controller: 'translations/create'
19
+ resources :translations, only: [:update], controller: 'translations/update'
20
+ resources :i18n_translations, only: [:index], controller: 'i18n_translations/index'
21
+ end
22
+
23
+ namespace :admin do
24
+ resources :admin_products, only: [:create], controller: 'products/create'
25
+ resources :admin_products, only: [:update], controller: 'products/update'
26
+
27
+ resources :admin_employees, only: [:create], controller: 'employees/create'
28
+
29
+ resources :taxons, only: [:create], controller: 'taxons/create'
30
+ resources :taxons, only: [:update], controller: 'taxons/update'
31
+ resources :taxons, only: [:destroy], controller: 'taxons/destroy'
32
+
33
+ resources :admin_sessions, only: [:create], controller: 'sessions/create'
34
+ end
35
+ end
@@ -0,0 +1,22 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key is used for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+
6
+ # Make sure the secret is at least 30 characters and all random,
7
+ # no regular words or you'll be exposed to dictionary attacks.
8
+ # You can use `rake secret` to generate a secure secret key.
9
+
10
+ # Make sure the secrets in this file are kept private
11
+ # if you're sharing your code publicly.
12
+
13
+ development:
14
+ secret_key_base: df5ebe52bc3e823a50aed337ccb1bef5c9dfbd1ef30e1abe312a65b547a9f1d20c559b27c1e6f00047fed717a946a0849ebeba7b33c7eca075e110f73991cd59
15
+
16
+ test:
17
+ secret_key_base: 24a16a615b91798ec62b3df0b2285e11c8ae3798a61afdc72f7f514ba6a846bd792e1067aa6d20a9677d5472255ba4bba907ee8f34b3436ebc5d7b4cd3c0302c
18
+
19
+ # Do not keep production secrets in the repository,
20
+ # instead read values from the environment.
21
+ production:
22
+ secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
@@ -0,0 +1,101 @@
1
+ # Sample verbose configuration file for Unicorn (not Rack)
2
+ #
3
+ # This configuration file documents many features of Unicorn
4
+ # that may not be needed for some applications. See
5
+ # http://unicorn.bogomips.org/examples/unicorn.conf.minimal.rb
6
+ # for a much simpler configuration file.
7
+ #
8
+ # See http://unicorn.bogomips.org/Unicorn/Configurator.html for complete
9
+ # documentation.
10
+
11
+ # Use at least one worker per core if you're on a dedicated server,
12
+ # more will usually help for _short_ waits on databases/caches.
13
+ worker_processes 4
14
+
15
+ # Since Unicorn is never exposed to outside clients, it does not need to
16
+ # run on the standard HTTP port (80), there is no reason to start Unicorn
17
+ # as root unless it's from system init scripts.
18
+ # If running the master process as root and the workers as an unprivileged
19
+ # user, do this to switch euid/egid in the workers (also chowns logs):
20
+ # user "unprivileged_user", "unprivileged_group"
21
+
22
+ # Help ensure your application will always spawn in the symlinked
23
+ # "current" directory that Capistrano sets up.
24
+ working_directory "/home/ia/workspace/pisource" # available in 0.94.0+
25
+
26
+ # listen on both a Unix domain socket and a TCP port,
27
+ # we use a shorter backlog for quicker failover when busy
28
+ listen "/home/ia/workspace/pisource/tmp/sockets/unicorn.pisource.sock", :backlog => 64
29
+
30
+ # nuke workers after 30 seconds instead of 60 seconds (the default)
31
+ timeout 30
32
+
33
+ # feel free to point this anywhere accessible on the filesystem
34
+ pid "/home/ia/workspace/pisource/tmp/pids/unicorn.pid"
35
+
36
+ # By default, the Unicorn logger will write to stderr.
37
+ # Additionally, ome applications/frameworks log to stderr or stdout,
38
+ # so prevent them from going to /dev/null when daemonized here:
39
+ stderr_path "/home/ia/workspace/pisource/log/unicorn.stderr.log"
40
+ stdout_path "/home/ia/workspace/pisource/log/unicorn.stdout.log"
41
+
42
+ # combine Ruby 2.0.0dev or REE with "preload_app true" for memory savings
43
+ # http://rubyenterpriseedition.com/faq.html#adapt_apps_for_cow
44
+ preload_app true
45
+ GC.respond_to?(:copy_on_write_friendly=) and
46
+ GC.copy_on_write_friendly = true
47
+
48
+ # Enable this flag to have unicorn test client connections by writing the
49
+ # beginning of the HTTP headers before calling the application. This
50
+ # prevents calling the application for connections that have disconnected
51
+ # while queued. This is only guaranteed to detect clients on the same
52
+ # host unicorn runs on, and unlikely to detect disconnects even on a
53
+ # fast LAN.
54
+ check_client_connection false
55
+
56
+ before_fork do |server, worker|
57
+ # the following is highly recomended for Rails + "preload_app true"
58
+ # as there's no need for the master process to hold a connection
59
+ defined?(ActiveRecord::Base) and
60
+ ActiveRecord::Base.connection.disconnect!
61
+
62
+ # The following is only recommended for memory/DB-constrained
63
+ # installations. It is not needed if your system can house
64
+ # twice as many worker_processes as you have configured.
65
+ #
66
+ # # This allows a new master process to incrementally
67
+ # # phase out the old master process with SIGTTOU to avoid a
68
+ # # thundering herd (especially in the "preload_app false" case)
69
+ # # when doing a transparent upgrade. The last worker spawned
70
+ # # will then kill off the old master process with a SIGQUIT.
71
+ # old_pid = "#{server.config[:pid]}.oldbin"
72
+ # if old_pid != server.pid
73
+ # begin
74
+ # sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
75
+ # Process.kill(sig, File.read(old_pid).to_i)
76
+ # rescue Errno::ENOENT, Errno::ESRCH
77
+ # end
78
+ # end
79
+ #
80
+ # Throttle the master from forking too quickly by sleeping. Due
81
+ # to the implementation of standard Unix signal handlers, this
82
+ # helps (but does not completely) prevent identical, repeated signals
83
+ # from being lost when the receiving process is busy.
84
+ # sleep 1
85
+ end
86
+
87
+ after_fork do |server, worker|
88
+ # per-process listener ports for debugging/admin/migrations
89
+ # addr = "127.0.0.1:#{9293 + worker.nr}"
90
+ # server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true)
91
+
92
+ # the following is *required* for Rails + "preload_app true",
93
+ defined?(ActiveRecord::Base) and
94
+ ActiveRecord::Base.establish_connection
95
+
96
+ # if preload_app is true, then you may also want to check and
97
+ # restart any other shared sockets/descriptors such as Memcached,
98
+ # and Redis. TokyoCabinet file handles are safe to reuse
99
+ # between any number of forked children (assuming your kernel
100
+ # correctly implements pread()/pwrite() system calls)
101
+ end
@@ -0,0 +1,14 @@
1
+ class CreateApiv1Taxons < ActiveRecord::Migration
2
+ def change
3
+ create_table :apiv1_taxons do |t|
4
+ t.references :parent, index: true
5
+ t.string :root_genus, null: false
6
+ t.string :taxon_name, null: false
7
+ t.string :permalink, null: false
8
+ t.string :explanation
9
+ t.datetime :first_child_at
10
+ t.timestamps
11
+ end
12
+ add_index :apiv1_taxons, [:permalink, :root_genus], unique: true
13
+ end
14
+ end