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,119 @@
1
+ require "cloudrider/apiv1"
2
+ require "cloudrider/protofile"
3
+ class Cloudrider::ApplicationCommander
4
+ class UnknownOrUnimplmenetedVarisset < StandardError; end
5
+ class << self
6
+ def varisset_protofiles_for(params)
7
+ new(params).files_to_write
8
+ end
9
+ def all_varissets
10
+ new(name: :all).all_files
11
+ end
12
+ end
13
+ def initialize(params)
14
+ @params = params
15
+ end
16
+
17
+ def files_to_write
18
+ _related_assets.flatten.map { |ac| ac.new _varisset_style }.map(&:protofile)
19
+ end
20
+
21
+ def all_files
22
+ [
23
+ _product_display,
24
+ _application,
25
+ _hero_splash,
26
+ _introductory_lobby,
27
+ _product_listing,
28
+ _index,
29
+ _cookie_splash,
30
+ _products_catalog,
31
+ _products_showcase,
32
+ _site_nav,
33
+ _table_booths
34
+ ].flatten.map { |ac| ac.new _varisset_style }.map(&:protofile)
35
+ end
36
+
37
+ private
38
+ def _product_display
39
+ [Cloudrider::Apiv1::ProductDisplayComponent, Cloudrider::Apiv1::ProductDisplaySass]
40
+ end
41
+ def _application
42
+ [Cloudrider::Apiv1::ApplicationSass, Cloudrider::Apiv1::ApplicationEmblem]
43
+ end
44
+ def _hero_splash
45
+ [Cloudrider::Apiv1::HeroSplashSass, Cloudrider::Apiv1::HeroSplashComponent]
46
+ end
47
+ def _introductory_lobby
48
+ [Cloudrider::Apiv1::IntroductoryLobbySass, Cloudrider::Apiv1::IntroductoryLobbyComponent]
49
+ end
50
+ def _product_listing
51
+ [Cloudrider::Apiv1::ProductListingComponent, Cloudrider::Apiv1::ProductListingSass]
52
+ end
53
+ def _index
54
+ [Cloudrider::Apiv1::IndexEmblem]
55
+ end
56
+ def _cookie_splash
57
+ [Cloudrider::Apiv1::CookieSplashComponent, Cloudrider::Apiv1::CookieSplashSass]
58
+ end
59
+ def _products_catalog
60
+ [Cloudrider::Apiv1::ProductsCatalogComponent, Cloudrider::Apiv1::ProductsCatalogSass]
61
+ end
62
+ def _products_showcase
63
+ [Cloudrider::Apiv1::ProductsShowcaseComponent, Cloudrider::Apiv1::ProductsShowcaseSass]
64
+ end
65
+ def _site_nav
66
+ [Cloudrider::Apiv1::SiteNavComponent, Cloudrider::Apiv1::SiteNavSass]
67
+ end
68
+ def _table_booths
69
+ [Cloudrider::Apiv1::TableBoothsComponent, Cloudrider::Apiv1::TableBoothsSass]
70
+ end
71
+ def _varisset_name
72
+ @params[:name]
73
+ end
74
+ def _varisset_style
75
+ @params[:style]
76
+ end
77
+ def _related_assets
78
+ case _varisset_name
79
+ when "application"
80
+ _application
81
+ when "index"
82
+ _index
83
+ when "cookie-splash"
84
+ _cookie_splash
85
+ when "hero-splash"
86
+ _hero_splash
87
+ when "introductory-lobby"
88
+ _introductory_lobby
89
+ when "product-display"
90
+ _product_display
91
+ when "product-listing"
92
+ _product_listing
93
+ when "products-catalog"
94
+ _products_catalog
95
+ when "products-showcase"
96
+ _products_showcase
97
+ when "site-nav"
98
+ _site_nav
99
+ when "table-booths"
100
+ _table_booths
101
+ else
102
+ raise UnknownOrUnimplmenetedVarisset, _varisset_name
103
+ end
104
+ end
105
+ KnownVarissets = [
106
+ "application",
107
+ "index",
108
+ "cookie-splash",
109
+ "hero-splash",
110
+ "introductory-lobby",
111
+ "product-display",
112
+ "product-listing",
113
+ "products-catalog",
114
+ "products-showcase",
115
+ "site-nav",
116
+ "table-booths"
117
+ ]
118
+ end
119
+
@@ -0,0 +1,24 @@
1
+ require 'tilt'
2
+ require 'erb'
3
+ class Cloudrider::FileOrdersMaker
4
+ def initialize(hash)
5
+ @request = hash
6
+ end
7
+
8
+ def file_orders
9
+ _website_application
10
+ end
11
+
12
+ private
13
+ def _website_application
14
+ WebsiteIndexPage.new.tap do |w|
15
+ w.site_nav = Cloudrider::EmberApp::SiteNav.new @request
16
+ w.hero_splash = Cloudrider::EmberApp::HeroSplash.new @request
17
+ w.introductory_lobby = Cloudrider::EmberApp::IntroductoryLobby.new @request
18
+ w.products_showcase = Cloudrider::EmberApp::ProductsShowcase.new @request
19
+ w.table_booths = Cloudrider::EmberApp::TableBooths.new @request
20
+ end
21
+ end
22
+
23
+
24
+ end
@@ -0,0 +1,9 @@
1
+ class Cloudrider::Protofile
2
+ attr_accessor :file_name, :folder, :renderer
3
+ def full_name
4
+ File.join folder, file_name
5
+ end
6
+ def content
7
+ renderer.call
8
+ end
9
+ end
@@ -0,0 +1,28 @@
1
+ .application-container.toggle-shift.shifted
2
+ <% if top_nav? %>
3
+ #canvas-menu-top
4
+ site-nav
5
+ #page-wrapper
6
+ .site-content
7
+ .not-site-footer
8
+ == outlet
9
+ site-footer action="displayModal"
10
+
11
+ <% else %>
12
+ #canvas-menu-left
13
+ site-nav
14
+ #page-wrapper
15
+ .small-time-header.hide-for-large-up.pointer click=toggleCanvasShift
16
+ i.fa.fa-bars.fa-3x
17
+ .site-content
18
+ .not-site-footer
19
+ == outlet
20
+ site-footer action="displayModal"
21
+ <% end %>
22
+ #fixed-bottom
23
+ .row
24
+ flash-message
25
+
26
+ .modal-background
27
+ .modal-vertical-container
28
+ == outlet "modal"
@@ -0,0 +1,3 @@
1
+ module Cloudrider
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1 @@
1
+ USAGE
@@ -0,0 +1,49 @@
1
+ require 'rails/generators/migration'
2
+ module Cloudrider; end
3
+ module Cloudrider::Generators; end
4
+ class Cloudrider::Generators::BackendGenerator < Rails::Generators::Base
5
+ source_root File.expand_path "../../../../../generica", __FILE__
6
+ include Rails::Generators::Migration
7
+ class << self
8
+ def next_migration_number(dirname)
9
+ next_migration_number = current_migration_number(dirname) + 1
10
+ ActiveRecord::Migration.next_migration_number(next_migration_number)
11
+ end
12
+ end
13
+ desc "Migrates in various rubies files"
14
+
15
+ def install_rubies
16
+ _migrate_backend
17
+ say "Be sure to run bundle and bower install"
18
+ end
19
+ private
20
+ def _migrate_backend
21
+ copy_file "bower.json", "bower.json"
22
+ copy_file ".bowerrc", ".bowerrc"
23
+ directory "app/models", "app/models"
24
+ directory "app/controllers", "app/controllers"
25
+ directory "app/views", "app/views"
26
+ directory "spec", "spec"
27
+ directory "db/seeds", "db/seeds"
28
+ migration_template "db/migrate/20140930180107_create_apiv1_pictures.rb", "db/migrate/create_apiv1_pictures.rb"
29
+ migration_template "db/migrate/20140930052333_create_apiv1_taxons.rb", "db/migrate/create_apiv1_taxons.rb"
30
+ migration_template "db/migrate/20141021003733_sorcery_core.rb", "db/migrate/sorcery_core.rb"
31
+ migration_template "db/migrate/20140930052559_create_apiv1_listings_plastics.rb", "db/migrate/create_apiv1_listings_plastics.rb"
32
+ migration_template "db/migrate/20140930180108_add_attachment_pic_to_apiv1_pictures.rb", "db/migrate/add_attachment_pic_to_apiv1_pictures.rb"
33
+ migration_template "db/migrate/20141021003734_sorcery_remember_me.rb", "db/migrate/sorcery_remember_me.rb"
34
+ migration_template "db/migrate/20141010215459_create_apiv1_translations.rb", "db/migrate/create_apiv1_translations.rb"
35
+ migration_template "db/migrate/20141006231820_create_apiv1_employees.rb", "db/migrate/create_apiv1_employees.rb"
36
+ migration_template "db/migrate/20141001212635_create_apiv1_listings_taxon_relationships.rb", "db/migrate/create_apiv1_listings_taxon_relationships.rb"
37
+ migration_template "db/migrate/20141001063631_create_commerce_units_dimensions.rb" , "db/migrate/create_commerce_units_dimensions.rb"
38
+ migration_template "db/migrate/20141018235809_add_attachment_document_to_attachments.rb", "db/migrate/add_attachment_document_to_attachments.rb"
39
+ directory "lib/tasks", "lib/tasks"
40
+ directory "lib/generica", "lib/generica"
41
+ copy_file "lib/generica.rb", "lib/generica.rb"
42
+ copy_file "config/desired_languages.yml", "config/desired_languages.yml"
43
+ copy_file ".rspec", ".rspec"
44
+ copy_file "public/tests/dog.png", "public/tests/dog.png"
45
+ copy_file "config/routes.rb", "config/routes.rb"
46
+ copy_file "config/initializers/sorcery.rb", "config/initializers/sorcery.rb"
47
+ copy_file "Gemfile", "Gemfile"
48
+ end
49
+ end
@@ -0,0 +1,110 @@
1
+ module Cloudrider; end
2
+ module Cloudrider::Generators; end
3
+ class Cloudrider::Generators::ClientGenerator < Rails::Generators::Base
4
+ source_root File.expand_path "../../../../../generica", __FILE__
5
+ desc "Migrates in assets/javascripts and assets/stylesheets files that don't vary from site to site"
6
+
7
+ def install_assets
8
+ _copy_config_files
9
+ _copy_support_folders
10
+ _copy_support_styles
11
+ _copy_static_style_folders
12
+ _copy_asset_images
13
+ _copy_static_components
14
+ _copy_static_pages
15
+ _copy_static_component_styles
16
+ say "You'll need to separately install varying assets"
17
+ say "varying assets include:"
18
+ say "emblems: "
19
+ say ["application.emblem", "index.emblem"].to_s
20
+ say "components: "
21
+ say ["cookie-splash", "hero-splash", "introductory-lobby", "product-catalog", "product-display", "product-listing", "products-showcase", "site-nav", "table-booths"].to_s
22
+ say "sass: "
23
+ say ["cookie-splash", "hero-splash", "introductory-lobby", "products-catalog", "products-showcase", "site-nav", "table-booths"].to_s
24
+ say "Be sure to run bundle and bower install"
25
+ end
26
+
27
+ private
28
+ def _copy_asset_images
29
+ directory "app/assets/images", "app/assets/images"
30
+ end
31
+ def _copy_config_files
32
+ ["apiv1.js.ls", "application.js"].each do |file|
33
+ copy_file "app/assets/javascripts/#{file}", "app/assets/javascripts/#{file}"
34
+ end
35
+ end
36
+ def _copy_support_folders
37
+ [
38
+ "adapters",
39
+ "components",
40
+ "config",
41
+ "controllers",
42
+ "helpers",
43
+ "mixins",
44
+ "models",
45
+ "packages",
46
+ "routes",
47
+ "transforms",
48
+ "views"
49
+ ].each do |folder|
50
+ directory "app/assets/javascripts/#{folder}", "app/assets/javascripts/#{folder}"
51
+ end
52
+ end
53
+ def _copy_support_styles
54
+ [
55
+ "application.css",
56
+ "apiv1.css.scss",
57
+ "foundation_and_overrides.scss",
58
+ "apiv1/_admin.css.scss",
59
+ "apiv1/modals/_login.css.scss",
60
+ "apiv1/products/product/_show.css.scss"
61
+ ].each do |file|
62
+ copy_file "app/assets/stylesheets/#{file}", "app/assets/stylesheets/#{file}"
63
+ end
64
+ end
65
+ def _copy_static_style_folders
66
+ ["admin", "shared"].each do |folder|
67
+ directory "app/assets/stylesheets/apiv1/#{folder}", "app/assets/stylesheets/apiv1/#{folder}"
68
+ end
69
+ end
70
+ def _copy_static_components
71
+ [
72
+ "tr-span",
73
+ "fancy-paginator",
74
+ "form-for",
75
+ "flash-message",
76
+ "block-grid-pictures",
77
+ "block-picture",
78
+ "flash-slice",
79
+ "promise-button",
80
+ "search-and-filter",
81
+ "select-locale",
82
+ "site-footer",
83
+ "tree-taxon-li",
84
+ "tree-taxon-ul",
85
+ "tree-taxon-wrapper"
86
+ ].each do |component|
87
+ copy_file "app/assets/javascripts/templates/components/#{component}.emblem", "app/assets/javascripts/templates/components/#{component}.emblem"
88
+ end
89
+ end
90
+ def _copy_static_pages
91
+ ["modals/login", "products/product/show", "products", "admin"].each do |file|
92
+ copy_file "app/assets/javascripts/templates/#{file}.emblem", "app/assets/javascripts/templates/#{file}.emblem"
93
+ end
94
+ end
95
+ def _copy_static_component_styles
96
+ [
97
+ "block-grid-pictures",
98
+ "fancy-paginator",
99
+ "files-field",
100
+ "flash-message",
101
+ "promise-button",
102
+ "search-and-filter",
103
+ "select-locale",
104
+ "site-footer",
105
+ "type-ahead",
106
+ "tree-taxon-wrapper"].each do |file|
107
+ copy_file "app/assets/stylesheets/apiv1/components/_#{file}.css.scss", "app/assets/stylesheets/apiv1/components/_#{file}.css.scss"
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,35 @@
1
+ require "cloudrider/application_commander"
2
+
3
+ module Cloudrider::Generators; end
4
+ class Cloudrider::Generators::VarissetsGenerator < Rails::Generators::NamedBase
5
+
6
+ desc "Generates a varying asset and inserts it properly into your application.
7
+ Known varissets are: #{Cloudrider::ApplicationCommander::KnownVarissets}"
8
+ def create_the_variable_files
9
+ return _all_varissets if _all_varissets?
10
+ _selective_varissets
11
+ end
12
+ private
13
+ def _selective_varissets
14
+ Cloudrider::ApplicationCommander.varisset_protofiles_for(_varisset_opts).each do |protofile|
15
+ create_file protofile.full_name, protofile.content
16
+ end
17
+ end
18
+ def _all_varissets
19
+ Cloudrider::ApplicationCommander.all_varissets.each do |protofile|
20
+ create_file protofile.full_name, protofile.content
21
+ end
22
+ end
23
+ def _all_varissets?
24
+ _varisset_name == "all"
25
+ end
26
+ def _varisset_opts
27
+ { name: _varisset_name, style: _varisset_style }
28
+ end
29
+ def _varisset_name
30
+ name.split(":").first
31
+ end
32
+ def _varisset_style
33
+ name.split(":").second
34
+ end
35
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ class Cloudrider::Apiv1::TestApplicationComponent < Cloudrider::Apiv1::Base; end
4
+ class Cloudrider::Apiv1::TestApplicationSass < Cloudrider::Apiv1::Base; end
5
+ class Cloudrider::Apiv1::TestApplicationEmblem < Cloudrider::Apiv1::Base; end
6
+ describe Cloudrider::Apiv1::Base do
7
+ let(:component) { Cloudrider::Apiv1::TestApplicationComponent.new }
8
+ let(:sass) { Cloudrider::Apiv1::TestApplicationSass.new }
9
+ let(:emblem) { Cloudrider::Apiv1::TestApplicationEmblem.new }
10
+ context '#_source_file' do
11
+ subject { component.send :_source_file }
12
+ specify { should eq "test-application.emblem.erb" }
13
+ end
14
+ context '#_source_file' do
15
+ subject { sass.send :_source_file }
16
+ specify { should eq "_test-application.css.scss.erb" }
17
+ end
18
+ context '#_source_file' do
19
+ subject { emblem.send :_source_file }
20
+ specify { should eq "test_application.emblem.erb" }
21
+ end
22
+ context '#_file_name' do
23
+ subject { component.send :_file_name }
24
+ specify { should eq "test-application.emblem" }
25
+ end
26
+ context '#_file_name' do
27
+ subject { sass.send :_file_name }
28
+ specify { should eq "_test-application.css.scss" }
29
+ end
30
+ context '#_file_name' do
31
+ subject { emblem.send :_file_name }
32
+ specify { should eq "test_application.emblem" }
33
+ end
34
+ context '#_family' do
35
+ subject { emblem.send :_family }
36
+ specify { should eq :emblem }
37
+ end
38
+ context '#_family' do
39
+ subject { sass.send :_family }
40
+ specify { should eq :sass }
41
+ end
42
+ context '#_family' do
43
+ subject { component.send :_family }
44
+ specify { should eq :component }
45
+ end
46
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Cloudrider::Apiv1 do
4
+ context ':file_name_from_class_name' do
5
+ subject { Cloudrider::Apiv1.file_name_from_class_name "Cloudrider::Apiv1::DonkeyPunchSass" }
6
+ specify { should eq "_donkey-punch" }
7
+ end
8
+ context ':file_name_from_class_name' do
9
+ subject { Cloudrider::Apiv1.file_name_from_class_name "Cloudrider::Apiv1::PearlNecklaceComponent" }
10
+ specify { should eq "pearl-necklace" }
11
+ end
12
+ context ':file_ext_from_class_name' do
13
+ subject { Cloudrider::Apiv1.file_ext_from_class_name "Cloudrider::Apiv1::ApplicationComponent" }
14
+ specify { should eq ".emblem" }
15
+ end
16
+ context ':file_ext_from_class_name' do
17
+ subject { Cloudrider::Apiv1.file_ext_from_class_name "Cloudrider::Apiv1::DicksAreUsSass" }
18
+ specify { should eq ".css.scss" }
19
+ end
20
+ end