cloudrider 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.rspec +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/cloudrider.gemspec +30 -0
- data/generica/.bowerrc +3 -0
- data/generica/.rspec +2 -0
- data/generica/Gemfile +67 -0
- data/generica/Gemfile.lock +363 -0
- data/generica/LICENSE.txt +22 -0
- data/generica/README.md +156 -0
- data/generica/Rakefile +5 -0
- data/generica/app/assets/images/.keep +0 -0
- data/generica/app/assets/images/cookie-splash/albatross.jpg +0 -0
- data/generica/app/assets/images/cookie-splash/california.png +0 -0
- data/generica/app/assets/images/hero-splash/albatross.jpg +0 -0
- data/generica/app/assets/images/hero-splash/california.jpg +0 -0
- data/generica/app/assets/images/hero-splash/rocks.jpg +0 -0
- data/generica/app/assets/images/hero-splash/seaweed.png +0 -0
- data/generica/app/assets/images/introductory-lobby/fishing.jpg +0 -0
- data/generica/app/assets/images/products-showcase/rocks.jpg +0 -0
- data/generica/app/assets/images/table-booths/411.png +0 -0
- data/generica/app/assets/javascripts/adapters/admin/employee.js.ls +20 -0
- data/generica/app/assets/javascripts/adapters/admin/product.js.ls +20 -0
- data/generica/app/assets/javascripts/adapters/admin/session.js.em +2 -0
- data/generica/app/assets/javascripts/adapters/application.js.em +2 -0
- data/generica/app/assets/javascripts/apiv1.js.ls +24 -0
- data/generica/app/assets/javascripts/application.js +23 -0
- data/generica/app/assets/javascripts/components/.gitkeep +0 -0
- data/generica/app/assets/javascripts/components/block-grid-pictures.js.em +3 -0
- data/generica/app/assets/javascripts/components/block-picture.js.em +8 -0
- data/generica/app/assets/javascripts/components/cookie-splash.js.em +2 -0
- data/generica/app/assets/javascripts/components/fancy-paginator.js.em +23 -0
- data/generica/app/assets/javascripts/components/files-field.js.em +28 -0
- data/generica/app/assets/javascripts/components/flash-message.js.em +6 -0
- data/generica/app/assets/javascripts/components/flash-slice.js.em +32 -0
- data/generica/app/assets/javascripts/components/form-for.js.em +28 -0
- data/generica/app/assets/javascripts/components/hero-splash.js.em +17 -0
- data/generica/app/assets/javascripts/components/introductory-lobby.js.em +13 -0
- data/generica/app/assets/javascripts/components/product-display.js.em +3 -0
- data/generica/app/assets/javascripts/components/product-listing.js.em +3 -0
- data/generica/app/assets/javascripts/components/products-catalog.js.em +2 -0
- data/generica/app/assets/javascripts/components/products-showcase.js.ls +5 -0
- data/generica/app/assets/javascripts/components/promise-button.js.em +20 -0
- data/generica/app/assets/javascripts/components/search-and-filter.js.em +13 -0
- data/generica/app/assets/javascripts/components/select-locale.js.em +19 -0
- data/generica/app/assets/javascripts/components/site-footer.js.em +8 -0
- data/generica/app/assets/javascripts/components/site-nav.js.em +3 -0
- data/generica/app/assets/javascripts/components/table-booths.js.em +10 -0
- data/generica/app/assets/javascripts/components/tr-span.js.em +18 -0
- data/generica/app/assets/javascripts/components/tree/taxon-li.js.em +46 -0
- data/generica/app/assets/javascripts/components/tree/taxon-ul.js.em +3 -0
- data/generica/app/assets/javascripts/components/tree/taxon-wrapper.js.em +22 -0
- data/generica/app/assets/javascripts/components/type-ahead.js.em +17 -0
- data/generica/app/assets/javascripts/config/i18n-translations.js.ls +3 -0
- data/generica/app/assets/javascripts/config/router.js.ls +29 -0
- data/generica/app/assets/javascripts/controllers/.gitkeep +0 -0
- data/generica/app/assets/javascripts/controllers/admin/employees/new_controller.js.em +16 -0
- data/generica/app/assets/javascripts/controllers/admin/employees/slice_controller.js.em +4 -0
- data/generica/app/assets/javascripts/controllers/admin/product/edit_controller.js.em +21 -0
- data/generica/app/assets/javascripts/controllers/admin/products/new_controller.js.em +16 -0
- data/generica/app/assets/javascripts/controllers/admin/products/slice_controller.js.em +4 -0
- data/generica/app/assets/javascripts/controllers/admin/translation/edit_controller.js.em +19 -0
- data/generica/app/assets/javascripts/controllers/admin/translation/form_controller.js.em +10 -0
- data/generica/app/assets/javascripts/controllers/admin/translations/index_controller.js.em +19 -0
- data/generica/app/assets/javascripts/controllers/admin/translations/sliver_controller.js.em +8 -0
- data/generica/app/assets/javascripts/controllers/application_controller.js.em +9 -0
- data/generica/app/assets/javascripts/controllers/index_controller.js.em +20 -0
- data/generica/app/assets/javascripts/controllers/modals/login_controller.js.em +24 -0
- data/generica/app/assets/javascripts/controllers/products/index_controller.js.em +28 -0
- data/generica/app/assets/javascripts/controllers/products/product/show_controller.js.em +17 -0
- data/generica/app/assets/javascripts/helpers/.gitkeep +0 -0
- data/generica/app/assets/javascripts/helpers/array_ex.js.ls +27 -0
- data/generica/app/assets/javascripts/helpers/i18n.js.ls +3 -0
- data/generica/app/assets/javascripts/helpers/string_ex.js.ls +21 -0
- data/generica/app/assets/javascripts/mixins/.gitkeep +0 -0
- data/generica/app/assets/javascripts/mixins/file_drag_and_drop.js.em +57 -0
- data/generica/app/assets/javascripts/mixins/type_ahead_builder.js.em +41 -0
- data/generica/app/assets/javascripts/models/.gitkeep +0 -0
- data/generica/app/assets/javascripts/models/admin/employee.js.em +6 -0
- data/generica/app/assets/javascripts/models/admin/offer.js.em +1 -0
- data/generica/app/assets/javascripts/models/admin/product.js.em +12 -0
- data/generica/app/assets/javascripts/models/admin/session.js.em +3 -0
- data/generica/app/assets/javascripts/models/admin/taxon.js.em +1 -0
- data/generica/app/assets/javascripts/models/attachment.js.em +9 -0
- data/generica/app/assets/javascripts/models/employee.js.em +16 -0
- data/generica/app/assets/javascripts/models/listing.js.em +20 -0
- data/generica/app/assets/javascripts/models/offer.js.em +12 -0
- data/generica/app/assets/javascripts/models/picture.js.em +11 -0
- data/generica/app/assets/javascripts/models/product.js.em +29 -0
- data/generica/app/assets/javascripts/models/session.js.ls +4 -0
- data/generica/app/assets/javascripts/models/taxon.js.em +31 -0
- data/generica/app/assets/javascripts/models/translation.js.em +46 -0
- data/generica/app/assets/javascripts/packages/flash.js.em +36 -0
- data/generica/app/assets/javascripts/packages/tranny.js.ls +51 -0
- data/generica/app/assets/javascripts/routes/.gitkeep +0 -0
- data/generica/app/assets/javascripts/routes/admin/employees/index_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/admin/employees/new_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/admin/index_route.js.em +1 -0
- data/generica/app/assets/javascripts/routes/admin/product_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/admin/products/index_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/admin/products/new_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/admin/taxons/index_route.js.em +2 -0
- data/generica/app/assets/javascripts/routes/admin/translation/edit_route.js.em +1 -0
- data/generica/app/assets/javascripts/routes/admin/translation_route.js.em +12 -0
- data/generica/app/assets/javascripts/routes/admin/translations/index_route.js.em +20 -0
- data/generica/app/assets/javascripts/routes/admin_route.js.em +4 -0
- data/generica/app/assets/javascripts/routes/application_route.js.em +19 -0
- data/generica/app/assets/javascripts/routes/index_route.js.em +4 -0
- data/generica/app/assets/javascripts/routes/products/index_route.js.em +3 -0
- data/generica/app/assets/javascripts/routes/products_route.js.em +4 -0
- data/generica/app/assets/javascripts/templates/.gitkeep +0 -0
- data/generica/app/assets/javascripts/templates/admin.emblem +23 -0
- data/generica/app/assets/javascripts/templates/admin/employees/index.emblem +22 -0
- data/generica/app/assets/javascripts/templates/admin/employees/new.emblem +35 -0
- data/generica/app/assets/javascripts/templates/admin/employees/slice.emblem +22 -0
- data/generica/app/assets/javascripts/templates/admin/index.emblem +3 -0
- data/generica/app/assets/javascripts/templates/admin/product/edit.emblem +69 -0
- data/generica/app/assets/javascripts/templates/admin/products/index.emblem +22 -0
- data/generica/app/assets/javascripts/templates/admin/products/new.emblem +56 -0
- data/generica/app/assets/javascripts/templates/admin/products/slice.emblem +22 -0
- data/generica/app/assets/javascripts/templates/admin/taxons/index.emblem +10 -0
- data/generica/app/assets/javascripts/templates/admin/taxons/new.emblem +0 -0
- data/generica/app/assets/javascripts/templates/admin/translation/edit.emblem +11 -0
- data/generica/app/assets/javascripts/templates/admin/translation/form.emblem +20 -0
- data/generica/app/assets/javascripts/templates/admin/translations/index.emblem +43 -0
- data/generica/app/assets/javascripts/templates/admin/translations/slice.emblem +23 -0
- data/generica/app/assets/javascripts/templates/admin/translations/sliver.emblem +18 -0
- data/generica/app/assets/javascripts/templates/application.emblem +14 -0
- data/generica/app/assets/javascripts/templates/components/.gitkeep +0 -0
- data/generica/app/assets/javascripts/templates/components/block-grid-pictures.emblem +5 -0
- data/generica/app/assets/javascripts/templates/components/block-picture.emblem +7 -0
- data/generica/app/assets/javascripts/templates/components/cookie-splash.emblem +14 -0
- data/generica/app/assets/javascripts/templates/components/fancy-paginator.emblem +31 -0
- data/generica/app/assets/javascripts/templates/components/flash-message.emblem +2 -0
- data/generica/app/assets/javascripts/templates/components/flash-slice.emblem +6 -0
- data/generica/app/assets/javascripts/templates/components/form-for.emblem +2 -0
- data/generica/app/assets/javascripts/templates/components/hero-splash.emblem +13 -0
- data/generica/app/assets/javascripts/templates/components/hero-splash/_splash-cta.emblem +7 -0
- data/generica/app/assets/javascripts/templates/components/hero-splash/_splash-tagline.emblem +8 -0
- data/generica/app/assets/javascripts/templates/components/introductory-lobby.emblem +12 -0
- data/generica/app/assets/javascripts/templates/components/product-display.emblem +47 -0
- data/generica/app/assets/javascripts/templates/components/product-listing.emblem +26 -0
- data/generica/app/assets/javascripts/templates/components/products-catalog.emblem +16 -0
- data/generica/app/assets/javascripts/templates/components/products-showcase.emblem +12 -0
- data/generica/app/assets/javascripts/templates/components/products-showcase/_contained-media-one.emblem +20 -0
- data/generica/app/assets/javascripts/templates/components/promise-button.emblem +6 -0
- data/generica/app/assets/javascripts/templates/components/search-and-filter.emblem +11 -0
- data/generica/app/assets/javascripts/templates/components/select-locale.emblem +1 -0
- data/generica/app/assets/javascripts/templates/components/site-footer.emblem +9 -0
- data/generica/app/assets/javascripts/templates/components/site-nav.emblem +7 -0
- data/generica/app/assets/javascripts/templates/components/site-nav/_left-nav.emblem +19 -0
- data/generica/app/assets/javascripts/templates/components/site-nav/_top-nav.emblem +22 -0
- data/generica/app/assets/javascripts/templates/components/table-booths.emblem +75 -0
- data/generica/app/assets/javascripts/templates/components/tr-span.emblem +1 -0
- data/generica/app/assets/javascripts/templates/components/tree-taxon-li.emblem +29 -0
- data/generica/app/assets/javascripts/templates/components/tree-taxon-ul.emblem +9 -0
- data/generica/app/assets/javascripts/templates/components/tree-taxon-wrapper.emblem +3 -0
- data/generica/app/assets/javascripts/templates/index.emblem +7 -0
- data/generica/app/assets/javascripts/templates/modals/login.emblem +27 -0
- data/generica/app/assets/javascripts/templates/products.emblem +3 -0
- data/generica/app/assets/javascripts/templates/products/index.emblem +7 -0
- data/generica/app/assets/javascripts/templates/products/product/show.emblem +71 -0
- data/generica/app/assets/javascripts/transforms/files_transform.js.ls +7 -0
- data/generica/app/assets/javascripts/transforms/form_data_transformer.js.ls +25 -0
- data/generica/app/assets/javascripts/transforms/strings_transform.js.ls +4 -0
- data/generica/app/assets/javascripts/views/.gitkeep +0 -0
- data/generica/app/assets/stylesheets/apiv1.css.scss +8 -0
- data/generica/app/assets/stylesheets/apiv1/_admin.css.scss +14 -0
- data/generica/app/assets/stylesheets/apiv1/_application.css.scss +70 -0
- data/generica/app/assets/stylesheets/apiv1/admin/contacts/_index.css.scss +3 -0
- data/generica/app/assets/stylesheets/apiv1/admin/products/_index.css.scss +64 -0
- data/generica/app/assets/stylesheets/apiv1/admin/products/_new.css.scss +11 -0
- data/generica/app/assets/stylesheets/apiv1/admin/translations/_index.css.scss +68 -0
- data/generica/app/assets/stylesheets/apiv1/components/_block-grid-pictures.css.scss +21 -0
- data/generica/app/assets/stylesheets/apiv1/components/_cookie-splash.css.scss +60 -0
- data/generica/app/assets/stylesheets/apiv1/components/_fancy-paginator.css.scss +22 -0
- data/generica/app/assets/stylesheets/apiv1/components/_files-field.css.scss +10 -0
- data/generica/app/assets/stylesheets/apiv1/components/_flash-message.css.scss +35 -0
- data/generica/app/assets/stylesheets/apiv1/components/_hero-splash.css.scss +39 -0
- data/generica/app/assets/stylesheets/apiv1/components/_introductory-lobby.css.scss +22 -0
- data/generica/app/assets/stylesheets/apiv1/components/_product-display.css.scss +27 -0
- data/generica/app/assets/stylesheets/apiv1/components/_product-listing.css.scss +34 -0
- data/generica/app/assets/stylesheets/apiv1/components/_products-catalog.css.scss +2 -0
- data/generica/app/assets/stylesheets/apiv1/components/_products-showcase.css.scss +2 -0
- data/generica/app/assets/stylesheets/apiv1/components/_promise-button.css.scss +8 -0
- data/generica/app/assets/stylesheets/apiv1/components/_search-and-filter.css.scss +9 -0
- data/generica/app/assets/stylesheets/apiv1/components/_select-locale.css.scss +48 -0
- data/generica/app/assets/stylesheets/apiv1/components/_site-footer.css.scss +23 -0
- data/generica/app/assets/stylesheets/apiv1/components/_site-nav.css.scss +1 -0
- data/generica/app/assets/stylesheets/apiv1/components/_table-booths.css.scss +25 -0
- data/generica/app/assets/stylesheets/apiv1/components/_tree-taxon-wrapper.css.scss +92 -0
- data/generica/app/assets/stylesheets/apiv1/components/_type-ahead.css.scss +59 -0
- data/generica/app/assets/stylesheets/apiv1/components/products-catalog/_expanding-media.css.scss +3 -0
- data/generica/app/assets/stylesheets/apiv1/components/products-showcase/_contained-media-one.css.scss +35 -0
- data/generica/app/assets/stylesheets/apiv1/components/site-nav/_left-nav.css.scss +105 -0
- data/generica/app/assets/stylesheets/apiv1/components/site-nav/_top-nav.css.scss +106 -0
- data/generica/app/assets/stylesheets/apiv1/modals/_login.css.scss +26 -0
- data/generica/app/assets/stylesheets/apiv1/products/product/_show.css.scss +18 -0
- data/generica/app/assets/stylesheets/apiv1/shared/_constants.css.scss +77 -0
- data/generica/app/assets/stylesheets/apiv1/shared/_variables.css.scss +23 -0
- data/generica/app/assets/stylesheets/application.css +15 -0
- data/generica/app/assets/stylesheets/foundation_and_overrides.scss +1322 -0
- data/generica/app/controllers/admin/base_controller.rb +9 -0
- data/generica/app/controllers/admin/employees/create_controller.rb +26 -0
- data/generica/app/controllers/admin/products/create_controller.rb +26 -0
- data/generica/app/controllers/admin/products/update_controller.rb +29 -0
- data/generica/app/controllers/admin/sessions/create_controller.rb +34 -0
- data/generica/app/controllers/apiv1/employees/destroy_controller.rb +9 -0
- data/generica/app/controllers/apiv1/employees/index_controller.rb +9 -0
- data/generica/app/controllers/apiv1/home_controller.rb +4 -0
- data/generica/app/controllers/apiv1/i18n_translations/index_controller.rb +11 -0
- data/generica/app/controllers/apiv1/pictures/destroy_controller.rb +13 -0
- data/generica/app/controllers/apiv1/pictures/show_controller.rb +9 -0
- data/generica/app/controllers/apiv1/product_metadatum/show_controller.rb +16 -0
- data/generica/app/controllers/apiv1/products/destroy_controller.rb +9 -0
- data/generica/app/controllers/apiv1/products/index_controller.rb +21 -0
- data/generica/app/controllers/apiv1/products/show_controller.rb +12 -0
- data/generica/app/controllers/apiv1/taxons/index_controller.rb +11 -0
- data/generica/app/controllers/apiv1/taxons/show_controller.rb +9 -0
- data/generica/app/controllers/apiv1/translations/create_controller.rb +31 -0
- data/generica/app/controllers/apiv1/translations/index_controller.rb +22 -0
- data/generica/app/controllers/apiv1/translations/show_controller.rb +9 -0
- data/generica/app/controllers/apiv1/translations/update_controller.rb +35 -0
- data/generica/app/controllers/application_controller.rb +5 -0
- data/generica/app/controllers/concerns/.keep +0 -0
- data/generica/app/helpers/application_helper.rb +2 -0
- data/generica/app/mailers/.keep +0 -0
- data/generica/app/models/.keep +0 -0
- data/generica/app/models/admin.rb +5 -0
- data/generica/app/models/admin/employee_factory.rb +31 -0
- data/generica/app/models/admin/pictures_factory.rb +17 -0
- data/generica/app/models/admin/product_factory.rb +51 -0
- data/generica/app/models/admin/product_modifier.rb +39 -0
- data/generica/app/models/admin/user.rb +25 -0
- data/generica/app/models/apiv1.rb +5 -0
- data/generica/app/models/apiv1/attachment.rb +45 -0
- data/generica/app/models/apiv1/employee.rb +29 -0
- data/generica/app/models/apiv1/listings.rb +5 -0
- data/generica/app/models/apiv1/listings/taxon_relationship.rb +19 -0
- data/generica/app/models/apiv1/permalinkifier.rb +22 -0
- data/generica/app/models/apiv1/picture.rb +37 -0
- data/generica/app/models/apiv1/product.rb +71 -0
- data/generica/app/models/apiv1/products_machine.rb +65 -0
- data/generica/app/models/apiv1/taxon.rb +88 -0
- data/generica/app/models/apiv1/translation.rb +57 -0
- data/generica/app/models/apiv1/translation_machine.rb +57 -0
- data/generica/app/models/concerns/.keep +0 -0
- data/generica/app/varissets/javascripts/templates/application.emblem.erb +28 -0
- data/generica/app/varissets/javascripts/templates/components/cookie-splash.emblem.erb +17 -0
- data/generica/app/varissets/javascripts/templates/components/hero-splash.emblem.erb +25 -0
- data/generica/app/varissets/javascripts/templates/components/introductory-lobby.emblem.erb +12 -0
- data/generica/app/varissets/javascripts/templates/components/product-display.emblem.erb +51 -0
- data/generica/app/varissets/javascripts/templates/components/product-listing.emblem.erb +29 -0
- data/generica/app/varissets/javascripts/templates/components/products-catalog.emblem.erb +18 -0
- data/generica/app/varissets/javascripts/templates/components/products-showcase.emblem.erb +23 -0
- data/generica/app/varissets/javascripts/templates/components/site-nav.emblem.erb +47 -0
- data/generica/app/varissets/javascripts/templates/components/table-booths.emblem.erb +71 -0
- data/generica/app/varissets/javascripts/templates/index.emblem.erb +11 -0
- data/generica/app/varissets/stylesheets/apiv1/_application.css.scss.erb +66 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_cookie-splash.css.scss.erb +61 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_hero-splash.css.scss.erb +42 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_introductory-lobby.css.scss.erb +26 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_product-display.css.scss.erb +30 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_product-listing.css.scss.erb +37 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_products-catalog.css.scss.erb +5 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_products-showcase.css.scss.erb +39 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_site-nav.css.scss.erb +213 -0
- data/generica/app/varissets/stylesheets/apiv1/components/_table-booths.css.scss.erb +28 -0
- data/generica/app/views/apiv1/home/index.html.haml +2 -0
- data/generica/app/views/apiv1/layouts/application.html.haml +21 -0
- data/generica/app/views/layouts/application.html.erb +14 -0
- data/generica/bin/bundle +3 -0
- data/generica/bin/rails +8 -0
- data/generica/bin/rake +8 -0
- data/generica/bin/spring +18 -0
- data/generica/bower.json +21 -0
- data/generica/config.ru +4 -0
- data/generica/config/application.rb +23 -0
- data/generica/config/boot.rb +4 -0
- data/generica/config/database.yml +54 -0
- data/generica/config/database.yml.erb +53 -0
- data/generica/config/desired_languages.yml +28 -0
- data/generica/config/environment.rb +5 -0
- data/generica/config/environments/development.rb +37 -0
- data/generica/config/environments/production.rb +82 -0
- data/generica/config/environments/test.rb +39 -0
- data/generica/config/initializers/assets.rb +8 -0
- data/generica/config/initializers/backtrace_silencers.rb +7 -0
- data/generica/config/initializers/cookies_serializer.rb +3 -0
- data/generica/config/initializers/filter_parameter_logging.rb +4 -0
- data/generica/config/initializers/inflections.rb +16 -0
- data/generica/config/initializers/mime_types.rb +4 -0
- data/generica/config/initializers/session_store.rb +3 -0
- data/generica/config/initializers/sorcery.rb +437 -0
- data/generica/config/initializers/wrap_parameters.rb +14 -0
- data/generica/config/locales/ar.yml +78 -0
- data/generica/config/locales/ca.yml +78 -0
- data/generica/config/locales/cs.yml +78 -0
- data/generica/config/locales/da.yml +78 -0
- data/generica/config/locales/de.yml +78 -0
- data/generica/config/locales/el.yml +78 -0
- data/generica/config/locales/en.yml +78 -0
- data/generica/config/locales/es.yml +78 -0
- data/generica/config/locales/fi.yml +78 -0
- data/generica/config/locales/fr.yml +78 -0
- data/generica/config/locales/hu.yml +78 -0
- data/generica/config/locales/id.yml +78 -0
- data/generica/config/locales/is.yml +78 -0
- data/generica/config/locales/it.yml +78 -0
- data/generica/config/locales/ja.yml +78 -0
- data/generica/config/locales/ko.yml +78 -0
- data/generica/config/locales/ms.yml +78 -0
- data/generica/config/locales/nl.yml +78 -0
- data/generica/config/locales/no.yml +78 -0
- data/generica/config/locales/pl.yml +78 -0
- data/generica/config/locales/pt.yml +78 -0
- data/generica/config/locales/ru.yml +78 -0
- data/generica/config/locales/sv.yml +78 -0
- data/generica/config/locales/th.yml +78 -0
- data/generica/config/locales/tr.yml +78 -0
- data/generica/config/locales/zh-CN.yml +78 -0
- data/generica/config/locales/zh-TW.yml +78 -0
- data/generica/config/nginx.conf +36 -0
- data/generica/config/routes.rb +35 -0
- data/generica/config/secrets.yml +22 -0
- data/generica/config/unicorn.conf.rb +101 -0
- data/generica/db/migrate/20140930052333_create_apiv1_taxons.rb +14 -0
- data/generica/db/migrate/20140930052559_create_apiv1_listings_plastics.rb +18 -0
- data/generica/db/migrate/20140930180107_create_apiv1_pictures.rb +8 -0
- data/generica/db/migrate/20140930180108_add_attachment_pic_to_apiv1_pictures.rb +11 -0
- data/generica/db/migrate/20141001063631_create_commerce_units_dimensions.rb +11 -0
- data/generica/db/migrate/20141001212635_create_apiv1_listings_taxon_relationships.rb +9 -0
- data/generica/db/migrate/20141006231820_create_apiv1_employees.rb +11 -0
- data/generica/db/migrate/20141010215459_create_apiv1_translations.rb +11 -0
- data/generica/db/migrate/20141018235809_add_attachment_document_to_attachments.rb +13 -0
- data/generica/db/migrate/20141021003733_sorcery_core.rb +13 -0
- data/generica/db/migrate/20141021003734_sorcery_remember_me.rb +8 -0
- data/generica/db/schema.rb +141 -0
- data/generica/db/seeds.rb +15 -0
- data/generica/db/seeds/dimensions.rb +42 -0
- data/generica/db/seeds/products.rb +30 -0
- data/generica/db/seeds/taxons.rb +81 -0
- data/generica/db/seeds/translation_seeds.rb +2132 -0
- data/generica/db/seeds/users.rb +2 -0
- data/generica/lib/assets/.keep +0 -0
- data/generica/lib/generica.rb +4 -0
- data/generica/lib/generica/locale.yml.erb +6 -0
- data/generica/lib/generica/seed.en.yml +77 -0
- data/generica/lib/generica/seed_generator.rb +119 -0
- data/generica/lib/generica/translation_seeds.rb.erb +4 -0
- data/generica/lib/generica/yaml_writer.rb +54 -0
- data/generica/lib/tasks/.keep +0 -0
- data/generica/lib/tasks/assets_unretardifier.rake +7 -0
- data/generica/lib/tasks/cloudrider.rake +7 -0
- data/generica/lib/tasks/elasticsearch.rake +10 -0
- data/generica/lib/tasks/production.rake +14 -0
- data/generica/lib/tasks/seeds.rake +13 -0
- data/generica/lib/tasks/translation.rake +7 -0
- data/generica/log/.keep +0 -0
- data/generica/public/404.html +67 -0
- data/generica/public/422.html +67 -0
- data/generica/public/500.html +66 -0
- data/generica/public/favicon.ico +0 -0
- data/generica/public/javascripts/translations.js +2 -0
- data/generica/public/robots.txt +5 -0
- data/generica/public/tests/dog.png +0 -0
- data/generica/public/tests/husky.png +0 -0
- data/generica/spec/controllers/admin/employees/create_controller_spec.rb +48 -0
- data/generica/spec/controllers/admin/products/create_controller_spec.rb +55 -0
- data/generica/spec/controllers/admin/products/update_controller_spec.rb +44 -0
- data/generica/spec/controllers/admin/sessions/create_controller_spec.rb +66 -0
- data/generica/spec/controllers/apiv1/pictures/destroy_controller_spec.rb +36 -0
- data/generica/spec/factories/admin/user_factory.rb +22 -0
- data/generica/spec/factories/apiv1/picture_factory.rb +25 -0
- data/generica/spec/factories/apiv1/product_factory.rb +48 -0
- data/generica/spec/factories/apiv1/taxon_factory.rb +40 -0
- data/generica/spec/factories/base_factory.rb +30 -0
- data/generica/spec/models/admin/pictures_factory_spec.rb +14 -0
- data/generica/spec/models/admin/product_factory_spec.rb +54 -0
- data/generica/spec/models/admin/product_modifier_spec.rb +123 -0
- data/generica/spec/models/apiv1/product_spec.rb +61 -0
- data/generica/spec/rails_helper.rb +51 -0
- data/generica/spec/spec_helper.rb +85 -0
- data/generica/vendor/assets/javascripts/.keep +0 -0
- data/generica/vendor/assets/stylesheets/.keep +0 -0
- data/lib/cloudrider.rb +4 -0
- data/lib/cloudrider/apiv1.rb +72 -0
- data/lib/cloudrider/apiv1/application_emblem.rb +12 -0
- data/lib/cloudrider/apiv1/application_sass.rb +31 -0
- data/lib/cloudrider/apiv1/base.rb +63 -0
- data/lib/cloudrider/apiv1/cookie_splash_component.rb +14 -0
- data/lib/cloudrider/apiv1/cookie_splash_sass.rb +20 -0
- data/lib/cloudrider/apiv1/hero_splash_component.rb +37 -0
- data/lib/cloudrider/apiv1/hero_splash_sass.rb +43 -0
- data/lib/cloudrider/apiv1/index_emblem.rb +11 -0
- data/lib/cloudrider/apiv1/introductory_lobby_component.rb +17 -0
- data/lib/cloudrider/apiv1/introductory_lobby_sass.rb +17 -0
- data/lib/cloudrider/apiv1/product_display_component.rb +11 -0
- data/lib/cloudrider/apiv1/product_display_sass.rb +11 -0
- data/lib/cloudrider/apiv1/product_listing_component.rb +11 -0
- data/lib/cloudrider/apiv1/product_listing_sass.rb +11 -0
- data/lib/cloudrider/apiv1/products_catalog_component.rb +11 -0
- data/lib/cloudrider/apiv1/products_catalog_sass.rb +11 -0
- data/lib/cloudrider/apiv1/products_showcase_component.rb +11 -0
- data/lib/cloudrider/apiv1/products_showcase_sass.rb +20 -0
- data/lib/cloudrider/apiv1/site_nav_component.rb +15 -0
- data/lib/cloudrider/apiv1/site_nav_sass.rb +11 -0
- data/lib/cloudrider/apiv1/table_booths_component.rb +11 -0
- data/lib/cloudrider/apiv1/table_booths_sass.rb +11 -0
- data/lib/cloudrider/application_commander.rb +119 -0
- data/lib/cloudrider/file_orders_maker.rb +24 -0
- data/lib/cloudrider/protofile.rb +9 -0
- data/lib/cloudrider/templates/application.emblem.erb +28 -0
- data/lib/cloudrider/version.rb +3 -0
- data/lib/generators/cloudrider/USAGE +1 -0
- data/lib/generators/cloudrider/backend/backend_generator.rb +49 -0
- data/lib/generators/cloudrider/client/client_generator.rb +110 -0
- data/lib/generators/cloudrider/varissets/varissets_generator.rb +35 -0
- data/spec/cloudrider/apiv1_base_spec.rb +46 -0
- data/spec/cloudrider/apiv1_spec.rb +20 -0
- data/spec/spec_helper.rb +1 -0
- 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
|