shell-spinner 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +22 -4
- data/.rspec +1 -0
- data/.rvmrc +53 -0
- data/Gemfile +90 -3
- data/Gemfile.lock +479 -0
- data/README.md +56 -0
- data/Rakefile +7 -1
- data/app/admin/carriers.rb +17 -0
- data/app/admin/dashboards.rb +31 -0
- data/app/admin/interviews.rb +77 -0
- data/app/admin/users.rb +40 -0
- data/app/assets/images/icons/ajax-loader.gif +0 -0
- data/app/assets/images/icons/clear-results.png +0 -0
- data/app/assets/images/icons/clipboard.png +0 -0
- data/app/assets/images/icons/magnify.png +0 -0
- data/app/assets/images/icons/social/facebook.png +0 -0
- data/app/assets/images/icons/social/google.png +0 -0
- data/app/assets/images/icons/social/linkedin.png +0 -0
- data/app/assets/images/icons/social/small/facebook.png +0 -0
- data/app/assets/images/icons/social/small/google.png +0 -0
- data/app/assets/images/icons/social/small/linkedin.png +0 -0
- data/app/assets/images/icons/social/small/twitter.png +0 -0
- data/app/assets/images/icons/social/small/windowslive.png +0 -0
- data/app/assets/images/icons/social/small/yahoo.png +0 -0
- data/app/assets/images/icons/social/twitter.png +0 -0
- data/app/assets/images/icons/social/windowslive.png +0 -0
- data/app/assets/images/icons/social/yahoo.png +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/javascripts/active_admin.js.coffee +18 -0
- data/app/assets/javascripts/admin/base.coffee +0 -0
- data/app/assets/javascripts/admin/interview_form.coffee +95 -0
- data/app/assets/javascripts/app/controllers/questions.js.coffee +12 -0
- data/app/assets/javascripts/app/index.js.coffee +25 -0
- data/app/assets/javascripts/app/lib/view.js.coffee +3 -0
- data/app/assets/javascripts/app/models/interview_template.js.coffee +6 -0
- data/app/assets/javascripts/app/models/question.js.coffee +6 -0
- data/app/assets/javascripts/app/views/questions/show.jst.hamljs +2 -0
- data/app/assets/javascripts/application.coffee +48 -0
- data/app/assets/javascripts/attachment_form.coffee +31 -0
- data/app/assets/javascripts/clipboard_control.coffee +30 -0
- data/app/assets/javascripts/invitation_form.coffee +72 -0
- data/app/assets/javascripts/recommendation_form.coffee +19 -0
- data/app/assets/javascripts/recommendations_list.coffee +11 -0
- data/app/assets/javascripts/search_contacts_form.coffee +36 -0
- data/app/assets/javascripts/templates/empty_recipients_list.tmpl +1 -0
- data/app/assets/javascripts/templates/recipient.tmpl +5 -0
- data/app/assets/stylesheets/active_admin.css.scss +28 -0
- data/app/assets/stylesheets/application.sass +24 -0
- data/app/assets/stylesheets/includes/_authorisation.sass +29 -0
- data/app/assets/stylesheets/includes/_bootstrap_tweaks.sass +2 -0
- data/app/assets/stylesheets/includes/_campaigns.sass +44 -0
- data/app/assets/stylesheets/includes/_controls.sass +41 -0
- data/app/assets/stylesheets/includes/_form.sass +23 -0
- data/app/assets/stylesheets/includes/_formatting.sass +8 -0
- data/app/assets/stylesheets/includes/_icons.sass +31 -0
- data/app/assets/stylesheets/includes/_interview.sass +16 -0
- data/app/assets/stylesheets/includes/_interview_form.sass +170 -0
- data/app/assets/stylesheets/includes/_interview_management.sass +3 -0
- data/app/assets/stylesheets/includes/_invitation_form.sass +190 -0
- data/app/assets/stylesheets/includes/_layout.sass +69 -0
- data/app/assets/stylesheets/includes/_mixins.sass +42 -0
- data/app/assets/stylesheets/includes/_navigation.sass +16 -0
- data/app/assets/stylesheets/includes/_recommendations.sass +34 -0
- data/app/concerns/authenticate_users.rb +72 -0
- data/app/concerns/conditional_redirect_after_signing_in.rb +24 -0
- data/app/concerns/eventable.rb +16 -0
- data/app/controllers/application_controller.rb +31 -0
- data/app/controllers/attachments_controller.rb +36 -0
- data/app/controllers/campaigns_controller.rb +23 -0
- data/app/controllers/contacts_controller.rb +37 -0
- data/app/controllers/interview_result_invitations_controller.rb +21 -0
- data/app/controllers/interview_results_controller.rb +39 -0
- data/app/controllers/interview_templates_controller.rb +3 -0
- data/app/controllers/pages_controller.rb +6 -0
- data/app/controllers/questions_controller.rb +5 -0
- data/app/controllers/recommendations_controller.rb +64 -0
- data/app/controllers/resources_controller.rb +1 -0
- data/app/controllers/users/omniauth_callbacks_controller.rb +52 -0
- data/app/helpers/admin/interview_helper.rb +14 -0
- data/app/helpers/answers_helper.rb +8 -0
- data/app/helpers/application_helper.rb +1 -0
- data/app/helpers/attachments_helper.rb +5 -0
- data/app/helpers/campaigns_helper.rb +5 -0
- data/app/helpers/layout_helper.rb +5 -0
- data/app/helpers/recommendation_helper.rb +14 -0
- data/app/mailers/invitation_mailer.rb +13 -0
- data/app/models/ability.rb +23 -0
- data/app/models/answer.rb +36 -0
- data/app/models/answer_choice.rb +28 -0
- data/app/models/attachment.rb +34 -0
- data/app/models/buying_attempt.rb +31 -0
- data/app/models/campaign.rb +37 -0
- data/app/models/carrier.rb +30 -0
- data/app/models/cell_phone_insurance_interview.rb +17 -0
- data/app/models/contact.rb +31 -0
- data/app/models/default_interview.rb +17 -0
- data/app/models/interesting_fact.rb +30 -0
- data/app/models/interview_result.rb +65 -0
- data/app/models/interview_template.rb +52 -0
- data/app/models/invitation.rb +45 -0
- data/app/models/invitation_identifier.rb +29 -0
- data/app/models/numeric_question.rb +19 -0
- data/app/models/one_correct_question.rb +27 -0
- data/app/models/possible_answer.rb +54 -0
- data/app/models/question.rb +96 -0
- data/app/models/recommendation.rb +27 -0
- data/app/models/scale_question.rb +42 -0
- data/app/models/user.rb +102 -0
- data/app/models/yes_no_question.rb +18 -0
- data/app/renderers/nav_links_renderer.rb +10 -0
- data/app/uploaders/attachement_uploader.rb +55 -0
- data/app/uploaders/file_uploader.rb +20 -0
- data/app/views/admin/interviews/_form.html.haml +36 -0
- data/app/views/admin/interviews/_possible_answer_fields.html.haml +6 -0
- data/app/views/admin/interviews/_question_fields.html.haml +28 -0
- data/app/views/admin/interviews/_wrapper_question_fields.html.haml +2 -0
- data/app/views/admin/interviews/numeric_question/_fields.html.haml +7 -0
- data/app/views/admin/interviews/one_correct_question/_answer_fields.html.haml +6 -0
- data/app/views/admin/interviews/one_correct_question/_fields.html.haml +18 -0
- data/app/views/admin/interviews/scale_question/_fields.html.haml +7 -0
- data/app/views/admin/interviews/scale_question/_start_end_values.html.haml +6 -0
- data/app/views/admin/interviews/yes_no_question/_fields.html.haml +3 -0
- data/app/views/attachments/_form.html.haml +5 -0
- data/app/views/attachments/_interesting_facts.html.haml +11 -0
- data/app/views/attachments/_resource.html.haml +13 -0
- data/app/views/attachments/buttons/_delete.html.haml +3 -0
- data/app/views/attachments/index.html.haml +28 -0
- data/app/views/attachments/new.html.haml +1 -0
- data/app/views/attachments/show.html.haml +1 -0
- data/app/views/campaigns/_form.html.haml +7 -0
- data/app/views/campaigns/_form_actions.html.haml +4 -0
- data/app/views/campaigns/edit.html.haml +7 -0
- data/app/views/campaigns/index.html.haml +14 -0
- data/app/views/campaigns/new.html.haml +7 -0
- data/app/views/campaigns/show.html.haml +15 -0
- data/app/views/contacts/_list.html.haml +17 -0
- data/app/views/contacts/_table.html.haml +8 -0
- data/app/views/contacts/search.html.haml +1 -0
- data/app/views/interesting_facts/_fact.html.haml +4 -0
- data/app/views/interview_result_invitations/new.html.haml +29 -0
- data/app/views/interview_results/_answer_choice.html.haml +11 -0
- data/app/views/interview_results/_form.html.haml +16 -0
- data/app/views/interview_results/_list.html.haml +3 -0
- data/app/views/interview_results/_numeric_question.html.haml +3 -0
- data/app/views/interview_results/_one_correct_question.html.haml +3 -0
- data/app/views/interview_results/_scale_question.html.haml +6 -0
- data/app/views/interview_results/_yes_no_question.html.haml +6 -0
- data/app/views/interview_results/index.html.haml +2 -0
- data/app/views/interview_results/new.html.haml +4 -0
- data/app/views/interview_results/numeric/_price.html.haml +2 -0
- data/app/views/interview_results/numeric/_simple_number.html.haml +2 -0
- data/app/views/interview_results/one_correct/_dropdown.html.haml +1 -0
- data/app/views/interview_results/one_correct/_radio.html.haml +2 -0
- data/app/views/interview_results/one_correct/_slider.html.haml +2 -0
- data/app/views/interview_results/show.html.haml +24 -0
- data/app/views/interview_templates/index.json.rabl +6 -0
- data/app/views/interview_templates/show.html.haml +1 -0
- data/app/views/layouts/_footer.haml +9 -0
- data/app/views/layouts/_header.haml +21 -0
- data/app/views/layouts/application.html.haml +29 -0
- data/app/views/pages/home.html.haml +10 -0
- data/app/views/questions/show.json.rabl +2 -0
- data/app/views/recommendations/new.html.haml +19 -0
- data/app/views/shared/_ask_facebook_friends.html.haml +11 -0
- data/app/views/shared/_ask_twitter_followers.html.haml +13 -0
- data/app/views/shared/_conditional_html_tags.html.haml +8 -0
- data/app/views/shared/_errors.html.haml +2 -0
- data/app/views/shared/_friends_recommendations.html.haml +12 -0
- data/app/views/shared/_import_contacts_links.html.haml +10 -0
- data/app/views/shared/_interview_widget.html.haml +1 -0
- data/app/views/shared/_login_social_buttons.html.haml +19 -0
- data/app/views/shared/_sign_in_modal.html.haml +22 -0
- data/app/views/shared/buttons/_create.html.haml +3 -0
- data/app/views/shared/buttons/_delete.html.haml +3 -0
- data/app/views/shared/buttons/_edit.html.haml +3 -0
- data/app/views/users/confirmations/new.html.haml +11 -0
- data/app/views/users/mailer/confirmation_instructions.html.haml +4 -0
- data/app/views/users/mailer/reset_password_instructions.html.haml +6 -0
- data/app/views/users/mailer/unlock_instructions.html.haml +5 -0
- data/app/views/users/passwords/edit.html.haml +16 -0
- data/app/views/users/passwords/new.html.haml +9 -0
- data/app/views/users/registrations/edit.html.haml +27 -0
- data/app/views/users/registrations/new.html.haml +17 -0
- data/app/views/users/sessions/new.html.haml +14 -0
- data/app/views/users/shared/_links.haml +14 -0
- data/app/views/users/unlocks/new.html.haml +11 -0
- data/config.ru +4 -0
- data/config/application.rb +86 -0
- data/config/boot.rb +6 -0
- data/config/bottom_navigation.rb +13 -0
- data/config/cucumber.yml +8 -0
- data/config/database.yml +20 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +38 -0
- data/config/environments/production.rb +71 -0
- data/config/environments/test.rb +39 -0
- data/config/exceptional.yml +7 -0
- data/config/initializers/active_admin.rb +129 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/contacts_monkey_patch.rb +8 -0
- data/config/initializers/core_extensions.rb +1 -0
- data/config/initializers/delayed_job_config.rb +6 -0
- data/config/initializers/devise.rb +236 -0
- data/config/initializers/formtastic.rb +1 -0
- data/config/initializers/generators.rb +2 -0
- data/config/initializers/inflections.rb +15 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/net_ssl_monkey_patch.rb +22 -0
- data/config/initializers/secret_token.rb +7 -0
- data/config/initializers/session_store.rb +8 -0
- data/config/initializers/settings.rb +20 -0
- data/config/initializers/setup_mailer.rb +1 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/locales/devise.en.yml +57 -0
- data/config/locales/en.yml +131 -0
- data/config/navigation.rb +25 -0
- data/config/omniauth.yml +54 -0
- data/config/routes.rb +41 -0
- data/config/sendgrid.yml +18 -0
- data/config/sendgrid.yml.example +18 -0
- data/config/top_navigation.rb +28 -0
- data/data/.gitkeep +0 -0
- data/db/migrate/20120615102902_create_users.rb +10 -0
- data/db/migrate/20120615103611_add_devise_to_users.rb +53 -0
- data/db/migrate/20120615104044_add_facebook_id_to_users.rb +5 -0
- data/db/migrate/20120618051144_add_twitter_id_to_users.rb +5 -0
- data/db/migrate/20120618051522_add_google_id_to_users.rb +5 -0
- data/db/migrate/20120618083140_add_linkedin_id_to_users.rb +5 -0
- data/db/migrate/20120618094240_add_yahoo_id_to_users.rb +5 -0
- data/db/migrate/20120618102303_add_windowslive_id_to_users.rb +5 -0
- data/db/migrate/20120618121959_create_survey_templates.rb +9 -0
- data/db/migrate/20120618122120_create_survey_results.rb +10 -0
- data/db/migrate/20120618122346_create_questions.rb +12 -0
- data/db/migrate/20120618122442_create_answers.rb +11 -0
- data/db/migrate/20120618122551_create_question_results.rb +10 -0
- data/db/migrate/20120618123137_create_question_choices.rb +10 -0
- data/db/migrate/20120619142239_create_admin_notes.rb +17 -0
- data/db/migrate/20120619142255_move_admin_notes_to_comments.rb +25 -0
- data/db/migrate/20120619142315_add_fields_to_survey_template.rb +6 -0
- data/db/migrate/20120621124117_add_role_to_users.rb +5 -0
- data/db/migrate/20120625115344_rename_surveys_to_interviews.rb +5 -0
- data/db/migrate/20120625120613_rename_survey_relation_field.rb +7 -0
- data/db/migrate/20120625121230_rename_survey_results_to_interview_results.rb +5 -0
- data/db/migrate/20120625134119_add_type_field_to_interview_templates.rb +5 -0
- data/db/migrate/20120627104823_add_display_as_field_to_question.rb +5 -0
- data/db/migrate/20120628115724_rename_question_choices_to_answer_choices.rb +5 -0
- data/db/migrate/20120628124041_rename_answers_to_possible_answers.rb +5 -0
- data/db/migrate/20120628125515_rename_question_results_to_answers.rb +5 -0
- data/db/migrate/20120628125728_rename_questions_body_to_text.rb +5 -0
- data/db/migrate/20120628125839_rename_possible_answers_body_to_text.rb +5 -0
- data/db/migrate/20120628131944_fix_answer_choice_fields.rb +6 -0
- data/db/migrate/20120704144442_add_text_to_answer_choices.rb +5 -0
- data/db/migrate/20120706065743_add_body_from3rd_point_view_to_possible_answers.rb +5 -0
- data/db/migrate/20120706125136_change_facebook_id_and_twitter_id_type.rb +11 -0
- data/db/migrate/20120710070940_create_invitations.rb +10 -0
- data/db/migrate/20120710105054_create_delayed_jobs.rb +22 -0
- data/db/migrate/20120711084512_create_recommendations.rb +14 -0
- data/db/migrate/20120712092224_create_invitation_identifiers.rb +8 -0
- data/db/migrate/20120712130638_remove_user_id_from_recommendations.rb +9 -0
- data/db/migrate/20120712130711_remove_interview_template_id_from_recommendations.rb +9 -0
- data/db/migrate/20120712130744_add_invitation_id_to_recommendations.rb +5 -0
- data/db/migrate/20120716113646_create_contacts.rb +12 -0
- data/db/migrate/20120718135613_add_secret_to_interview_results.rb +5 -0
- data/db/migrate/20120718162312_fix_recommendation_relation.rb +5 -0
- data/db/migrate/20120724095308_add_state_to_interview_results.rb +5 -0
- data/db/migrate/20120724142439_create_carriers.rb +11 -0
- data/db/migrate/20120725071947_create_campaigns.rb +11 -0
- data/db/migrate/20120725083605_add_last_visited_path_to_users.rb +5 -0
- data/db/migrate/20120725085526_create_interesting_facts.rb +13 -0
- data/db/migrate/20120725131809_add_attachment_to_campaigns.rb +5 -0
- data/db/migrate/20120726115141_create_attachments.rb +10 -0
- data/db/migrate/20120726115644_extract_attachment_from_campaign.rb +11 -0
- data/db/migrate/20120726135706_create_buying_attempts.rb +11 -0
- data/db/migrate/20120727104402_add_campaign_id_to_interview_result.rb +5 -0
- data/db/migrate/20120730064404_change_interesting_facts.rb +6 -0
- data/db/migrate/20120730114402_add_attachment_id_to_interesting_facts.rb +5 -0
- data/db/migrate/20120730115758_remove_campaign_id_from_interesting_facts.rb +9 -0
- data/db/schema.rb +201 -0
- data/db/seeds.rb +86 -0
- data/doc/Ability.html +221 -0
- data/doc/Admin/InterviewHelper.html +292 -0
- data/doc/Answer.html +241 -0
- data/doc/AnswerChoice.html +296 -0
- data/doc/AnswersHelper.html +194 -0
- data/doc/ApplicationController.html +318 -0
- data/doc/ApplicationHelper.html +119 -0
- data/doc/CellPhoneInsuranceInterview.html +192 -0
- data/doc/Contact.html +186 -0
- data/doc/ContactsController.html +283 -0
- data/doc/CoreExtensions.html +129 -0
- data/doc/CoreExtensions/Object.html +210 -0
- data/doc/DefaultInterview.html +192 -0
- data/doc/DevelopmentMailInterceptor.html +203 -0
- data/doc/EmailValidator.html +210 -0
- data/doc/InterviewResult.html +251 -0
- data/doc/InterviewResultInvitationsController.html +218 -0
- data/doc/InterviewResultsController.html +280 -0
- data/doc/InterviewTemplate.html +330 -0
- data/doc/InterviewTemplatesController.html +145 -0
- data/doc/Invitation.html +362 -0
- data/doc/InvitationIdentifier.html +287 -0
- data/doc/InvitationMailer.html +218 -0
- data/doc/LayoutHelper.html +188 -0
- data/doc/NavLinksRenderer.html +214 -0
- data/doc/NumericQuestion.html +196 -0
- data/doc/OneCorrectQuestion.html +269 -0
- data/doc/PagesController.html +206 -0
- data/doc/PossibleAnswer.html +627 -0
- data/doc/Question.html +620 -0
- data/doc/Recommendation.html +186 -0
- data/doc/RecommendationHelper.html +292 -0
- data/doc/RecommendationsController.html +230 -0
- data/doc/ResourcesController.html +141 -0
- data/doc/ScaleQuestion.html +525 -0
- data/doc/SocialProvidersConfig.html +240 -0
- data/doc/User.html +677 -0
- data/doc/Users/OmniauthCallbacksController.html +542 -0
- data/doc/Wisemuv/Contacts.html +188 -0
- data/doc/Wisemuv/Contacts/Google/ControllerConcerns.html +204 -0
- data/doc/Wisemuv/Contacts/Google/ModelConcerns.html +128 -0
- data/doc/Wisemuv/Contacts/WindowsLive/ControllerConcerns.html +204 -0
- data/doc/Wisemuv/Contacts/WindowsLive/Grabber.html +307 -0
- data/doc/Wisemuv/Contacts/WindowsLive/ModelConcerns.html +128 -0
- data/doc/Wisemuv/Contacts/Yahoo/ControllerConcerns.html +206 -0
- data/doc/Wisemuv/Contacts/Yahoo/Grabber.html +526 -0
- data/doc/Wisemuv/Contacts/Yahoo/ModelConcerns.html +128 -0
- data/doc/YesNoQuestion.html +209 -0
- data/doc/_index.html +509 -0
- data/doc/carriers-campaigns-interviews-relationships.png +0 -0
- data/doc/class_list.html +61 -0
- data/doc/css/common.css +1 -0
- data/doc/css/cucumber.css +222 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/feature_list.html +513 -0
- data/doc/file.README.html +152 -0
- data/doc/file_list.html +63 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +152 -0
- data/doc/js/app.js +214 -0
- data/doc/js/cucumber.js +305 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +740 -0
- data/doc/requirements.html +196 -0
- data/doc/requirements/features.html +180 -0
- data/doc/requirements/features/admin_manages_users.html +1260 -0
- data/doc/requirements/features/ask_friends_and_family.html +918 -0
- data/doc/requirements/features/create_interview.html +1734 -0
- data/doc/requirements/features/edit_interview.html +832 -0
- data/doc/requirements/features/pass_interview.html +757 -0
- data/doc/requirements/features/pulling_contacts.html +718 -0
- data/doc/requirements/features/questions_order_during_creating_interview.html +126 -0
- data/doc/requirements/features/sign_in.html +1035 -0
- data/doc/requirements/features/sign_up.html +1948 -0
- data/doc/requirements/step_transformers.html +10401 -0
- data/doc/requirements/tags.html +670 -0
- data/doc/requirements/tags/javascript.html +245 -0
- data/doc/requirements/tags/omniauth.html +165 -0
- data/doc/requirements/tags/users.html +227 -0
- data/doc/tag_list.html +82 -0
- data/doc/top-level-namespace.html +128 -0
- data/features/admin_manages_users.feature +57 -0
- data/features/ask_friends_and_family.feature +39 -0
- data/features/buying_tracking_code.feature +11 -0
- data/features/campaign_management.feature +42 -0
- data/features/create_interview.feature +74 -0
- data/features/edit_interview.feature +40 -0
- data/features/interesting_facts_parser.feature +11 -0
- data/features/interview_completion.feature +6 -0
- data/features/pass_interview.feature +31 -0
- data/features/pulling_contacts.feature +21 -0
- data/features/questions_order_during_creating_interview.feature +2 -0
- data/features/redirecting_after_signing_in.feature +19 -0
- data/features/sign_in.feature +51 -0
- data/features/sign_up.feature +43 -0
- data/features/step_definitions/admin_manages_users_steps.rb +91 -0
- data/features/step_definitions/ask_friends_and_family_steps.rb +41 -0
- data/features/step_definitions/buying_tracking_code_steps.rb +15 -0
- data/features/step_definitions/campaign_management_steps.rb +50 -0
- data/features/step_definitions/create_interview_steps.rb +130 -0
- data/features/step_definitions/edit_interview_steps.rb +35 -0
- data/features/step_definitions/interesting_facts_parser_steps.rb +34 -0
- data/features/step_definitions/interview_completion_steps.rb +8 -0
- data/features/step_definitions/interview_results_steps.rb +7 -0
- data/features/step_definitions/interview_steps.rb +11 -0
- data/features/step_definitions/pass_interview_steps.rb +52 -0
- data/features/step_definitions/pulling_contacts_steps.rb +24 -0
- data/features/step_definitions/redirecting_after_sign_in_steps.rb +19 -0
- data/features/step_definitions/sign_in_steps.rb +110 -0
- data/features/step_definitions/sign_up_steps.rb +56 -0
- data/features/support/env.rb +23 -0
- data/features/support/omniauth.rb +69 -0
- data/features/support/pickle.rb +26 -0
- data/features/support/uploading.rb +6 -0
- data/features/support/users.rb +18 -0
- data/features/upload-files/Life Insurance Facts-Final.xls +0 -0
- data/lib/assets/.gitkeep +0 -0
- data/lib/core_extensions/object.rb +9 -0
- data/lib/interceptors/development_mail_interceptor.rb +5 -0
- data/lib/social_providers_config.rb +10 -0
- data/lib/tasks/auto_annotate_models.rake +22 -0
- data/lib/tasks/cucumber.rake +65 -0
- data/lib/tasks/db/reseed.rake +12 -0
- data/lib/tasks/db/seed/interviews.rake +14 -0
- data/lib/tasks/db/truncate.rake +19 -0
- data/lib/tasks/yardoc.rake +19 -0
- data/lib/validators/email_validator.rb +7 -0
- data/lib/wisemuv/contacts.rb +5 -0
- data/lib/wisemuv/contacts/google/controller_concerns.rb +19 -0
- data/lib/wisemuv/contacts/google/model_concerns.rb +17 -0
- data/lib/wisemuv/contacts/windows_live/controller_concerns.rb +23 -0
- data/lib/wisemuv/contacts/windows_live/grabber.rb +22 -0
- data/lib/wisemuv/contacts/windows_live/model_concerns.rb +17 -0
- data/lib/wisemuv/contacts/yahoo/controller_concerns.rb +29 -0
- data/lib/wisemuv/contacts/yahoo/grabber.rb +55 -0
- data/lib/wisemuv/contacts/yahoo/model_concerns.rb +17 -0
- data/lib/wisemuv/interesting_facts_parser.rb +65 -0
- data/log/.gitkeep +0 -0
- data/public/403.html +26 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +25 -0
- data/public/ZeroClipboard10.swf +0 -0
- data/public/favicon.ico +0 -0
- data/public/robots.txt +5 -0
- data/script/cucumber +10 -0
- data/script/delayed_job +5 -0
- data/script/rails +6 -0
- data/spec/factories/answer.rb +6 -0
- data/spec/factories/answer_choice.rb +6 -0
- data/spec/factories/attachment.rb +11 -0
- data/spec/factories/buying_attempts.rb +8 -0
- data/spec/factories/campaign.rb +8 -0
- data/spec/factories/carrier.rb +6 -0
- data/spec/factories/contact.rb +8 -0
- data/spec/factories/interesting_facts.rb +10 -0
- data/spec/factories/interview_result.rb +27 -0
- data/spec/factories/interview_template.rb +46 -0
- data/spec/factories/invitation_identifier.rb +8 -0
- data/spec/factories/possible_answer.rb +23 -0
- data/spec/factories/question.rb +55 -0
- data/spec/factories/recommendation.rb +10 -0
- data/spec/factories/user.rb +21 -0
- data/spec/mailers/invitation_mailer_spec.rb +5 -0
- data/spec/models/answer_spec.rb +5 -0
- data/spec/models/attachment_spec.rb +5 -0
- data/spec/models/buying_attempt_spec.rb +5 -0
- data/spec/models/campaign_spec.rb +5 -0
- data/spec/models/carrier_spec.rb +5 -0
- data/spec/models/contact_spec.rb +5 -0
- data/spec/models/interesting_fact_spec.rb +5 -0
- data/spec/models/invitation_identifier_spec.rb +5 -0
- data/spec/models/question_choice_spec.rb +5 -0
- data/spec/models/question_result_spec.rb +5 -0
- data/spec/models/question_spec.rb +5 -0
- data/spec/models/recommendation_spec.rb +5 -0
- data/spec/models/survey_result_spec.rb +5 -0
- data/spec/models/survey_template_spec.rb +5 -0
- data/spec/spec_helper.rb +32 -0
- data/vendor/.rvmrc +53 -0
- data/vendor/Gemfile +60 -0
- data/vendor/Gemfile.lock +166 -0
- data/vendor/README.rdoc +261 -0
- data/vendor/Rakefile +7 -0
- data/vendor/assets/javascripts/ZeroClipboard.js +316 -0
- data/vendor/assets/javascripts/selectToUISlider.js +240 -0
- data/vendor/assets/javascripts/underscore.string.js +566 -0
- data/vendor/assets/stylesheets/.gitkeep +0 -0
- data/vendor/config.ru +4 -0
- data/vendor/plugins/.gitkeep +0 -0
- metadata +504 -55
- data/README.markdown +0 -44
- data/lib/shell-spinner.rb +0 -52
- data/lib/shell-spinner/version.rb +0 -3
- data/shell-spinner.gemspec +0 -18
@@ -0,0 +1,15 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Add new inflection rules using the following format
|
4
|
+
# (all these examples are active by default):
|
5
|
+
# ActiveSupport::Inflector.inflections do |inflect|
|
6
|
+
# inflect.plural /^(ox)$/i, '\1en'
|
7
|
+
# inflect.singular /^(ox)en/i, '\1'
|
8
|
+
# inflect.irregular 'person', 'people'
|
9
|
+
# inflect.uncountable %w( fish sheep )
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
# These inflection rules are supported but not enabled by default:
|
13
|
+
# ActiveSupport::Inflector.inflections do |inflect|
|
14
|
+
# inflect.acronym 'RESTful'
|
15
|
+
# end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Please fork if you can improve this. (e.g. Windows support)
|
2
|
+
#
|
3
|
+
# Ruby 1.9 doesn't contain any SSL root certificates, neither does it read the ones
|
4
|
+
# installed with your operating system. This results in an error like
|
5
|
+
#
|
6
|
+
# SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
|
7
|
+
#
|
8
|
+
# This solution is based on http://martinottenwaelter.fr/2010/12/ruby19-and-the-ssl-error/
|
9
|
+
# but can be used to monkey patch 3rd party tools, e.g. Github's 'gist' command.
|
10
|
+
#
|
11
|
+
# It should work on Debian/Ubuntu Linux and Mac OS X.
|
12
|
+
|
13
|
+
require 'net/https'
|
14
|
+
class Net::HTTP
|
15
|
+
alias orig_initialize initialize
|
16
|
+
|
17
|
+
def initialize(*args,&blk)
|
18
|
+
orig_initialize(*args,&blk)
|
19
|
+
self.ca_path = '/etc/ssl/certs' if File.exists?('/etc/ssl/certs') # Ubuntu
|
20
|
+
self.ca_file = '/opt/local/share/curl/curl-ca-bundle.crt' if File.exists?('/opt/local/share/curl/curl-ca-bundle.crt') # Mac OS X
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Your secret key for verifying the integrity of signed cookies.
|
4
|
+
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
# Make sure the secret is at least 30 characters and all random,
|
6
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
7
|
+
Wisemuv::Application.config.secret_token = '9e217ab53a8549dd1aafb9ccd7e143295b8f91f398a015aa44d4eada4d75c25c103e49cd167e56b932b6166fe79f678abae2fefd3c02a77628315a9ffae21b8a'
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
Wisemuv::Application.config.session_store :cookie_store, key: '_wisemuv_session'
|
4
|
+
|
5
|
+
# Use the database for sessions instead of the cookie-based default,
|
6
|
+
# which shouldn't be used to store highly confidential information
|
7
|
+
# (create the session table with "rails generate session_migration")
|
8
|
+
# Wisemuv::Application.config.session_store :active_record_store
|
@@ -0,0 +1,20 @@
|
|
1
|
+
ConfigMe do
|
2
|
+
invitation_email 'wisemuv@wisemuv.com'
|
3
|
+
|
4
|
+
interesting_facts_source do
|
5
|
+
sample proc { Rails.root.join('features/upload-files/Life Insurance Facts-Final.xls').to_s }
|
6
|
+
line_number 3
|
7
|
+
spreadsheet_number 2
|
8
|
+
|
9
|
+
cells_names %w(text condition source_name source_url)
|
10
|
+
|
11
|
+
cells do
|
12
|
+
text 'C'
|
13
|
+
condition 'A'
|
14
|
+
source_name 'D'
|
15
|
+
source_url 'E'
|
16
|
+
end
|
17
|
+
|
18
|
+
skip_if proc { |params| params[:condition].blank? || params[:text].blank? }
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Mail.register_interceptor(DevelopmentMailInterceptor) if %w(test development).include? Rails.env
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
#
|
3
|
+
# This file contains settings for ActionController::ParamsWrapper which
|
4
|
+
# is enabled by default.
|
5
|
+
|
6
|
+
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
|
+
ActiveSupport.on_load(:action_controller) do
|
8
|
+
wrap_parameters format: [:json]
|
9
|
+
end
|
10
|
+
|
11
|
+
# Disable root element in JSON by default.
|
12
|
+
ActiveSupport.on_load(:active_record) do
|
13
|
+
self.include_root_in_json = false
|
14
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
|
2
|
+
|
3
|
+
en:
|
4
|
+
errors:
|
5
|
+
messages:
|
6
|
+
expired: "has expired, please request a new one"
|
7
|
+
not_found: "not found"
|
8
|
+
already_confirmed: "was already confirmed, please try signing in"
|
9
|
+
not_locked: "was not locked"
|
10
|
+
not_saved:
|
11
|
+
one: "1 error prohibited this %{resource} from being saved:"
|
12
|
+
other: "%{count} errors prohibited this %{resource} from being saved:"
|
13
|
+
|
14
|
+
devise:
|
15
|
+
failure:
|
16
|
+
already_authenticated: 'You are already signed in.'
|
17
|
+
unauthenticated: 'You need to sign in or sign up before continuing.'
|
18
|
+
unconfirmed: 'You have to confirm your account before continuing.'
|
19
|
+
locked: 'Your account is locked.'
|
20
|
+
invalid: 'Invalid email or password.'
|
21
|
+
invalid_token: 'Invalid authentication token.'
|
22
|
+
timeout: 'Your session expired, please sign in again to continue.'
|
23
|
+
inactive: 'Your account was not activated yet.'
|
24
|
+
sessions:
|
25
|
+
signed_in: 'Signed in successfully.'
|
26
|
+
signed_out: 'Signed out successfully.'
|
27
|
+
passwords:
|
28
|
+
send_instructions: 'You will receive an email with instructions about how to reset your password in a few minutes.'
|
29
|
+
updated: 'Your password was changed successfully. You are now signed in.'
|
30
|
+
updated_not_active: 'Your password was changed successfully.'
|
31
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
|
32
|
+
confirmations:
|
33
|
+
send_instructions: 'You will receive an email with instructions about how to confirm your account in a few minutes.'
|
34
|
+
send_paranoid_instructions: 'If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes.'
|
35
|
+
confirmed: 'Your account was successfully confirmed. You are now signed in.'
|
36
|
+
registrations:
|
37
|
+
signed_up: 'Welcome! You have signed up successfully.'
|
38
|
+
signed_up_but_unconfirmed: 'A message with a confirmation link has been sent to your email address. Please open the link to activate your account.'
|
39
|
+
signed_up_but_inactive: 'You have signed up successfully. However, we could not sign you in because your account is not yet activated.'
|
40
|
+
signed_up_but_locked: 'You have signed up successfully. However, we could not sign you in because your account is locked.'
|
41
|
+
updated: 'You updated your account successfully.'
|
42
|
+
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address."
|
43
|
+
destroyed: 'Bye! Your account was successfully cancelled. We hope to see you again soon.'
|
44
|
+
unlocks:
|
45
|
+
send_instructions: 'You will receive an email with instructions about how to unlock your account in a few minutes.'
|
46
|
+
unlocked: 'Your account has been unlocked successfully. Please sign in to continue.'
|
47
|
+
send_paranoid_instructions: 'If your account exists, you will receive an email with instructions about how to unlock it in a few minutes.'
|
48
|
+
omniauth_callbacks:
|
49
|
+
success: 'Successfully authenticated from %{kind} account.'
|
50
|
+
failure: 'Could not authenticate you from %{kind} because "%{reason}".'
|
51
|
+
mailer:
|
52
|
+
confirmation_instructions:
|
53
|
+
subject: 'Confirmation instructions'
|
54
|
+
reset_password_instructions:
|
55
|
+
subject: 'Reset password instructions'
|
56
|
+
unlock_instructions:
|
57
|
+
subject: 'Unlock Instructions'
|
@@ -0,0 +1,131 @@
|
|
1
|
+
# Sample localization file for English. Add more files in this directory for other locales.
|
2
|
+
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
|
3
|
+
|
4
|
+
en:
|
5
|
+
title: Wisemuv
|
6
|
+
views:
|
7
|
+
invitation_form:
|
8
|
+
title: Ask friends and family
|
9
|
+
recipients: 'You are going to send invitations to the following users:'
|
10
|
+
recipients-pop-up: Select multiple emails from your contacts
|
11
|
+
empty_recipients_list: There are no users in the list yet
|
12
|
+
add_from_my_contacts: Add from my contacts
|
13
|
+
add_recipient: Add
|
14
|
+
twitter_button_text: I'm on Wisemuv and hesitating. Please help me to make a decision!
|
15
|
+
search_contacts_hint: Search throughout your contacts
|
16
|
+
interview_results:
|
17
|
+
show:
|
18
|
+
not_yours: This interview result isn't yours, so you can't ask for advice on it.
|
19
|
+
buy: Get quote now
|
20
|
+
|
21
|
+
campaigns:
|
22
|
+
new:
|
23
|
+
header: Create campaign
|
24
|
+
edit:
|
25
|
+
header: Edit campaign
|
26
|
+
index:
|
27
|
+
no_campaigns: There's no campaign in the system yet. But you still can
|
28
|
+
show:
|
29
|
+
back_link: Back to campaigns list
|
30
|
+
interesting_facts: Interesting Facts
|
31
|
+
facts_not_found: There are no interesting facts for this campaign
|
32
|
+
|
33
|
+
interesting_facts:
|
34
|
+
text: Edited Fact
|
35
|
+
condition: Display On Question
|
36
|
+
source_name: Source
|
37
|
+
source_url: Source Hyperlink
|
38
|
+
|
39
|
+
top_navigation:
|
40
|
+
about: About
|
41
|
+
administration: Administration
|
42
|
+
sign_out: Sign Out
|
43
|
+
sign_in: "Sign up / Sign in"
|
44
|
+
|
45
|
+
bottom_navigation:
|
46
|
+
terms: "Terms & Conditions"
|
47
|
+
privacy: Privacy
|
48
|
+
about: About
|
49
|
+
|
50
|
+
interview_template:
|
51
|
+
type: Algorithm
|
52
|
+
questions: Questions
|
53
|
+
questions_hint: (to change the questions order please drag question to position you want)
|
54
|
+
add_question: Add one more question
|
55
|
+
save: Save
|
56
|
+
cancel: Cancel
|
57
|
+
|
58
|
+
question_types:
|
59
|
+
scale:
|
60
|
+
hint: Options to answer question of this type will look like scale
|
61
|
+
|
62
|
+
enumerize:
|
63
|
+
interview_template:
|
64
|
+
type:
|
65
|
+
DefaultInterview: Default Interview
|
66
|
+
CellPhoneInsuranceInterview: Cell Phone Insurance
|
67
|
+
|
68
|
+
question:
|
69
|
+
type:
|
70
|
+
OneCorrectQuestion: Multiple Choice
|
71
|
+
YesNoQuestion: Yes / No
|
72
|
+
NumericQuestion: Numeric
|
73
|
+
ScaleQuestion: Scale
|
74
|
+
|
75
|
+
one_correct_question:
|
76
|
+
display_as:
|
77
|
+
radio: as radio group
|
78
|
+
dropdown: in dropdown
|
79
|
+
slider: slider
|
80
|
+
|
81
|
+
numeric_question:
|
82
|
+
display_as:
|
83
|
+
simple_number: simple number
|
84
|
+
price: price
|
85
|
+
|
86
|
+
activerecord:
|
87
|
+
attributes:
|
88
|
+
interview_template:
|
89
|
+
type: Algorithm
|
90
|
+
|
91
|
+
interview_result:
|
92
|
+
ask_friends_button: Ask friends and family
|
93
|
+
|
94
|
+
invitation_mailer:
|
95
|
+
subject: "%{user} asks for your advice on Wisemuv"
|
96
|
+
body: |
|
97
|
+
Hi, I'm on Wisemuv and hesitating. Please help me to make a decision
|
98
|
+
%{link}
|
99
|
+
|
100
|
+
--
|
101
|
+
This message was generated automatically, so you don't need to reply.
|
102
|
+
© Wisemuv Inc., 2012
|
103
|
+
|
104
|
+
formtastic:
|
105
|
+
labels:
|
106
|
+
invitation:
|
107
|
+
recipients: Friends and family emails
|
108
|
+
placeholders:
|
109
|
+
invitation:
|
110
|
+
recipients: Type an email
|
111
|
+
|
112
|
+
actions:
|
113
|
+
submit: Submit
|
114
|
+
cancel: Cancel
|
115
|
+
add_recipient: Add
|
116
|
+
|
117
|
+
flash:
|
118
|
+
advice:
|
119
|
+
already_given: Sorry, you already gave an advice, it can't be done twice, bro.
|
120
|
+
does_not_exist: Such an invitation does not exist
|
121
|
+
someone_else: You cannot ask for advice on someone else's interview result.
|
122
|
+
invitation:
|
123
|
+
sent: Messages to your friends have been sent successfully.
|
124
|
+
contacts:
|
125
|
+
imported_from:
|
126
|
+
google: You have successfully imported contacts from Google.
|
127
|
+
yahoo: You have successfully imported contacts from Yahoo.
|
128
|
+
windowslive: You have successfully imported contacts from Hotmail.
|
129
|
+
cancan:
|
130
|
+
must_be:
|
131
|
+
manager: You must be a manager to perform this action.
|
@@ -0,0 +1,25 @@
|
|
1
|
+
SimpleNavigation::Configuration.run do |navigation|
|
2
|
+
|
3
|
+
navigation.autogenerate_item_ids = false
|
4
|
+
navigation.selected_class = 'active'
|
5
|
+
|
6
|
+
navigation.items do |primary|
|
7
|
+
primary.dom_class = 'b-top-navigation nav'
|
8
|
+
primary.item :about, 'About', '#', class: 'b-menu-item'
|
9
|
+
|
10
|
+
if user_signed_in?
|
11
|
+
if current_user.admin?
|
12
|
+
primary.item :admin, 'Administration', admin_dashboard_path, class: 'b-menu-item'
|
13
|
+
end
|
14
|
+
if current_user.manager? || current_user.admin?
|
15
|
+
primary.item :campaign, 'Campaigns', campaigns_path, class: 'b-menu-item'
|
16
|
+
end
|
17
|
+
primary.item :sign_out, 'Sign out', sign_out_path, class: 'b-menu-item'
|
18
|
+
else
|
19
|
+
unless current_page?(sign_up_path)
|
20
|
+
primary.item :sign_in, 'Sign up / Sign in', '#sign_in', class: 'b-menu-item', 'data-toggle' => :modal
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
data/config/omniauth.yml
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
defaults: &defaults
|
2
|
+
facebook:
|
3
|
+
key: 255053524604075
|
4
|
+
secret: 7cc1cfe1d82879821a4878c73191e817
|
5
|
+
twitter:
|
6
|
+
key: BowsOTNLgCMVGHWYRQYHuA
|
7
|
+
secret: QrTJNFbdAAlJPl39KdfbG0d8iBel1VcTYhiQq7ISQ
|
8
|
+
google:
|
9
|
+
key: 132857839315.apps.googleusercontent.com
|
10
|
+
secret: AOQ6hKfqsYif_-4_rNFp1bsQ
|
11
|
+
linkedin:
|
12
|
+
key: dyc58z9wxwj3
|
13
|
+
secret: 5NuHK6UjMACoTEBi
|
14
|
+
yahoo:
|
15
|
+
key: dj0yJmk9bDhna1VyalFtdWRPJmQ9WVdrOWJuWk5jelY1TXpBbWNHbzlNVGN4TWpjeU56STJNZy0tJnM9Y29uc3VtZXJzZWNyZXQmeD04Yw--
|
16
|
+
secret: 414e411450542502b4f83c40fc1c6db3e558a53b
|
17
|
+
windowslive:
|
18
|
+
key: 000000004C0BE703
|
19
|
+
secret: u2vXhPL2W8hpvsSDrfLwLSfx2rn9RKpG
|
20
|
+
appid: 000000004C0BE703
|
21
|
+
security_algorithm: wsignin1.0
|
22
|
+
return_url: http://wisemuvdev.com:3000/contacts/windowslive
|
23
|
+
policy_url: http://wisemuvdev.com:3000
|
24
|
+
|
25
|
+
development:
|
26
|
+
<<: *defaults
|
27
|
+
|
28
|
+
test:
|
29
|
+
<<: *defaults
|
30
|
+
|
31
|
+
production:
|
32
|
+
facebook:
|
33
|
+
key: 317948401625013
|
34
|
+
secret: 40583d4f4504a5255543f0157db2fb69
|
35
|
+
twitter:
|
36
|
+
key: dgUoxnoQp4fVmRWQoFJ6g
|
37
|
+
secret: snzfitDdQ15kGBSXJ0GduFAOncYLL8W7hBGkAFREiI
|
38
|
+
google:
|
39
|
+
key: 819115875622.apps.googleusercontent.com
|
40
|
+
secret: Me9k8j40oF99aMTVIZ7GCLK1
|
41
|
+
linkedin:
|
42
|
+
key: sbo0xni44276
|
43
|
+
secret: mfHUN42gRaCmdunH
|
44
|
+
yahoo:
|
45
|
+
key: dj0yJmk9b0xBRVc5c3k1MjdPJmQ9WVdrOU5sZDRRMU5OTldNbWNHbzlPVEEzTURZNE5qWXkmcz1jb25zdW1lcnNlY3JldCZ4PTI3
|
46
|
+
secret: 31c6bb647cc5bcab2a0df0879993190900833208
|
47
|
+
windowslive:
|
48
|
+
key: 00000000400CCD00
|
49
|
+
secret: CZtQGdTO8fkJQraPollLxkeIgbJzwGbb
|
50
|
+
appid: 00000000400CCD00
|
51
|
+
secret: CZtQGdTO8fkJQraPollLxkeIgbJzwGbb
|
52
|
+
security_algorithm: wsignin1.0
|
53
|
+
return_url: http://wisemuv.herokuapp.com/contacts/windowslive
|
54
|
+
policy_url: http://wisemuv.herokuapp.com
|
data/config/routes.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
Wisemuv::Application.routes.draw do
|
2
|
+
root to: 'pages#home', id: 'home'
|
3
|
+
|
4
|
+
devise_for :users, :controllers => { :omniauth_callbacks => 'users/omniauth_callbacks' }
|
5
|
+
|
6
|
+
devise_scope :user do
|
7
|
+
get '/users/auth/:provider' => 'users/omniauth_callbacks#passthru'
|
8
|
+
|
9
|
+
get 'sign_in' => 'devise/sessions#new'
|
10
|
+
delete 'sign_out' => 'devise/sessions#destroy'
|
11
|
+
get 'sign_up' => 'devise/registrations#new'
|
12
|
+
|
13
|
+
post 'register' => 'devise/registrations#create'
|
14
|
+
end
|
15
|
+
|
16
|
+
resources :users
|
17
|
+
|
18
|
+
scope 'interviews/:interview_template_id' do
|
19
|
+
resources :interview_results, :path => 'results', :only => %w(new create show) do
|
20
|
+
post :buy, :on => :member
|
21
|
+
end
|
22
|
+
|
23
|
+
resources :questions, :only => %w(show)
|
24
|
+
end
|
25
|
+
|
26
|
+
# @todo fix routes for recommendations!!
|
27
|
+
resources :recommendations, :only => %w(new create)
|
28
|
+
match '/advice/:secret' => 'recommendations#new', :as => :new_recommendation
|
29
|
+
|
30
|
+
scope 'results/:interview_result_id' do
|
31
|
+
resources :invitations, :only => %w(new create), :controller => :interview_result_invitations
|
32
|
+
end
|
33
|
+
|
34
|
+
match 'contacts/import/:provider' => 'contacts#passthru', :as => :import_contacts
|
35
|
+
match 'contacts/:action/', :controller => 'contacts'
|
36
|
+
|
37
|
+
resources :campaigns
|
38
|
+
resources :attachments
|
39
|
+
|
40
|
+
ActiveAdmin.routes(self)
|
41
|
+
end
|
data/config/sendgrid.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
defaults: &defaults
|
2
|
+
user_name: Yuri
|
3
|
+
password: WisemuvSphere2012
|
4
|
+
domain: wisemuvdev.com:3000
|
5
|
+
address: smtp.sendgrid.net
|
6
|
+
port: 587
|
7
|
+
authentication: plain
|
8
|
+
enable_starttls_auto: true
|
9
|
+
|
10
|
+
development:
|
11
|
+
<<: *defaults
|
12
|
+
|
13
|
+
test:
|
14
|
+
<<: *defaults
|
15
|
+
|
16
|
+
production:
|
17
|
+
<<: *defaults
|
18
|
+
domain: wisemuv.herokuapp.com
|
@@ -0,0 +1,18 @@
|
|
1
|
+
defaults: &defaults
|
2
|
+
user_name: <user_name>
|
3
|
+
password: <password>
|
4
|
+
domain:
|
5
|
+
address: smtp.sendgrid.net
|
6
|
+
port: 587
|
7
|
+
authentication: plain
|
8
|
+
enable_starttls_auto: true
|
9
|
+
|
10
|
+
development:
|
11
|
+
<<: *defaults
|
12
|
+
|
13
|
+
test:
|
14
|
+
<<: *defaults
|
15
|
+
|
16
|
+
production:
|
17
|
+
<<: *defaults
|
18
|
+
domain:
|