shell-spinner 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. data/.gitignore +4 -22
  2. data/Gemfile +3 -90
  3. data/README.markdown +44 -0
  4. data/Rakefile +1 -7
  5. data/lib/shell-spinner.rb +59 -0
  6. data/lib/shell-spinner/version.rb +3 -0
  7. data/shell-spinner.gemspec +18 -0
  8. metadata +5 -470
  9. data/.rspec +0 -1
  10. data/.rvmrc +0 -53
  11. data/Gemfile.lock +0 -479
  12. data/README.md +0 -56
  13. data/app/admin/carriers.rb +0 -17
  14. data/app/admin/dashboards.rb +0 -31
  15. data/app/admin/interviews.rb +0 -77
  16. data/app/admin/users.rb +0 -40
  17. data/app/assets/images/icons/ajax-loader.gif +0 -0
  18. data/app/assets/images/icons/clear-results.png +0 -0
  19. data/app/assets/images/icons/clipboard.png +0 -0
  20. data/app/assets/images/icons/magnify.png +0 -0
  21. data/app/assets/images/icons/social/facebook.png +0 -0
  22. data/app/assets/images/icons/social/google.png +0 -0
  23. data/app/assets/images/icons/social/linkedin.png +0 -0
  24. data/app/assets/images/icons/social/small/facebook.png +0 -0
  25. data/app/assets/images/icons/social/small/google.png +0 -0
  26. data/app/assets/images/icons/social/small/linkedin.png +0 -0
  27. data/app/assets/images/icons/social/small/twitter.png +0 -0
  28. data/app/assets/images/icons/social/small/windowslive.png +0 -0
  29. data/app/assets/images/icons/social/small/yahoo.png +0 -0
  30. data/app/assets/images/icons/social/twitter.png +0 -0
  31. data/app/assets/images/icons/social/windowslive.png +0 -0
  32. data/app/assets/images/icons/social/yahoo.png +0 -0
  33. data/app/assets/images/logo.png +0 -0
  34. data/app/assets/javascripts/active_admin.js.coffee +0 -18
  35. data/app/assets/javascripts/admin/base.coffee +0 -0
  36. data/app/assets/javascripts/admin/interview_form.coffee +0 -95
  37. data/app/assets/javascripts/app/controllers/questions.js.coffee +0 -12
  38. data/app/assets/javascripts/app/index.js.coffee +0 -25
  39. data/app/assets/javascripts/app/lib/view.js.coffee +0 -3
  40. data/app/assets/javascripts/app/models/interview_template.js.coffee +0 -6
  41. data/app/assets/javascripts/app/models/question.js.coffee +0 -6
  42. data/app/assets/javascripts/app/views/questions/show.jst.hamljs +0 -2
  43. data/app/assets/javascripts/application.coffee +0 -48
  44. data/app/assets/javascripts/attachment_form.coffee +0 -31
  45. data/app/assets/javascripts/clipboard_control.coffee +0 -30
  46. data/app/assets/javascripts/invitation_form.coffee +0 -72
  47. data/app/assets/javascripts/recommendation_form.coffee +0 -19
  48. data/app/assets/javascripts/recommendations_list.coffee +0 -11
  49. data/app/assets/javascripts/search_contacts_form.coffee +0 -36
  50. data/app/assets/javascripts/templates/empty_recipients_list.tmpl +0 -1
  51. data/app/assets/javascripts/templates/recipient.tmpl +0 -5
  52. data/app/assets/stylesheets/active_admin.css.scss +0 -28
  53. data/app/assets/stylesheets/application.sass +0 -24
  54. data/app/assets/stylesheets/includes/_authorisation.sass +0 -29
  55. data/app/assets/stylesheets/includes/_bootstrap_tweaks.sass +0 -2
  56. data/app/assets/stylesheets/includes/_campaigns.sass +0 -44
  57. data/app/assets/stylesheets/includes/_controls.sass +0 -41
  58. data/app/assets/stylesheets/includes/_form.sass +0 -23
  59. data/app/assets/stylesheets/includes/_formatting.sass +0 -8
  60. data/app/assets/stylesheets/includes/_icons.sass +0 -31
  61. data/app/assets/stylesheets/includes/_interview.sass +0 -16
  62. data/app/assets/stylesheets/includes/_interview_form.sass +0 -170
  63. data/app/assets/stylesheets/includes/_interview_management.sass +0 -3
  64. data/app/assets/stylesheets/includes/_invitation_form.sass +0 -190
  65. data/app/assets/stylesheets/includes/_layout.sass +0 -69
  66. data/app/assets/stylesheets/includes/_mixins.sass +0 -42
  67. data/app/assets/stylesheets/includes/_navigation.sass +0 -16
  68. data/app/assets/stylesheets/includes/_recommendations.sass +0 -34
  69. data/app/concerns/authenticate_users.rb +0 -72
  70. data/app/concerns/conditional_redirect_after_signing_in.rb +0 -24
  71. data/app/concerns/eventable.rb +0 -16
  72. data/app/controllers/application_controller.rb +0 -31
  73. data/app/controllers/attachments_controller.rb +0 -36
  74. data/app/controllers/campaigns_controller.rb +0 -23
  75. data/app/controllers/contacts_controller.rb +0 -37
  76. data/app/controllers/interview_result_invitations_controller.rb +0 -21
  77. data/app/controllers/interview_results_controller.rb +0 -39
  78. data/app/controllers/interview_templates_controller.rb +0 -3
  79. data/app/controllers/pages_controller.rb +0 -6
  80. data/app/controllers/questions_controller.rb +0 -5
  81. data/app/controllers/recommendations_controller.rb +0 -64
  82. data/app/controllers/resources_controller.rb +0 -1
  83. data/app/controllers/users/omniauth_callbacks_controller.rb +0 -52
  84. data/app/helpers/admin/interview_helper.rb +0 -14
  85. data/app/helpers/answers_helper.rb +0 -8
  86. data/app/helpers/application_helper.rb +0 -1
  87. data/app/helpers/attachments_helper.rb +0 -5
  88. data/app/helpers/campaigns_helper.rb +0 -5
  89. data/app/helpers/layout_helper.rb +0 -5
  90. data/app/helpers/recommendation_helper.rb +0 -14
  91. data/app/mailers/invitation_mailer.rb +0 -13
  92. data/app/models/ability.rb +0 -23
  93. data/app/models/answer.rb +0 -36
  94. data/app/models/answer_choice.rb +0 -28
  95. data/app/models/attachment.rb +0 -34
  96. data/app/models/buying_attempt.rb +0 -31
  97. data/app/models/campaign.rb +0 -37
  98. data/app/models/carrier.rb +0 -30
  99. data/app/models/cell_phone_insurance_interview.rb +0 -17
  100. data/app/models/contact.rb +0 -31
  101. data/app/models/default_interview.rb +0 -17
  102. data/app/models/interesting_fact.rb +0 -30
  103. data/app/models/interview_result.rb +0 -65
  104. data/app/models/interview_template.rb +0 -52
  105. data/app/models/invitation.rb +0 -45
  106. data/app/models/invitation_identifier.rb +0 -29
  107. data/app/models/numeric_question.rb +0 -19
  108. data/app/models/one_correct_question.rb +0 -27
  109. data/app/models/possible_answer.rb +0 -54
  110. data/app/models/question.rb +0 -96
  111. data/app/models/recommendation.rb +0 -27
  112. data/app/models/scale_question.rb +0 -42
  113. data/app/models/user.rb +0 -102
  114. data/app/models/yes_no_question.rb +0 -18
  115. data/app/renderers/nav_links_renderer.rb +0 -10
  116. data/app/uploaders/attachement_uploader.rb +0 -55
  117. data/app/uploaders/file_uploader.rb +0 -20
  118. data/app/views/admin/interviews/_form.html.haml +0 -36
  119. data/app/views/admin/interviews/_possible_answer_fields.html.haml +0 -6
  120. data/app/views/admin/interviews/_question_fields.html.haml +0 -28
  121. data/app/views/admin/interviews/_wrapper_question_fields.html.haml +0 -2
  122. data/app/views/admin/interviews/numeric_question/_fields.html.haml +0 -7
  123. data/app/views/admin/interviews/one_correct_question/_answer_fields.html.haml +0 -6
  124. data/app/views/admin/interviews/one_correct_question/_fields.html.haml +0 -18
  125. data/app/views/admin/interviews/scale_question/_fields.html.haml +0 -7
  126. data/app/views/admin/interviews/scale_question/_start_end_values.html.haml +0 -6
  127. data/app/views/admin/interviews/yes_no_question/_fields.html.haml +0 -3
  128. data/app/views/attachments/_form.html.haml +0 -5
  129. data/app/views/attachments/_interesting_facts.html.haml +0 -11
  130. data/app/views/attachments/_resource.html.haml +0 -13
  131. data/app/views/attachments/buttons/_delete.html.haml +0 -3
  132. data/app/views/attachments/index.html.haml +0 -28
  133. data/app/views/attachments/new.html.haml +0 -1
  134. data/app/views/attachments/show.html.haml +0 -1
  135. data/app/views/campaigns/_form.html.haml +0 -7
  136. data/app/views/campaigns/_form_actions.html.haml +0 -4
  137. data/app/views/campaigns/edit.html.haml +0 -7
  138. data/app/views/campaigns/index.html.haml +0 -14
  139. data/app/views/campaigns/new.html.haml +0 -7
  140. data/app/views/campaigns/show.html.haml +0 -15
  141. data/app/views/contacts/_list.html.haml +0 -17
  142. data/app/views/contacts/_table.html.haml +0 -8
  143. data/app/views/contacts/search.html.haml +0 -1
  144. data/app/views/interesting_facts/_fact.html.haml +0 -4
  145. data/app/views/interview_result_invitations/new.html.haml +0 -29
  146. data/app/views/interview_results/_answer_choice.html.haml +0 -11
  147. data/app/views/interview_results/_form.html.haml +0 -16
  148. data/app/views/interview_results/_list.html.haml +0 -3
  149. data/app/views/interview_results/_numeric_question.html.haml +0 -3
  150. data/app/views/interview_results/_one_correct_question.html.haml +0 -3
  151. data/app/views/interview_results/_scale_question.html.haml +0 -6
  152. data/app/views/interview_results/_yes_no_question.html.haml +0 -6
  153. data/app/views/interview_results/index.html.haml +0 -2
  154. data/app/views/interview_results/new.html.haml +0 -4
  155. data/app/views/interview_results/numeric/_price.html.haml +0 -2
  156. data/app/views/interview_results/numeric/_simple_number.html.haml +0 -2
  157. data/app/views/interview_results/one_correct/_dropdown.html.haml +0 -1
  158. data/app/views/interview_results/one_correct/_radio.html.haml +0 -2
  159. data/app/views/interview_results/one_correct/_slider.html.haml +0 -2
  160. data/app/views/interview_results/show.html.haml +0 -24
  161. data/app/views/interview_templates/index.json.rabl +0 -6
  162. data/app/views/interview_templates/show.html.haml +0 -1
  163. data/app/views/layouts/_footer.haml +0 -9
  164. data/app/views/layouts/_header.haml +0 -21
  165. data/app/views/layouts/application.html.haml +0 -29
  166. data/app/views/pages/home.html.haml +0 -10
  167. data/app/views/questions/show.json.rabl +0 -2
  168. data/app/views/recommendations/new.html.haml +0 -19
  169. data/app/views/shared/_ask_facebook_friends.html.haml +0 -11
  170. data/app/views/shared/_ask_twitter_followers.html.haml +0 -13
  171. data/app/views/shared/_conditional_html_tags.html.haml +0 -8
  172. data/app/views/shared/_errors.html.haml +0 -2
  173. data/app/views/shared/_friends_recommendations.html.haml +0 -12
  174. data/app/views/shared/_import_contacts_links.html.haml +0 -10
  175. data/app/views/shared/_interview_widget.html.haml +0 -1
  176. data/app/views/shared/_login_social_buttons.html.haml +0 -19
  177. data/app/views/shared/_sign_in_modal.html.haml +0 -22
  178. data/app/views/shared/buttons/_create.html.haml +0 -3
  179. data/app/views/shared/buttons/_delete.html.haml +0 -3
  180. data/app/views/shared/buttons/_edit.html.haml +0 -3
  181. data/app/views/users/confirmations/new.html.haml +0 -11
  182. data/app/views/users/mailer/confirmation_instructions.html.haml +0 -4
  183. data/app/views/users/mailer/reset_password_instructions.html.haml +0 -6
  184. data/app/views/users/mailer/unlock_instructions.html.haml +0 -5
  185. data/app/views/users/passwords/edit.html.haml +0 -16
  186. data/app/views/users/passwords/new.html.haml +0 -9
  187. data/app/views/users/registrations/edit.html.haml +0 -27
  188. data/app/views/users/registrations/new.html.haml +0 -17
  189. data/app/views/users/sessions/new.html.haml +0 -14
  190. data/app/views/users/shared/_links.haml +0 -14
  191. data/app/views/users/unlocks/new.html.haml +0 -11
  192. data/config.ru +0 -4
  193. data/config/application.rb +0 -86
  194. data/config/boot.rb +0 -6
  195. data/config/bottom_navigation.rb +0 -13
  196. data/config/cucumber.yml +0 -8
  197. data/config/database.yml +0 -20
  198. data/config/environment.rb +0 -5
  199. data/config/environments/development.rb +0 -38
  200. data/config/environments/production.rb +0 -71
  201. data/config/environments/test.rb +0 -39
  202. data/config/exceptional.yml +0 -7
  203. data/config/initializers/active_admin.rb +0 -129
  204. data/config/initializers/backtrace_silencers.rb +0 -7
  205. data/config/initializers/contacts_monkey_patch.rb +0 -8
  206. data/config/initializers/core_extensions.rb +0 -1
  207. data/config/initializers/delayed_job_config.rb +0 -6
  208. data/config/initializers/devise.rb +0 -236
  209. data/config/initializers/formtastic.rb +0 -1
  210. data/config/initializers/generators.rb +0 -2
  211. data/config/initializers/inflections.rb +0 -15
  212. data/config/initializers/mime_types.rb +0 -5
  213. data/config/initializers/net_ssl_monkey_patch.rb +0 -22
  214. data/config/initializers/secret_token.rb +0 -7
  215. data/config/initializers/session_store.rb +0 -8
  216. data/config/initializers/settings.rb +0 -20
  217. data/config/initializers/setup_mailer.rb +0 -1
  218. data/config/initializers/wrap_parameters.rb +0 -14
  219. data/config/locales/devise.en.yml +0 -57
  220. data/config/locales/en.yml +0 -131
  221. data/config/navigation.rb +0 -25
  222. data/config/omniauth.yml +0 -54
  223. data/config/routes.rb +0 -41
  224. data/config/sendgrid.yml +0 -18
  225. data/config/sendgrid.yml.example +0 -18
  226. data/config/top_navigation.rb +0 -28
  227. data/data/.gitkeep +0 -0
  228. data/db/migrate/20120615102902_create_users.rb +0 -10
  229. data/db/migrate/20120615103611_add_devise_to_users.rb +0 -53
  230. data/db/migrate/20120615104044_add_facebook_id_to_users.rb +0 -5
  231. data/db/migrate/20120618051144_add_twitter_id_to_users.rb +0 -5
  232. data/db/migrate/20120618051522_add_google_id_to_users.rb +0 -5
  233. data/db/migrate/20120618083140_add_linkedin_id_to_users.rb +0 -5
  234. data/db/migrate/20120618094240_add_yahoo_id_to_users.rb +0 -5
  235. data/db/migrate/20120618102303_add_windowslive_id_to_users.rb +0 -5
  236. data/db/migrate/20120618121959_create_survey_templates.rb +0 -9
  237. data/db/migrate/20120618122120_create_survey_results.rb +0 -10
  238. data/db/migrate/20120618122346_create_questions.rb +0 -12
  239. data/db/migrate/20120618122442_create_answers.rb +0 -11
  240. data/db/migrate/20120618122551_create_question_results.rb +0 -10
  241. data/db/migrate/20120618123137_create_question_choices.rb +0 -10
  242. data/db/migrate/20120619142239_create_admin_notes.rb +0 -17
  243. data/db/migrate/20120619142255_move_admin_notes_to_comments.rb +0 -25
  244. data/db/migrate/20120619142315_add_fields_to_survey_template.rb +0 -6
  245. data/db/migrate/20120621124117_add_role_to_users.rb +0 -5
  246. data/db/migrate/20120625115344_rename_surveys_to_interviews.rb +0 -5
  247. data/db/migrate/20120625120613_rename_survey_relation_field.rb +0 -7
  248. data/db/migrate/20120625121230_rename_survey_results_to_interview_results.rb +0 -5
  249. data/db/migrate/20120625134119_add_type_field_to_interview_templates.rb +0 -5
  250. data/db/migrate/20120627104823_add_display_as_field_to_question.rb +0 -5
  251. data/db/migrate/20120628115724_rename_question_choices_to_answer_choices.rb +0 -5
  252. data/db/migrate/20120628124041_rename_answers_to_possible_answers.rb +0 -5
  253. data/db/migrate/20120628125515_rename_question_results_to_answers.rb +0 -5
  254. data/db/migrate/20120628125728_rename_questions_body_to_text.rb +0 -5
  255. data/db/migrate/20120628125839_rename_possible_answers_body_to_text.rb +0 -5
  256. data/db/migrate/20120628131944_fix_answer_choice_fields.rb +0 -6
  257. data/db/migrate/20120704144442_add_text_to_answer_choices.rb +0 -5
  258. data/db/migrate/20120706065743_add_body_from3rd_point_view_to_possible_answers.rb +0 -5
  259. data/db/migrate/20120706125136_change_facebook_id_and_twitter_id_type.rb +0 -11
  260. data/db/migrate/20120710070940_create_invitations.rb +0 -10
  261. data/db/migrate/20120710105054_create_delayed_jobs.rb +0 -22
  262. data/db/migrate/20120711084512_create_recommendations.rb +0 -14
  263. data/db/migrate/20120712092224_create_invitation_identifiers.rb +0 -8
  264. data/db/migrate/20120712130638_remove_user_id_from_recommendations.rb +0 -9
  265. data/db/migrate/20120712130711_remove_interview_template_id_from_recommendations.rb +0 -9
  266. data/db/migrate/20120712130744_add_invitation_id_to_recommendations.rb +0 -5
  267. data/db/migrate/20120716113646_create_contacts.rb +0 -12
  268. data/db/migrate/20120718135613_add_secret_to_interview_results.rb +0 -5
  269. data/db/migrate/20120718162312_fix_recommendation_relation.rb +0 -5
  270. data/db/migrate/20120724095308_add_state_to_interview_results.rb +0 -5
  271. data/db/migrate/20120724142439_create_carriers.rb +0 -11
  272. data/db/migrate/20120725071947_create_campaigns.rb +0 -11
  273. data/db/migrate/20120725083605_add_last_visited_path_to_users.rb +0 -5
  274. data/db/migrate/20120725085526_create_interesting_facts.rb +0 -13
  275. data/db/migrate/20120725131809_add_attachment_to_campaigns.rb +0 -5
  276. data/db/migrate/20120726115141_create_attachments.rb +0 -10
  277. data/db/migrate/20120726115644_extract_attachment_from_campaign.rb +0 -11
  278. data/db/migrate/20120726135706_create_buying_attempts.rb +0 -11
  279. data/db/migrate/20120727104402_add_campaign_id_to_interview_result.rb +0 -5
  280. data/db/migrate/20120730064404_change_interesting_facts.rb +0 -6
  281. data/db/migrate/20120730114402_add_attachment_id_to_interesting_facts.rb +0 -5
  282. data/db/migrate/20120730115758_remove_campaign_id_from_interesting_facts.rb +0 -9
  283. data/db/schema.rb +0 -201
  284. data/db/seeds.rb +0 -86
  285. data/doc/Ability.html +0 -221
  286. data/doc/Admin/InterviewHelper.html +0 -292
  287. data/doc/Answer.html +0 -241
  288. data/doc/AnswerChoice.html +0 -296
  289. data/doc/AnswersHelper.html +0 -194
  290. data/doc/ApplicationController.html +0 -318
  291. data/doc/ApplicationHelper.html +0 -119
  292. data/doc/CellPhoneInsuranceInterview.html +0 -192
  293. data/doc/Contact.html +0 -186
  294. data/doc/ContactsController.html +0 -283
  295. data/doc/CoreExtensions.html +0 -129
  296. data/doc/CoreExtensions/Object.html +0 -210
  297. data/doc/DefaultInterview.html +0 -192
  298. data/doc/DevelopmentMailInterceptor.html +0 -203
  299. data/doc/EmailValidator.html +0 -210
  300. data/doc/InterviewResult.html +0 -251
  301. data/doc/InterviewResultInvitationsController.html +0 -218
  302. data/doc/InterviewResultsController.html +0 -280
  303. data/doc/InterviewTemplate.html +0 -330
  304. data/doc/InterviewTemplatesController.html +0 -145
  305. data/doc/Invitation.html +0 -362
  306. data/doc/InvitationIdentifier.html +0 -287
  307. data/doc/InvitationMailer.html +0 -218
  308. data/doc/LayoutHelper.html +0 -188
  309. data/doc/NavLinksRenderer.html +0 -214
  310. data/doc/NumericQuestion.html +0 -196
  311. data/doc/OneCorrectQuestion.html +0 -269
  312. data/doc/PagesController.html +0 -206
  313. data/doc/PossibleAnswer.html +0 -627
  314. data/doc/Question.html +0 -620
  315. data/doc/Recommendation.html +0 -186
  316. data/doc/RecommendationHelper.html +0 -292
  317. data/doc/RecommendationsController.html +0 -230
  318. data/doc/ResourcesController.html +0 -141
  319. data/doc/ScaleQuestion.html +0 -525
  320. data/doc/SocialProvidersConfig.html +0 -240
  321. data/doc/User.html +0 -677
  322. data/doc/Users/OmniauthCallbacksController.html +0 -542
  323. data/doc/Wisemuv/Contacts.html +0 -188
  324. data/doc/Wisemuv/Contacts/Google/ControllerConcerns.html +0 -204
  325. data/doc/Wisemuv/Contacts/Google/ModelConcerns.html +0 -128
  326. data/doc/Wisemuv/Contacts/WindowsLive/ControllerConcerns.html +0 -204
  327. data/doc/Wisemuv/Contacts/WindowsLive/Grabber.html +0 -307
  328. data/doc/Wisemuv/Contacts/WindowsLive/ModelConcerns.html +0 -128
  329. data/doc/Wisemuv/Contacts/Yahoo/ControllerConcerns.html +0 -206
  330. data/doc/Wisemuv/Contacts/Yahoo/Grabber.html +0 -526
  331. data/doc/Wisemuv/Contacts/Yahoo/ModelConcerns.html +0 -128
  332. data/doc/YesNoQuestion.html +0 -209
  333. data/doc/_index.html +0 -509
  334. data/doc/carriers-campaigns-interviews-relationships.png +0 -0
  335. data/doc/class_list.html +0 -61
  336. data/doc/css/common.css +0 -1
  337. data/doc/css/cucumber.css +0 -222
  338. data/doc/css/full_list.css +0 -57
  339. data/doc/css/style.css +0 -328
  340. data/doc/feature_list.html +0 -513
  341. data/doc/file.README.html +0 -152
  342. data/doc/file_list.html +0 -63
  343. data/doc/frames.html +0 -28
  344. data/doc/index.html +0 -152
  345. data/doc/js/app.js +0 -214
  346. data/doc/js/cucumber.js +0 -305
  347. data/doc/js/full_list.js +0 -173
  348. data/doc/js/jquery.js +0 -4
  349. data/doc/method_list.html +0 -740
  350. data/doc/requirements.html +0 -196
  351. data/doc/requirements/features.html +0 -180
  352. data/doc/requirements/features/admin_manages_users.html +0 -1260
  353. data/doc/requirements/features/ask_friends_and_family.html +0 -918
  354. data/doc/requirements/features/create_interview.html +0 -1734
  355. data/doc/requirements/features/edit_interview.html +0 -832
  356. data/doc/requirements/features/pass_interview.html +0 -757
  357. data/doc/requirements/features/pulling_contacts.html +0 -718
  358. data/doc/requirements/features/questions_order_during_creating_interview.html +0 -126
  359. data/doc/requirements/features/sign_in.html +0 -1035
  360. data/doc/requirements/features/sign_up.html +0 -1948
  361. data/doc/requirements/step_transformers.html +0 -10401
  362. data/doc/requirements/tags.html +0 -670
  363. data/doc/requirements/tags/javascript.html +0 -245
  364. data/doc/requirements/tags/omniauth.html +0 -165
  365. data/doc/requirements/tags/users.html +0 -227
  366. data/doc/tag_list.html +0 -82
  367. data/doc/top-level-namespace.html +0 -128
  368. data/features/admin_manages_users.feature +0 -57
  369. data/features/ask_friends_and_family.feature +0 -39
  370. data/features/buying_tracking_code.feature +0 -11
  371. data/features/campaign_management.feature +0 -42
  372. data/features/create_interview.feature +0 -74
  373. data/features/edit_interview.feature +0 -40
  374. data/features/interesting_facts_parser.feature +0 -11
  375. data/features/interview_completion.feature +0 -6
  376. data/features/pass_interview.feature +0 -31
  377. data/features/pulling_contacts.feature +0 -21
  378. data/features/questions_order_during_creating_interview.feature +0 -2
  379. data/features/redirecting_after_signing_in.feature +0 -19
  380. data/features/sign_in.feature +0 -51
  381. data/features/sign_up.feature +0 -43
  382. data/features/step_definitions/admin_manages_users_steps.rb +0 -91
  383. data/features/step_definitions/ask_friends_and_family_steps.rb +0 -41
  384. data/features/step_definitions/buying_tracking_code_steps.rb +0 -15
  385. data/features/step_definitions/campaign_management_steps.rb +0 -50
  386. data/features/step_definitions/create_interview_steps.rb +0 -130
  387. data/features/step_definitions/edit_interview_steps.rb +0 -35
  388. data/features/step_definitions/interesting_facts_parser_steps.rb +0 -34
  389. data/features/step_definitions/interview_completion_steps.rb +0 -8
  390. data/features/step_definitions/interview_results_steps.rb +0 -7
  391. data/features/step_definitions/interview_steps.rb +0 -11
  392. data/features/step_definitions/pass_interview_steps.rb +0 -52
  393. data/features/step_definitions/pulling_contacts_steps.rb +0 -24
  394. data/features/step_definitions/redirecting_after_sign_in_steps.rb +0 -19
  395. data/features/step_definitions/sign_in_steps.rb +0 -110
  396. data/features/step_definitions/sign_up_steps.rb +0 -56
  397. data/features/support/env.rb +0 -23
  398. data/features/support/omniauth.rb +0 -69
  399. data/features/support/pickle.rb +0 -26
  400. data/features/support/uploading.rb +0 -6
  401. data/features/support/users.rb +0 -18
  402. data/features/upload-files/Life Insurance Facts-Final.xls +0 -0
  403. data/lib/assets/.gitkeep +0 -0
  404. data/lib/core_extensions/object.rb +0 -9
  405. data/lib/interceptors/development_mail_interceptor.rb +0 -5
  406. data/lib/social_providers_config.rb +0 -10
  407. data/lib/tasks/auto_annotate_models.rake +0 -22
  408. data/lib/tasks/cucumber.rake +0 -65
  409. data/lib/tasks/db/reseed.rake +0 -12
  410. data/lib/tasks/db/seed/interviews.rake +0 -14
  411. data/lib/tasks/db/truncate.rake +0 -19
  412. data/lib/tasks/yardoc.rake +0 -19
  413. data/lib/validators/email_validator.rb +0 -7
  414. data/lib/wisemuv/contacts.rb +0 -5
  415. data/lib/wisemuv/contacts/google/controller_concerns.rb +0 -19
  416. data/lib/wisemuv/contacts/google/model_concerns.rb +0 -17
  417. data/lib/wisemuv/contacts/windows_live/controller_concerns.rb +0 -23
  418. data/lib/wisemuv/contacts/windows_live/grabber.rb +0 -22
  419. data/lib/wisemuv/contacts/windows_live/model_concerns.rb +0 -17
  420. data/lib/wisemuv/contacts/yahoo/controller_concerns.rb +0 -29
  421. data/lib/wisemuv/contacts/yahoo/grabber.rb +0 -55
  422. data/lib/wisemuv/contacts/yahoo/model_concerns.rb +0 -17
  423. data/lib/wisemuv/interesting_facts_parser.rb +0 -65
  424. data/log/.gitkeep +0 -0
  425. data/public/403.html +0 -26
  426. data/public/404.html +0 -26
  427. data/public/422.html +0 -26
  428. data/public/500.html +0 -25
  429. data/public/ZeroClipboard10.swf +0 -0
  430. data/public/favicon.ico +0 -0
  431. data/public/robots.txt +0 -5
  432. data/script/cucumber +0 -10
  433. data/script/delayed_job +0 -5
  434. data/script/rails +0 -6
  435. data/spec/factories/answer.rb +0 -6
  436. data/spec/factories/answer_choice.rb +0 -6
  437. data/spec/factories/attachment.rb +0 -11
  438. data/spec/factories/buying_attempts.rb +0 -8
  439. data/spec/factories/campaign.rb +0 -8
  440. data/spec/factories/carrier.rb +0 -6
  441. data/spec/factories/contact.rb +0 -8
  442. data/spec/factories/interesting_facts.rb +0 -10
  443. data/spec/factories/interview_result.rb +0 -27
  444. data/spec/factories/interview_template.rb +0 -46
  445. data/spec/factories/invitation_identifier.rb +0 -8
  446. data/spec/factories/possible_answer.rb +0 -23
  447. data/spec/factories/question.rb +0 -55
  448. data/spec/factories/recommendation.rb +0 -10
  449. data/spec/factories/user.rb +0 -21
  450. data/spec/mailers/invitation_mailer_spec.rb +0 -5
  451. data/spec/models/answer_spec.rb +0 -5
  452. data/spec/models/attachment_spec.rb +0 -5
  453. data/spec/models/buying_attempt_spec.rb +0 -5
  454. data/spec/models/campaign_spec.rb +0 -5
  455. data/spec/models/carrier_spec.rb +0 -5
  456. data/spec/models/contact_spec.rb +0 -5
  457. data/spec/models/interesting_fact_spec.rb +0 -5
  458. data/spec/models/invitation_identifier_spec.rb +0 -5
  459. data/spec/models/question_choice_spec.rb +0 -5
  460. data/spec/models/question_result_spec.rb +0 -5
  461. data/spec/models/question_spec.rb +0 -5
  462. data/spec/models/recommendation_spec.rb +0 -5
  463. data/spec/models/survey_result_spec.rb +0 -5
  464. data/spec/models/survey_template_spec.rb +0 -5
  465. data/spec/spec_helper.rb +0 -32
  466. data/vendor/.rvmrc +0 -53
  467. data/vendor/Gemfile +0 -60
  468. data/vendor/Gemfile.lock +0 -166
  469. data/vendor/README.rdoc +0 -261
  470. data/vendor/Rakefile +0 -7
  471. data/vendor/assets/javascripts/ZeroClipboard.js +0 -316
  472. data/vendor/assets/javascripts/selectToUISlider.js +0 -240
  473. data/vendor/assets/javascripts/underscore.string.js +0 -566
  474. data/vendor/assets/stylesheets/.gitkeep +0 -0
  475. data/vendor/config.ru +0 -4
  476. data/vendor/plugins/.gitkeep +0 -0
