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,27 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: recommendations
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *decision*:: <tt>string(255)</tt>
7
- # *confidence*:: <tt>integer</tt>
8
- # *opinion*:: <tt>text</tt>
9
- # *referer*:: <tt>string(255)</tt>
10
- # *created_at*:: <tt>datetime, not null</tt>
11
- # *updated_at*:: <tt>datetime, not null</tt>
12
- # *interview_result_id*:: <tt>integer</tt>
13
- #--
14
- # == Schema Information End
15
- #++
16
-
17
- class Recommendation < ActiveRecord::Base
18
- belongs_to :interview_result
19
-
20
- include Enumerize
21
- enumerize :decision, :in => %w(accept decline), :default => :accept
22
-
23
- validates :opinion, :length => { :minimum => 10 }
24
-
25
- scope :positive, where(:decision => 'accept')
26
- scope :negative, where(:decision => 'decline')
27
- end
@@ -1,42 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: questions
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *text*:: <tt>text</tt>
7
- # *interview_template_id*:: <tt>integer</tt>
8
- # *position*:: <tt>integer</tt>
9
- # *type*:: <tt>string(255)</tt>
10
- # *created_at*:: <tt>datetime, not null</tt>
11
- # *updated_at*:: <tt>datetime, not null</tt>
12
- # *display_as*:: <tt>string(255)</tt>
13
- #--
14
- # == Schema Information End
15
- #++
16
-
17
- class ScaleQuestion < Question
18
-
19
- def after_becomes
20
- build_min_max_values
21
- end
22
-
23
- def answers_range
24
- (min_value..max_value).to_a
25
- end
26
-
27
- def minimum_answer
28
- possible_answers.first
29
- end
30
-
31
- def minimum_answer_label
32
- minimum_answer.body_from_3rd_point_view
33
- end
34
-
35
- def maximum_answer
36
- possible_answers.last
37
- end
38
-
39
- def maximum_answer_label
40
- maximum_answer.body_from_3rd_point_view
41
- end
42
- end
data/app/models/user.rb DELETED
@@ -1,102 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: users
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *first_name*:: <tt>string(255)</tt>
7
- # *last_name*:: <tt>string(255)</tt>
8
- # *created_at*:: <tt>datetime, not null</tt>
9
- # *updated_at*:: <tt>datetime, not null</tt>
10
- # *email*:: <tt>string(255)</tt>
11
- # *encrypted_password*:: <tt>string(255), default(""), not null</tt>
12
- # *reset_password_token*:: <tt>string(255)</tt>
13
- # *reset_password_sent_at*:: <tt>datetime</tt>
14
- # *remember_created_at*:: <tt>datetime</tt>
15
- # *sign_in_count*:: <tt>integer, default(0)</tt>
16
- # *current_sign_in_at*:: <tt>datetime</tt>
17
- # *last_sign_in_at*:: <tt>datetime</tt>
18
- # *current_sign_in_ip*:: <tt>string(255)</tt>
19
- # *last_sign_in_ip*:: <tt>string(255)</tt>
20
- # *facebook_id*:: <tt>text</tt>
21
- # *twitter_id*:: <tt>text</tt>
22
- # *google_id*:: <tt>string(255)</tt>
23
- # *linkedin_id*:: <tt>string(255)</tt>
24
- # *yahoo_id*:: <tt>string(255)</tt>
25
- # *windowslive_id*:: <tt>string(255)</tt>
26
- # *role*:: <tt>string(255)</tt>
27
- # *last_visited_path*:: <tt>string(255)</tt>
28
- #
29
- # Indexes
30
- #
31
- # index_users_on_email (email) UNIQUE
32
- # index_users_on_reset_password_token (reset_password_token) UNIQUE
33
- #--
34
- # == Schema Information End
35
- #++
36
-
37
- class User < ActiveRecord::Base
38
- devise :database_authenticatable, :registerable,
39
- :recoverable, :rememberable, :trackable, :omniauthable
40
-
41
- include AuthenticateUsers
42
- include Enumerize
43
-
44
- enumerize :role, :in => %w(user admin manager), :default => :user
45
-
46
- has_many :interview_templates, :foreign_key => 'author_id'
47
- has_many :recommendations
48
- has_many :contacts
49
- has_many :attachments
50
- has_many :interview_results do
51
- def latest
52
- order('updated_at ASC').last
53
- end
54
- end
55
- has_many :attachments
56
-
57
- validates :email, :uniqueness => true, :email => true, :allow_blank => true
58
- validates :role, :presence => true, :inclusion => %w(user admin manager)
59
- validate :user_must_be_identified, :user_must_have_name, :password_must_be_confirmed
60
-
61
- scope :regular, where(:role => :user)
62
-
63
- def user_must_be_identified
64
- unless login_provider? || email?
65
- errors.add :base, 'user must be identified by facebook, twitter, google, linked-in, windows live, yahoo or email'
66
- end
67
- end
68
-
69
- def user_must_have_name
70
- if full_name.blank?
71
- errors.add :base, 'user must have name'
72
- end
73
- end
74
-
75
- def password_must_be_confirmed
76
- if !login_provider? && password != password_confirmation
77
- errors.add :base, 'password must match its confirmation'
78
- end
79
- end
80
-
81
- def full_name
82
- [first_name, last_name].join(' ').titleize.strip
83
- end
84
-
85
- alias :to_s :full_name
86
-
87
- def login_provider
88
- %w(facebook twitter yahoo windowslive linkedin google).detect { |provider| send "#{provider}_id?" }
89
- end
90
-
91
- def login_provider?
92
- login_provider.present?
93
- end
94
-
95
- def admin?
96
- role.admin?
97
- end
98
-
99
- def manager?
100
- role.manager?
101
- end
102
- end
@@ -1,18 +0,0 @@
1
- # == Schema Information
2
- #
3
- # Table name: questions
4
- #
5
- # *id*:: <tt>integer, not null, primary key</tt>
6
- # *text*:: <tt>text</tt>
7
- # *interview_template_id*:: <tt>integer</tt>
8
- # *position*:: <tt>integer</tt>
9
- # *type*:: <tt>string(255)</tt>
10
- # *created_at*:: <tt>datetime, not null</tt>
11
- # *updated_at*:: <tt>datetime, not null</tt>
12
- # *display_as*:: <tt>string(255)</tt>
13
- #--
14
- # == Schema Information End
15
- #++
16
-
17
- class YesNoQuestion < OneCorrectQuestion
18
- end
@@ -1,10 +0,0 @@
1
- class NavLinksRenderer < SimpleNavigation::Renderer::Links
2
-
3
- def render item_container
4
- div_content = item_container.items.inject([]) do |list, item|
5
- list << tag_for(item)
6
- end.join
7
-
8
- content_tag :nav, div_content, { :id => item_container.dom_id, :class => item_container.dom_class }
9
- end
10
- end
@@ -1,55 +0,0 @@
1
- # encoding: utf-8
2
-
3
- class AttachementUploader < CarrierWave::Uploader::Base
4
-
5
- # Include RMagick or MiniMagick support:
6
- # include CarrierWave::RMagick
7
- # include CarrierWave::MiniMagick
8
-
9
- # Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
10
- # include Sprockets::Helpers::RailsHelper
11
- # include Sprockets::Helpers::IsolatedHelper
12
-
13
- # Choose what kind of storage to use for this uploader:
14
- storage :file
15
- # storage :fog
16
-
17
- # Override the directory where uploaded files will be stored.
18
- # This is a sensible default for uploaders that are meant to be mounted:
19
- def store_dir
20
- "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
21
- end
22
-
23
- # Provide a default URL as a default if there hasn't been a file uploaded:
24
- # def default_url
25
- # # For Rails 3.1+ asset pipeline compatibility:
26
- # # asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
27
- #
28
- # "/images/fallback/" + [version_name, "default.png"].compact.join('_')
29
- # end
30
-
31
- # Process files as they are uploaded:
32
- # process :scale => [200, 300]
33
- #
34
- # def scale(width, height)
35
- # # do something
36
- # end
37
-
38
- # Create different versions of your uploaded files:
39
- # version :thumb do
40
- # process :scale => [50, 50]
41
- # end
42
-
43
- # Add a white list of extensions which are allowed to be uploaded.
44
- # For images you might use something like this:
45
- # def extension_white_list
46
- # %w(jpg jpeg gif png)
47
- # end
48
-
49
- # Override the filename of the uploaded files:
50
- # Avoid using model.id or version_name here, see uploader/store.rb for details.
51
- # def filename
52
- # "something.jpg" if original_filename
53
- # end
54
-
55
- end
@@ -1,20 +0,0 @@
1
- # encoding: utf-8
2
- require 'carrierwave/processing/mime_types'
3
-
4
- class FileUploader < CarrierWave::Uploader::Base
5
- include CarrierWave::MimeTypes
6
- process :set_content_type
7
- storage :file
8
-
9
- def store_dir
10
- "uploads/#{model_name}/#{mounted_as}/#{model.id}"
11
- end
12
-
13
- def model_name
14
- model.class.to_s.underscore
15
- end
16
-
17
- def extension_white_list
18
- %w(xls xlsx)
19
- end
20
- end
@@ -1,36 +0,0 @@
1
- = render 'shared/errors', resource: resource
2
-
3
- .b-interview-form
4
- = semantic_form_for [ :admin, resource ], url: interview_routes(resource) do |f|
5
- = f.inputs :class => 'b-interview-credentials' do
6
- %li
7
- = f.label :type, t('interview_template.type')
8
- = f.select :type, options_for_interview_types(@interview_type), :include_blank => false
9
-
10
- = f.input :title, :placeholder => 'Type an interview title'
11
- = f.input :description, :placeholder => 'Type an interview description', :input_html => { :rows => 3 }
12
-
13
- %h2.b-questions-title
14
- %span.title= t('interview_template.questions')
15
- %span.hint= t('interview_template.questions_hint')
16
-
17
- .b-questions
18
-
19
- - f.object.questions.each_with_index do |question, i|
20
- %fieldset.b-question-form.inputs
21
- = f.semantic_fields_for :questions, question do |question_form|
22
- = render 'question_fields', :question_number => i + 1, :parent_form => f, :f => question_form
23
-
24
- .ui-state-disabled
25
- .l-add-question-button
26
- = link_to_add_association f, :questions,
27
- :class => 'btn b-add-question-button',
28
- :partial => 'admin/interviews/wrapper_question_fields',
29
- :render_options => { :locals => { :parent_form => f, :question_number => f.object.questions.count + 1 } } do
30
-
31
- = t('interview_template.add_question')
32
- %i.icon-plus-sign
33
-
34
- = f.actions :class => 'actions inputs' do
35
- %li= content_tag :a, t('interview_template.save'), class: 'btn btn-primary btn-large btn-submit'
36
- = f.action :cancel, :label => t('interview_template.cancel'), :as => :link, :wrapper_html => { :class => 'l-cancel-button' }
@@ -1,6 +0,0 @@
1
- .b-answers-form-details
2
- .b-answers-left-column
3
- = f.input :text, :label => false, :as => :string, :placeholder => 'Answer'
4
-
5
- .b-answers-right-column
6
- = f.input :body_from_3rd_point_view, :label => false, :as => :string, :placeholder => 'Answer in story'
@@ -1,28 +0,0 @@
1
- .b-question-number= question_number
2
- .b-question-form-details
3
- = f.input :text, :label => false, :as => :string, :placeholder => 'Type your question here', :input_html => { :class => 'b-question-body-input' }
4
-
5
- .l-answers-form
6
- .b-answers-types
7
- %ul.nav.nav-tabs
8
- %li.active
9
- %a= f.select :type, options_for_question_types(f.object.type), { :include_blank => false }, :class => 'b-question-type-select'
10
-
11
- .l-answers-form-details
12
- .tab-pane.one-correct-question
13
- = parent_form.semantic_fields_for :questions, f.object.build_subclass(OneCorrectQuestion), :hidden_field_id => nil do |child_form|
14
- = render 'admin/interviews/one_correct_question/fields', :f => child_form
15
-
16
- .tab-pane.yes-no-question
17
- = parent_form.semantic_fields_for :questions, f.object.build_subclass(YesNoQuestion), :hidden_field_id => nil do |child_form|
18
- = render 'admin/interviews/yes_no_question/fields', :f => child_form
19
-
20
- .tab-pane.scale-question
21
- = parent_form.semantic_fields_for :questions, f.object.build_subclass(ScaleQuestion), :hidden_field_id => nil do |child_form|
22
- = render 'admin/interviews/scale_question/fields', :f => child_form
23
-
24
- .tab-pane.numeric-question
25
- = parent_form.semantic_fields_for :questions, f.object.build_subclass(NumericQuestion), :hidden_field_id => nil do |child_form|
26
- = render 'admin/interviews/numeric_question/fields', :f => child_form
27
-
28
- = f.input :position, :as => :hidden, :value => question_number, :input_html => { :class => 'b-question-position-input' }
@@ -1,2 +0,0 @@
1
- %fieldset.b-question-form.inputs
2
- = render 'question_fields', :question_number => question_number, :parent_form => parent_form, :f => f
@@ -1,7 +0,0 @@
1
- .b-answers-form-details
2
- .b-answers-left-column
3
- .b-answers-display-as
4
- = f.input :display_as, :as => :radio, :label => 'Ask for', :required => false
5
-
6
- = f.input :_destroy, :as => :hidden, :value => 1, :input_html => { :class => 'b-question-destroy-input' }
7
- = f.input :id, :as => :hidden
@@ -1,6 +0,0 @@
1
- .b-answers-form-details
2
- .b-answers-left-column
3
- = f.input :text, :label => false, :as => :string, :placeholder => 'Answer'
4
-
5
- .b-answers-right-column
6
- = f.input :body_from_3rd_point_view, :label => false, :placeholder => 'Answer in story'
@@ -1,18 +0,0 @@
1
- .b-answers-form-details
2
- .b-answers-left-column
3
- .b-answers-display-as
4
- = f.input :display_as, :as => :radio, :label => 'Show answers', :required => false
5
- .b-answers-right-column
6
- .b-answers-3rd-point-view-title
7
- How these answers will look for story:
8
-
9
- = f.semantic_fields_for :possible_answers do |answer|
10
- = render 'possible_answer_fields', :f => answer
11
-
12
- .l-add-answer-button
13
- = link_to_add_association f, :possible_answers, :class => 'btn b-add-answer-button', :association => :possible_answers do
14
- Add another answer
15
- %i.icon-plus-sign
16
-
17
- = f.input :_destroy, :as => :hidden, :value => 1, :input_html => { :class => 'b-question-destroy-input' }
18
- = f.input :id, :as => :hidden
@@ -1,7 +0,0 @@
1
- %span.title= t('interview_template.question_types.scale.hint')
2
-
3
- = f.semantic_fields_for :possible_answers do |answer|
4
- = render 'admin/interviews/scale_question/start_end_values', :f => answer
5
-
6
- = f.input :_destroy, :as => :hidden, :value => 1, :input_html => { :class => 'b-question-destroy-input' }
7
- = f.input :id, :as => :hidden
@@ -1,6 +0,0 @@
1
- .b-answers-form-details
2
- .b-answers-left-column
3
- = f.input :text, :label => false, :as => :string, :placeholder => 'Value'
4
-
5
- .b-answers-right-column
6
- = f.input :body_from_3rd_point_view, :label => false, :as => :string, :placeholder => 'Label'
@@ -1,3 +0,0 @@
1
- Question of this type will have only two answers: "Yes" and "No"
2
- = f.input :_destroy, :as => :hidden, :value => 1, :input_html => { :class => 'b-question-destroy-input' }
3
- = f.input :id, :as => :hidden
@@ -1,5 +0,0 @@
1
- - if resource.persisted?
2
- = render 'attachments/resource', resource: resource, editable: true
3
- - else
4
- = semantic_form_for resource, :html => { :multipart => true, :class => 'b-attachment-form' }, :remote => true do |f|
5
- = f.input :file, :as => :file, :label => 'Interesting facts'
@@ -1,11 +0,0 @@
1
- %table.table.table-bordered.b-interesting-facts
2
- %thead
3
- %tr
4
- %th= t('views.interesting_facts.condition')
5
- %th= t('views.interesting_facts.text')
6
- %th= t('views.interesting_facts.source_name')
7
- %tbody
8
- - facts.each do |fact|
9
- = render 'interesting_facts/fact', :fact => fact
10
- - if facts.empty?
11
- %tr.b-facts-not-found-fow{ colspan: 3 }= t('views.campaigns.show.facts_not_found')