@@ -1,3 +0,0 @@
1
- class InterviewTemplatesController < ResourcesController
2
- respond_to :json, :only => [ :index ]
3
- end
@@ -1,6 +0,0 @@
1
- class PagesController < HighVoltage::PagesController
2
-
3
- def home
4
- @interviews = InterviewTemplate.page(params[:page]).per(10)
5
- end
6
- end
@@ -1,5 +0,0 @@
1
- class QuestionsController < ResourcesController
2
- belongs_to :interview_template
3
- actions :show
4
- respond_to :json, :only=> [ :show ]
5
- end
@@ -1,64 +0,0 @@
1
- class RecommendationsController < ResourcesController
2
- before_filter :check_secret, :only => [ :new ]
3
- before_filter :save_referer_to_session, :check_advice_cookie, :only => [ :new ]
4
-
5
- def create
6
- build_resource.referer = session['recommendation_referer']
7
- build_resource.interview_result = interview_result_from_referer
8
- create! do |success, failure|
9
- success.html do
10
- session.delete 'recommendation_referer'
11
- set_advice_cookie resource.interview_result.secret
12
- redirect_to root_url
13
- end
14
- end
15
- end
16
-
17
- private
18
- def save_referer_to_session
19
- unless session['recommendation_referer']
20
- session['recommendation_referer'] = request.referer
21
- end
22
- end
23
-
24
- def set_advice_cookie(secret)
25
- cookies[:given_advice] = {
26
- :value => ActiveSupport::JSON.encode(cookies_given_advice.push("#{request.host} #{secret}")),
27
- :expires => 1.year.from_now.utc
28
- }
29
- end
30
-
31
- def check_advice_cookie
32
- unless Rails.env.development?
33
- redirect_to root_url, :alert => t('flash.advice.already_given') if cookies_given_advice.include?("#{request.host} #{params[:secret]}")
34
- end
35
- end
36
-
37
- def check_secret
38
- if identifier or interview_result
39
- @user = identifier.try(:invitation).try(:interview_result).try(:user) || interview_result.try(:user)
40
- else
41
- redirect_to root_url, :alert => t('flash.advice.does_not_exist') unless identifier
42
- end
43
- end
44
-
45
- def identifier
46
- InvitationIdentifier.find_by_secret params[:secret]
47
- end
48
-
49
- def interview_result
50
- InterviewResult.find_by_secret params[:secret]
51
- end
52
-
53
- def interview_result_from_referer
54
- InterviewResult.find_by_secret(secret) || InvitationIdentifier.find_by_secret(secret).try(:invitation).try(:interview_result)
55
- end
56
-
57
- def secret
58
- Rails.application.routes.recognize_path(request.referer)[:secret]
59
- end
60
-
61
- def cookies_given_advice
62
- cookies[:given_advice] ? ActiveSupport::JSON.decode(cookies[:given_advice]) : []
63
- end
64
- end
@@ -1 +0,0 @@
1
- class ResourcesController < InheritedResources::Base; end
@@ -1,52 +0,0 @@
1
- class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
2
-
3
- def facebook
4
- @user = User.find_for_facebook_oauth omniauth_raw_data
5
- flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', :kind => 'Facebook'
6
- sign_in_and_redirect @user, :event => :authentication
7
- end
8
-
9
- def twitter
10
- @user = User.find_for_twitter_oauth omniauth_raw_data
11
- flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', :kind => 'Twitter'
12
- sign_in_and_redirect @user, :event => :authentication
13
- end
14
-
15
- def google_oauth2
16
- @user = User.find_for_google_oauth omniauth_raw_data
17
- flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', :kind => 'Google'
18
- sign_in_and_redirect @user, :event => :authentication
19
- end
20
-
21
- def linkedin
22
- @user = User.find_for_linkedin_oauth omniauth_raw_data
23
- flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', :kind => 'Linkedin'
24
- sign_in_and_redirect @user, :event => :authentication
25
- end
26
-
27
- def yahoo
28
- @user = User.find_for_yahoo_oauth omniauth_raw_data
29
- flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', :kind => 'Yahoo'
30
- sign_in_and_redirect @user, :event => :authentication
31
- end
32
-
33
- def windowslive
34
- @user = User.find_for_windowslive_oauth omniauth_raw_data
35
- flash[:notice] = I18n.t 'devise.omniauth_callbacks.success', :kind => 'Windows Live ID'
36
- sign_in_and_redirect @user, :event => :authentication
37
- end
38
-
39
- def passthru
40
- render_404
41
- end
42
-
43
- private
44
-
45
- def omniauth_env
46
- request.env['omniauth.auth']
47
- end
48
-
49
- def omniauth_raw_data
50
- omniauth_env.extra.raw_info
51
- end
52
- end
@@ -1,14 +0,0 @@
1
- module Admin::InterviewHelper
2
-
3
- def options_for_question_types selected
4
- options_for_select Question.type.options, selected
5
- end
6
-
7
- def interview_routes interview
8
- interview.new_record? ? admin_interviews_path : admin_interview_path(interview)
9
- end
10
-
11
- def options_for_interview_types selected
12
- options_for_select InterviewTemplate.type.options, selected
13
- end
14
- end
@@ -1,8 +0,0 @@
1
- module AnswersHelper
2
- def scale_answers_for_select question
3
- question.answers_range.map{ |value| [nil, value] }.tap do |options|
4
- options[0] = [ question.minimum_answer_label, options[0].last ]
5
- options[-1] = [ question.maximum_answer_label, options[-1].last ]
6
- end
7
- end
8
- end
@@ -1 +0,0 @@
1
- module ApplicationHelper; end
@@ -1,5 +0,0 @@
1
- module AttachmentsHelper
2
- def filename(attachment)
3
- File.basename attachment.url
4
- end
5
- end
@@ -1,5 +0,0 @@
1
- module CampaignsHelper
2
- def options_for_interviews(interviews)
3
- interviews.map{ |interview| [ t("enumerize.interview_template.type.#{interview.type}") + ': ' + interview.title, interview.id ] }
4
- end
5
- end
@@ -1,5 +0,0 @@
1
- module LayoutHelper
2
- def page_title text
3
- text.tap { content_for :page_title, text }
4
- end
5
- end
@@ -1,14 +0,0 @@
1
- module RecommendationHelper
2
-
3
- def decision(recommendation)
4
- recommendation.decision == 'accept' ? 'GET' : "DON'T GET"
5
- end
6
-
7
- def positive_recommendations_count(interview_result)
8
- interview_result.recommendations.positive.count
9
- end
10
-
11
- def negative_recommendations_count(interview_result)
12
- interview_result.recommendations.negative.count
13
- end
14
- end
@@ -1,13 +0,0 @@
1
- class InvitationMailer < ActionMailer::Base
2
- default :from => ConfigMe.invitation_email
3
-
4
- def ask_friends_and_family(email, invitation)
5
- subject = I18n.t('invitation_mailer.subject') % { :user => invitation.interview_result.user.to_s }
6
- body = I18n.t('invitation_mailer.body') % { :link => new_recommendation_url(invitation.secret) }
7
-
8
- mail :to => email, :subject => subject do |format|
9
- format.html { render :text => body }
10
- format.text { render :text => body }
11
- end
12
- end
13
- end
@@ -1,23 +0,0 @@
1
- class Ability
2
- include CanCan::Ability
3
-
4
- def initialize user
5
- @user = user || User.new
6
- common && send(@user.role)
7
- end
8
-
9
- def common
10
- can :ask_for_advice, InterviewResult, :user_id => @user.id
11
- end
12
-
13
- def admin
14
- can :manage, :all
15
- end
16
-
17
- def manager
18
- can :manage, Campaign
19
- can :manage, Attachment
20
- end
21
-
22
- def user; end
23
- end
data/app/models/answer.rb DELETED
@@ -1,36 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: answers
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *interview_result_id*:: <tt>integer</tt>
7
- # *question_id*:: <tt>integer</tt>
8
- # *created_at*:: <tt>datetime, not null</tt>
9
- # *updated_at*:: <tt>datetime, not null</tt>
10
- #--
11
- # == Schema Information End
12
- #++
13
-
14
- class Answer < ActiveRecord::Base
15
- belongs_to :interview_result
16
- belongs_to :question
17
-
18
- # TODO rename association to :choice
19
- has_one :answer_choice
20
- has_many :possible_answers, :through => :question
21
-
22
- accepts_nested_attributes_for :answer_choice
23
-
24
- validates :answer_choice, :presence => true
25
- validate :validate_text_for_numeric
26
-
27
- after_create :verify_interview_completion!
28
-
29
- def validate_text_for_numeric
30
- answer_choice.validate_text_for_numeric if question.numeric?
31
- end
32
-
33
- def verify_interview_completion!
34
- interview_result.verify_completion!
35
- end
36
- end
@@ -1,28 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: answer_choices
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *answer_id*:: <tt>integer</tt>
7
- # *possible_answer_id*:: <tt>integer</tt>
8
- # *created_at*:: <tt>datetime, not null</tt>
9
- # *updated_at*:: <tt>datetime, not null</tt>
10
- # *text*:: <tt>string(255)</tt>
11
- #--
12
- # == Schema Information End
13
- #++
14
-
15
- class AnswerChoice < ActiveRecord::Base
16
- belongs_to :answer
17
- belongs_to :possible_answer
18
-
19
- validates :possible_answer_id, :presence => { :message => 'Please select one of the options' }
20
-
21
- def validate_text_for_numeric
22
- errors.add :text, 'Please enter numeric value' unless text.numeric?
23
- end
24
-
25
- def to_s
26
- text
27
- end
28
- end
@@ -1,34 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: attachments
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *file*:: <tt>string(255)</tt>
7
- # *user_id*:: <tt>integer</tt>
8
- # *created_at*:: <tt>datetime, not null</tt>
9
- # *updated_at*:: <tt>datetime, not null</tt>
10
- #--
11
- # == Schema Information End
12
- #++
13
-
14
- class Attachment < ActiveRecord::Base
15
- belongs_to :user
16
- has_many :interesting_facts, :dependent => :destroy
17
- has_one :campaign
18
- validates :file, :presence => true
19
- mount_uploader :file, FileUploader
20
-
21
-
22
- after_create :sync_interesting_facts
23
-
24
- def sync_interesting_facts
25
- interesting_facts.destroy_all
26
-
27
- ActiveRecord::Base.transaction do
28
- Wisemuv::InterestingFactsParser.parse(file.path) do |params|
29
- interesting_facts.create params
30
- end
31
- end
32
- end
33
-
34
- end
@@ -1,31 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: buying_attempts
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *tracking_code*:: <tt>string(255)</tt>
7
- # *interview_result_id*:: <tt>integer</tt>
8
- # *user_id*:: <tt>integer</tt>
9
- # *created_at*:: <tt>datetime, not null</tt>
10
- # *updated_at*:: <tt>datetime, not null</tt>
11
- #--
12
- # == Schema Information End
13
- #++
14
-
15
- class BuyingAttempt < ActiveRecord::Base
16
- belongs_to :interview_result
17
- belongs_to :user
18
-
19
- attr_accessible :interview_result, :user
20
-
21
- before_create :generate_tracking_code
22
-
23
- validates :interview_result, :user, :presence => true
24
-
25
- private
26
-
27
- def generate_tracking_code
28
- require 'digest/sha1'
29
- self.tracking_code = Digest::SHA1.hexdigest "#{interview_result.id}-#{user.id}-sweet-biscuits"
30
- end
31
- end
@@ -1,37 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: campaigns
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *carrier_id*:: <tt>integer</tt>
7
- # *interview_template_id*:: <tt>integer</tt>
8
- # *title*:: <tt>string(255)</tt>
9
- # *created_at*:: <tt>datetime, not null</tt>
10
- # *updated_at*:: <tt>datetime, not null</tt>
11
- # *attachment_id*:: <tt>integer</tt>
12
- #--
13
- # == Schema Information End
14
- #++
15
-
16
- class Campaign < ActiveRecord::Base
17
- belongs_to :carrier
18
- belongs_to :interview_template
19
- belongs_to :attachment
20
- has_many :interview_results, :through => :interview_template
21
- has_many :interesting_facts, :through => :attachment
22
- belongs_to :attachment
23
-
24
- validates :title, :presence => true
25
- validates :carrier, :presence => true
26
- validates :interview_template, :presence => true
27
-
28
- delegate :to_s, :to => :title
29
-
30
- def attachment?
31
- not attachment.nil?
32
- end
33
-
34
- def attachment_path
35
- attachment.file.path
36
- end
37
- end
@@ -1,30 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: carriers
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *name*:: <tt>string(255)</tt>
7
- # *slug*:: <tt>string(255)</tt>
8
- # *site_url*:: <tt>string(255)</tt>
9
- # *created_at*:: <tt>datetime, not null</tt>
10
- # *updated_at*:: <tt>datetime, not null</tt>
11
- #--
12
- # == Schema Information End
13
- #++
14
-
15
- class Carrier < ActiveRecord::Base
16
- attr_accessible :name, :site_url
17
-
18
- has_many :campaigns
19
-
20
- validates :name, :site_url, :presence => true
21
- validates_url_format_of :site_url
22
-
23
- after_update :update_slug!
24
-
25
- delegate :to_s, :to => :name
26
-
27
- def update_slug!
28
- update_column :slug, name.to_s.urlize
29
- end
30
- end