think_feel_do_engine 3.19.9 → 3.20.1

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 (196) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +11 -3
  3. data/app/assets/config/manifest.js +3 -0
  4. data/app/assets/javascripts/think_feel_do_engine/activities/activity_tracker.js +3 -2
  5. data/app/controllers/think_feel_do_engine/application_controller.rb +4 -3
  6. data/app/controllers/think_feel_do_engine/bit_maker/content_modules_controller.rb +4 -3
  7. data/app/controllers/think_feel_do_engine/bit_maker/content_providers_controller.rb +2 -1
  8. data/app/controllers/think_feel_do_engine/bit_maker/slides_controller.rb +7 -5
  9. data/app/controllers/think_feel_do_engine/bit_maker/slideshow_anchors_controller.rb +3 -2
  10. data/app/controllers/think_feel_do_engine/bit_maker/slideshows_controller.rb +1 -0
  11. data/app/controllers/think_feel_do_engine/coach/group_dashboard_controller.rb +1 -0
  12. data/app/controllers/think_feel_do_engine/coach/memberships_controller.rb +7 -4
  13. data/app/controllers/think_feel_do_engine/coach/messages_controller.rb +2 -1
  14. data/app/controllers/think_feel_do_engine/coach/participant_activities_visualizations_controller.rb +1 -0
  15. data/app/controllers/think_feel_do_engine/coach/participant_thoughts_visualizations_controller.rb +1 -0
  16. data/app/controllers/think_feel_do_engine/coach/patient_dashboards_controller.rb +1 -0
  17. data/app/controllers/think_feel_do_engine/coach/phq_assessments_controller.rb +1 -0
  18. data/app/controllers/think_feel_do_engine/coach/received_messages_controller.rb +2 -1
  19. data/app/controllers/think_feel_do_engine/coach/sent_messages_controller.rb +1 -0
  20. data/app/controllers/think_feel_do_engine/coach/site_messages_controller.rb +1 -0
  21. data/app/controllers/think_feel_do_engine/coach_dashboard_controller.rb +1 -0
  22. data/app/controllers/think_feel_do_engine/concerns/browser_detective.rb +13 -12
  23. data/app/controllers/think_feel_do_engine/concerns/invalid_auth_token.rb +1 -0
  24. data/app/controllers/think_feel_do_engine/concerns/navigator_enabled.rb +1 -0
  25. data/app/controllers/think_feel_do_engine/keep_alive_controller.rb +1 -0
  26. data/app/controllers/think_feel_do_engine/lesson_slides_controller.rb +3 -2
  27. data/app/controllers/think_feel_do_engine/lessons_controller.rb +4 -3
  28. data/app/controllers/think_feel_do_engine/manage/groups_controller.rb +3 -2
  29. data/app/controllers/think_feel_do_engine/manage/tasks_controller.rb +1 -0
  30. data/app/controllers/think_feel_do_engine/memberships_controller.rb +1 -0
  31. data/app/controllers/think_feel_do_engine/navigator_controller.rb +7 -4
  32. data/app/controllers/think_feel_do_engine/participant_data_controller.rb +3 -2
  33. data/app/controllers/think_feel_do_engine/participants/activities_controller.rb +8 -11
  34. data/app/controllers/think_feel_do_engine/participants/assessments_controller.rb +4 -3
  35. data/app/controllers/think_feel_do_engine/participants/lessons_controller.rb +1 -0
  36. data/app/controllers/think_feel_do_engine/participants/media_access_events_controller.rb +3 -3
  37. data/app/controllers/think_feel_do_engine/participants/passwords_controller.rb +1 -0
  38. data/app/controllers/think_feel_do_engine/participants/public_slides_controller.rb +3 -2
  39. data/app/controllers/think_feel_do_engine/participants/sessions_controller.rb +1 -0
  40. data/app/controllers/think_feel_do_engine/participants/thoughts_controller.rb +4 -5
  41. data/app/controllers/think_feel_do_engine/password_entropy_bits_controller.rb +3 -1
  42. data/app/controllers/think_feel_do_engine/privacy_policies_controller.rb +1 -0
  43. data/app/controllers/think_feel_do_engine/quick_sign_ins_controller.rb +1 -0
  44. data/app/controllers/think_feel_do_engine/users/passwords_controller.rb +1 -0
  45. data/app/controllers/think_feel_do_engine/users/registrations_controller.rb +1 -0
  46. data/app/controllers/think_feel_do_engine/users/sessions_controller.rb +1 -0
  47. data/app/helpers/think_feel_do_engine/activities_helper.rb +2 -1
  48. data/app/helpers/think_feel_do_engine/application_helper.rb +2 -1
  49. data/app/helpers/think_feel_do_engine/brand_helper.rb +1 -0
  50. data/app/helpers/think_feel_do_engine/coach/activity_color_code_helper.rb +1 -0
  51. data/app/helpers/think_feel_do_engine/coach/dashboard_and_phq_table_helper.rb +6 -5
  52. data/app/helpers/think_feel_do_engine/coach/group_dashboard_helper.rb +5 -3
  53. data/app/helpers/think_feel_do_engine/coach/messages_helper.rb +3 -1
  54. data/app/helpers/think_feel_do_engine/coach/moods_and_phq_viz_helper.rb +1 -0
  55. data/app/helpers/think_feel_do_engine/coach/patient_dashboard_helper.rb +9 -8
  56. data/app/helpers/think_feel_do_engine/emotions_helper.rb +1 -0
  57. data/app/helpers/think_feel_do_engine/phq_assessment_helper.rb +1 -0
  58. data/app/helpers/think_feel_do_engine/presenters_helper.rb +1 -0
  59. data/app/helpers/think_feel_do_engine/slides_helper.rb +5 -2
  60. data/app/helpers/think_feel_do_engine/tasks_helper.rb +11 -9
  61. data/app/mailers/think_feel_do_engine/lesson_notification_mailer.rb +5 -2
  62. data/app/mailers/think_feel_do_engine/message_notifications.rb +1 -0
  63. data/app/mailers/think_feel_do_engine/site_message_mailer.rb +3 -1
  64. data/app/models/ability.rb +1 -0
  65. data/app/models/activity.rb +21 -10
  66. data/app/models/activity_type.rb +1 -0
  67. data/app/models/arm.rb +2 -2
  68. data/app/models/arm_validator.rb +3 -1
  69. data/app/models/available_content_module.rb +6 -2
  70. data/app/models/awake_period.rb +1 -0
  71. data/app/models/bit_core/slide_observer.rb +1 -0
  72. data/app/models/coach_assignment.rb +1 -0
  73. data/app/models/concerns/accessibility.rb +1 -0
  74. data/app/models/concerns/copier.rb +25 -17
  75. data/app/models/content_modules/lesson_module.rb +6 -5
  76. data/app/models/content_modules.rb +3 -2
  77. data/app/models/content_provider_decorator.rb +1 -0
  78. data/app/models/content_provider_policy.rb +1 -0
  79. data/app/models/content_providers/accomplished_activity_index_provider.rb +1 -0
  80. data/app/models/content_providers/activity_index_provider.rb +1 -0
  81. data/app/models/content_providers/augmented_thoughts_table_provider.rb +1 -0
  82. data/app/models/content_providers/awake_period_form.rb +1 -0
  83. data/app/models/content_providers/create_activity.rb +4 -3
  84. data/app/models/content_providers/edit_past_feel_provider.rb +1 -0
  85. data/app/models/content_providers/evaluate_thoughts_provider.rb +1 -0
  86. data/app/models/content_providers/fun_activity_checklist.rb +5 -4
  87. data/app/models/content_providers/harmful_thoughts_edit_form_provider.rb +1 -0
  88. data/app/models/content_providers/helpful_thoughts_index_provider.rb +1 -0
  89. data/app/models/content_providers/important_activity_checklist.rb +5 -4
  90. data/app/models/content_providers/index_past_feel_provider.rb +1 -0
  91. data/app/models/content_providers/input_new_activity_form.rb +1 -0
  92. data/app/models/content_providers/learn_lessons_index_provider.rb +5 -4
  93. data/app/models/content_providers/messages_index_provider.rb +2 -1
  94. data/app/models/content_providers/module_index_provider.rb +1 -0
  95. data/app/models/content_providers/new_complete_thought_form_provider.rb +1 -0
  96. data/app/models/content_providers/new_current_emotion_provider.rb +1 -0
  97. data/app/models/content_providers/new_current_feel_provider.rb +1 -0
  98. data/app/models/content_providers/new_harmful_thought_form_provider.rb +1 -0
  99. data/app/models/content_providers/new_message_form_provider.rb +1 -0
  100. data/app/models/content_providers/new_past_feel_provider.rb +1 -0
  101. data/app/models/content_providers/new_thought_form_provider.rb +1 -0
  102. data/app/models/content_providers/new_thoughts_form_provider.rb +1 -0
  103. data/app/models/content_providers/past_activity_form.rb +1 -0
  104. data/app/models/content_providers/past_activity_review_form.rb +1 -0
  105. data/app/models/content_providers/past_due_activities_viz.rb +1 -0
  106. data/app/models/content_providers/pleasurable_activity_index_provider.rb +1 -0
  107. data/app/models/content_providers/previous_planned_activities_provider.rb +1 -0
  108. data/app/models/content_providers/random_slide_provider.rb +1 -0
  109. data/app/models/content_providers/show_message_provider.rb +5 -3
  110. data/app/models/content_providers/thought_patterns_index_provider.rb +1 -0
  111. data/app/models/content_providers/thoughts_distortion_viz_provider.rb +1 -0
  112. data/app/models/content_providers/thoughts_table_provider.rb +1 -0
  113. data/app/models/content_providers/unhelpful_thoughts_list_provider.rb +5 -2
  114. data/app/models/content_providers/unhelpful_thoughts_reflection_provider.rb +1 -0
  115. data/app/models/content_providers/unplanned_activity_form.rb +1 -0
  116. data/app/models/content_providers/your_activities_provider.rb +4 -2
  117. data/app/models/delivered_message.rb +3 -1
  118. data/app/models/emotion.rb +3 -2
  119. data/app/models/emotional_rating.rb +1 -0
  120. data/app/models/engagement.rb +1 -0
  121. data/app/models/group.rb +2 -1
  122. data/app/models/group_metrics/weekly_activities_count.rb +1 -0
  123. data/app/models/group_metrics/weekly_comments_count.rb +1 -0
  124. data/app/models/group_metrics/weekly_count.rb +1 -0
  125. data/app/models/group_metrics/weekly_goals_count.rb +1 -0
  126. data/app/models/group_metrics/weekly_likes_count.rb +1 -0
  127. data/app/models/group_metrics/weekly_logins_count.rb +1 -0
  128. data/app/models/group_metrics/weekly_on_the_mind_statements_count.rb +1 -0
  129. data/app/models/group_metrics/weekly_thoughts_count.rb +1 -0
  130. data/app/models/media_access_event.rb +1 -0
  131. data/app/models/membership.rb +5 -3
  132. data/app/models/message.rb +1 -0
  133. data/app/models/message_sms_notification.rb +3 -1
  134. data/app/models/mood.rb +3 -1
  135. data/app/models/participant.rb +2 -1
  136. data/app/models/participant_login_event.rb +1 -0
  137. data/app/models/participant_metrics/weekly_count.rb +1 -0
  138. data/app/models/participant_metrics/weekly_logins_count.rb +1 -0
  139. data/app/models/participant_token.rb +3 -2
  140. data/app/models/phq_assessment.rb +3 -0
  141. data/app/models/phq_stepping.rb +5 -4
  142. data/app/models/phq_stepping_assessment.rb +12 -13
  143. data/app/models/planned_activity.rb +1 -0
  144. data/app/models/roles/clinician.rb +1 -0
  145. data/app/models/roles/content_author.rb +1 -0
  146. data/app/models/roles/researcher.rb +1 -0
  147. data/app/models/site_message.rb +1 -0
  148. data/app/models/slideshow_anchor.rb +2 -1
  149. data/app/models/task.rb +3 -1
  150. data/app/models/task_status.rb +4 -2
  151. data/app/models/think_feel_do_engine/addressable.rb +1 -0
  152. data/app/models/think_feel_do_engine/concerns/validate_password.rb +1 -0
  153. data/app/models/think_feel_do_engine/password_validator.rb +3 -1
  154. data/app/models/think_feel_do_engine/reports/emotional_rating.rb +1 -0
  155. data/app/models/think_feel_do_engine/reports/event.rb +3 -2
  156. data/app/models/think_feel_do_engine/reports/lesson_module.rb +4 -3
  157. data/app/models/think_feel_do_engine/reports/lesson_slide_view.rb +1 -0
  158. data/app/models/think_feel_do_engine/reports/lesson_viewing.rb +9 -8
  159. data/app/models/think_feel_do_engine/reports/login.rb +1 -0
  160. data/app/models/think_feel_do_engine/reports/messaging.rb +2 -1
  161. data/app/models/think_feel_do_engine/reports/module_page_view.rb +1 -0
  162. data/app/models/think_feel_do_engine/reports/module_session.rb +6 -5
  163. data/app/models/think_feel_do_engine/reports/patient_activity.rb +1 -0
  164. data/app/models/think_feel_do_engine/reports/patient_thought.rb +2 -1
  165. data/app/models/think_feel_do_engine/reports/phq_assessment.rb +1 -0
  166. data/app/models/think_feel_do_engine/reports/reporter.rb +2 -1
  167. data/app/models/think_feel_do_engine/reports/site_session.rb +1 -0
  168. data/app/models/think_feel_do_engine/reports/task_completion.rb +3 -2
  169. data/app/models/think_feel_do_engine/reports/tool_access.rb +1 -0
  170. data/app/models/think_feel_do_engine/reports/tool_module.rb +1 -0
  171. data/app/models/think_feel_do_engine/reports/user_agent.rb +1 -0
  172. data/app/models/think_feel_do_engine/reports/video_session.rb +1 -0
  173. data/app/models/think_feel_do_engine/reports/wai_assessment.rb +1 -0
  174. data/app/models/thought.rb +4 -2
  175. data/app/models/thought_pattern.rb +1 -0
  176. data/app/models/tool_nav_item.rb +2 -1
  177. data/app/models/tools/home.rb +1 -0
  178. data/app/models/tools/learn.rb +1 -0
  179. data/app/models/tools/messages.rb +1 -0
  180. data/app/models/tools/think.rb +1 -0
  181. data/app/models/unplanned_activities.rb +2 -2
  182. data/app/models/user.rb +1 -0
  183. data/app/models/user_role.rb +2 -1
  184. data/app/models/values/accomplishment.rb +1 -0
  185. data/app/models/values/emotional_rating.rb +1 -0
  186. data/app/models/values/mood.rb +1 -0
  187. data/app/models/values/pleasure.rb +1 -0
  188. data/app/models/wai_assessment.rb +4 -1
  189. data/app/presenters/think_feel_do_engine/harmful_thought_viz_presenter.rb +1 -0
  190. data/app/presenters/think_feel_do_engine/lesson_event/completion_data_presenter.rb +1 -0
  191. data/app/presenters/think_feel_do_engine/media_access_event_presenter.rb +1 -0
  192. data/app/support/mood_and_emotion_visualization_service.rb +22 -25
  193. data/lib/think_feel_do_engine/engine.rb +1 -0
  194. data/lib/think_feel_do_engine/version.rb +2 -1
  195. data/lib/think_feel_do_engine.rb +1 -0
  196. metadata +20 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e695923c18d7bbe38d48ca8692b714f28e630869
4
- data.tar.gz: 43a31f61ecdb2b90d2c2b6c3a2c025680fc42c00
3
+ metadata.gz: c3b3775063e21d489dcf856ddef6e179cd34e8c2
4
+ data.tar.gz: 2ea4750cceba7cd1786b7c3c795dd2f1aaa3201e
5
5
  SHA512:
6
- metadata.gz: 5d31f6ab1648f09f448e995bac2ba8b8e3685494c8ffb439be9cd4959f41bdbef581ceef83d80f9a92806ee5f0c4ad0ff32c9a3ec04455fea278484125e09e78
7
- data.tar.gz: 5241013386ba0456ba8bbd16359607334e185af804e6b84abe28729e97b454e29a18aef18a0e2fbb8bdef01e2357a3c97c800f6b08917b6a0a2d4078c12f8337
6
+ metadata.gz: 12a9befe18ff9028e706a304f6723ae0569f76fb6e1ab5987bc5cc9d309e52383888aebff8b0bea25f87698a784aa2c2ac44209084e0ea1b2981197bd4686226
7
+ data.tar.gz: dc32b56ca3eb64cf1184f73cd9330db7daf4ec4b3eb2e108ffadf3724e6064044403018a75949886a8ae10cc0bb02b0bbe08abff26597c342adcbc1efc963312
data/Rakefile CHANGED
@@ -15,8 +15,15 @@ load "#{git_tagger.gem_dir}/lib/tasks/deploy.rake"
15
15
  require "rspec/core"
16
16
  require "rspec/core/rake_task"
17
17
 
18
- desc "Run all specs in spec directory (excluding plugin specs)"
19
- RSpec::Core::RakeTask.new(:spec)
18
+ # Run all specs using transactional fixtures
19
+ RSpec::Core::RakeTask.new(:fixture_specs) do |t|
20
+ t.pattern = "spec/{models,controllers,helpers,mailers,presenters,requests,tasks,views}/{,/*/**}/*_spec.rb"
21
+ end
22
+
23
+ # Run all specs using Database Cleaner
24
+ RSpec::Core::RakeTask.new(:cleaner_specs) do |t|
25
+ t.pattern = "spec/{features}/{,/*/**}/*_spec.rb"
26
+ end
20
27
 
21
28
  desc "Run all JS specs"
22
29
  task :js_spec do
@@ -48,5 +55,6 @@ task :default do
48
55
  Rake::Task["jshint"].invoke
49
56
  Rake::Task["rubocop"].invoke
50
57
  Rake::Task["js_spec"].invoke
51
- Rake::Task["spec"].invoke
58
+ Rake::Task["fixture_specs"].invoke
59
+ Rake::Task["cleaner_specs"].invoke
52
60
  end
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link think_feel_do_engine/print.css
3
+ //= link application.js
@@ -122,6 +122,7 @@
122
122
  };
123
123
 
124
124
  this.handleSubmitClick = function(e) {
125
+ $("#submit_activities").prop('disabled', true);
125
126
  var shared_item_name;
126
127
 
127
128
  if($(".activity_shared_item_true")[0]) {
@@ -139,7 +140,7 @@
139
140
  if ($('.has-error').length === 0) {
140
141
  $forms.submit();
141
142
  }
142
-
143
+ $("#submit_activities").prop('disabled', false);
143
144
  return false;
144
145
  } else {
145
146
  return _.each($forms, function (form, index, list) {
@@ -162,7 +163,7 @@
162
163
  dataType: "script"
163
164
  });
164
165
  }
165
-
166
+ $("#submit_activities").prop('disabled', false);
166
167
  return false;
167
168
  });
168
169
  }
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "cancancan"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -62,12 +63,12 @@ module ThinkFeelDoEngine
62
63
  # Called by last route matching unmatched routes. Raises an exception that
63
64
  # is expected to be rescued.
64
65
  def raise_not_found!
65
- fail ActionController::RoutingError,
66
- "No route matches #{params[:unmatched_route]}"
66
+ raise ActionController::RoutingError,
67
+ "No route matches #{params[:unmatched_route]}"
67
68
  end
68
69
 
69
70
  def render_not_found(_)
70
- render file: "#{Rails.root}/public/404.html", status: 404
71
+ render file: "#{Rails.root}/public/404.html", status: 404
71
72
  end
72
73
 
73
74
  protected
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -5,7 +6,7 @@ module ThinkFeelDoEngine
5
6
  # Enables users to create, update, and delete modules
6
7
  # These modules contain providers that display content to the participants
7
8
  class ContentModulesController < ApplicationController
8
- ARM_NOT_FOUND_MESSAGE = "Unable to find that arm.".freeze
9
+ ARM_NOT_FOUND_MESSAGE = "Unable to find that arm."
9
10
  before_action :authenticate_user!, :set_arm, :set_tools
10
11
  before_action :set_content_module, only: [:show, :edit, :update, :destroy]
11
12
  load_and_authorize_resource only: [:show, :edit, :update, :destroy]
@@ -71,14 +72,14 @@ module ThinkFeelDoEngine
71
72
  BitCore::ContentModule.transaction do
72
73
  ids = @content_module.content_provider_ids
73
74
  ContentProviderPolicy.where(bit_core_content_provider_id: ids)
74
- .destroy_all
75
+ .destroy_all
75
76
 
76
77
  if tasks_destroyed
77
78
  @content_module.destroy!
78
79
 
79
80
  true
80
81
  else
81
- fail ActiveRecord::Rollback
82
+ raise ActiveRecord::Rollback
82
83
  end
83
84
  end
84
85
  rescue
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -81,7 +82,7 @@ module ThinkFeelDoEngine
81
82
  else
82
83
  redirect_to arm_bit_maker_content_providers_url(@arm),
83
84
  alert: "Unable to delete ContentProvider " +
84
- model_errors
85
+ model_errors
85
86
  end
86
87
  end
87
88
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -42,7 +43,8 @@ module ThinkFeelDoEngine
42
43
  position: FIRST_SLIDE_POSITION,
43
44
  title: "Table of Contents",
44
45
  is_title_visible: true,
45
- body: "")
46
+ body: ""
47
+ )
46
48
  authorize! :create, @slide
47
49
 
48
50
  if @slide.save
@@ -63,11 +65,11 @@ module ThinkFeelDoEngine
63
65
  toc_decrement_slide_pos(@slideshow)
64
66
  @slideshow.update(has_table_of_contents: false)
65
67
  flash[:success] = "Table of contents deleted."
66
- redirect_to arm_bit_maker_slideshow_path(@arm, @slide.slideshow)
67
68
  else
68
69
  flash[:error] = "There were errors."
69
- redirect_to arm_bit_maker_slideshow_path(@arm, @slide.slideshow)
70
70
  end
71
+
72
+ redirect_to arm_bit_maker_slideshow_path(@arm, @slide.slideshow)
71
73
  end
72
74
 
73
75
  def show
@@ -90,11 +92,11 @@ module ThinkFeelDoEngine
90
92
  def destroy
91
93
  if @slide.destroy
92
94
  flash[:success] = "Slide deleted."
93
- redirect_to arm_bit_maker_slideshow_path(@arm, @slide.slideshow)
94
95
  else
95
96
  flash[:error] = "There were errors."
96
- redirect_to arm_bit_maker_slideshow_path(@arm, @slide.slideshow)
97
97
  end
98
+
99
+ redirect_to arm_bit_maker_slideshow_path(@arm, @slide.slideshow)
98
100
  end
99
101
 
100
102
  def sort
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -51,8 +52,8 @@ module ThinkFeelDoEngine
51
52
 
52
53
  def anchor_params
53
54
  params.require(:slideshow_anchor)
54
- .permit(:target_name)
55
- .merge(bit_core_slideshow_id: @slideshow.id)
55
+ .permit(:target_name)
56
+ .merge(bit_core_slideshow_id: @slideshow.id)
56
57
  end
57
58
 
58
59
  def set_arm
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -13,10 +14,12 @@ module ThinkFeelDoEngine
13
14
  redirect_to coach_group_patient_dashboards_path(@group),
14
15
  notice: "Participant was successfully stepped."
15
16
  else
16
- redirect_to coach_group_patient_dashboards_path(@group),
17
- alert: @membership.errors.full_messages.join(", ") +
18
- "End date cannot be set prior to tomorrow's date. "\
19
- "Please use [Discontinue] or [Terminate Access]."
17
+ redirect_to(
18
+ coach_group_patient_dashboards_path(@group),
19
+ alert: @membership.errors.full_messages.join(", ") +
20
+ "End date cannot be set prior to tomorrow's date. "\
21
+ "Please use [Discontinue] or [Terminate Access]."
22
+ )
20
23
  end
21
24
  end
22
25
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -25,7 +26,7 @@ module ThinkFeelDoEngine
25
26
 
26
27
  @reply_recipient =
27
28
  current_user.participants
28
- .find(params[:recipient_id]) if params[:recipient_id]
29
+ .find(params[:recipient_id]) if params[:recipient_id]
29
30
 
30
31
  render(
31
32
  locals: {
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -28,7 +29,7 @@ module ThinkFeelDoEngine
28
29
  new_coach_group_message_path(
29
30
  @group,
30
31
  # This Message.class IS DeliveredMessage
31
- body: "#{received_message.body}",
32
+ body: received_message.body,
32
33
  message_id: received_message.id,
33
34
  recipient_id: received_message.message.sender_id,
34
35
  subject: "Reply: #{received_message.subject}"
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ThinkFeelDoEngine
2
3
  module Concerns
3
4
  # Methods for browser type detection.
@@ -8,18 +9,18 @@ module ThinkFeelDoEngine
8
9
 
9
10
  # See http://richonrails.com/articles/action-pack-variants-in-rails-4-1
10
11
  def detect_browser
11
- case request.user_agent
12
- when /iPad/i
13
- request.variant = :tablet
14
- when /iPhone|Windows Phone/i
15
- request.variant = :phone
16
- when /Android/i && /mobile/i
17
- request.variant = :phone
18
- when /Android/i
19
- request.variant = :tablet
20
- else
21
- request.variant = :desktop
22
- end
12
+ request.variant = case request.user_agent
13
+ when /iPad/i
14
+ :tablet
15
+ when /iPhone|Windows Phone/i
16
+ :phone
17
+ when /Android/i && /mobile/i
18
+ :phone
19
+ when /Android/i
20
+ :tablet
21
+ else
22
+ :desktop
23
+ end
23
24
  end
24
25
  end
25
26
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ThinkFeelDoEngine
2
3
  module Concerns
3
4
  # Rescues exception when authenticity token has expired
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "bit_player"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -60,11 +61,11 @@ module ThinkFeelDoEngine
60
61
  authorize! :update, ContentModules::LessonModule
61
62
  if @lesson.sort(params[:slide])
62
63
  flash.now[:success] = "Reorder was successful."
63
- render nothing: true
64
64
  else
65
65
  flash.now[:alert] = @lesson.errors.full_messages.join(", ")
66
- render nothing: true
67
66
  end
67
+
68
+ render nothing: true
68
69
  end
69
70
 
70
71
  private
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -11,7 +12,7 @@ module ThinkFeelDoEngine
11
12
  def index
12
13
  authorize! :index, ContentModules::LessonModule
13
14
  @lessons = @lessons.includes(content_providers: :source_content)
14
- .order(:position)
15
+ .order(:position)
15
16
  end
16
17
 
17
18
  def all_content
@@ -87,11 +88,11 @@ module ThinkFeelDoEngine
87
88
 
88
89
  if ContentModules::LessonModule.sort(@arm.id, params[:lesson])
89
90
  flash.now[:success] = "Reorder was successful."
90
- render nothing: true
91
91
  else
92
92
  flash.now[:alert] = "Error while sorting."
93
- render nothing: true
94
93
  end
94
+
95
+ render nothing: true
95
96
  end
96
97
 
97
98
  private
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -14,8 +15,8 @@ module ThinkFeelDoEngine
14
15
 
15
16
  def edit_tasks
16
17
  @group = @arm.groups
17
- .includes(tasks: { bit_core_content_module: :tool })
18
- .find(params[:id])
18
+ .includes(tasks: { bit_core_content_module: :tool })
19
+ .find(params[:id])
19
20
  authorize! :update, @group
20
21
  @task = current_user.tasks.build
21
22
  @content_modules = BitCore::ContentModule
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "devise"
2
3
  require_dependency "think_feel_do_engine/application_controller"
3
4
 
@@ -47,7 +48,8 @@ module ThinkFeelDoEngine
47
48
  module_id: @navigator.current_module.try(:id),
48
49
  provider_id: @navigator.current_content_provider
49
50
  .try(:id),
50
- content_position: @navigator.content_position)
51
+ content_position: @navigator.content_position
52
+ )
51
53
  else
52
54
  next_content_not_found
53
55
  end
@@ -122,7 +124,8 @@ module ThinkFeelDoEngine
122
124
  def mark_engagement_completed
123
125
  if navigator_content_module && last_engagement &&
124
126
  !@navigator.current_content_provider.exists?(
125
- @navigator.content_position + 1)
127
+ @navigator.content_position + 1
128
+ )
126
129
  last_engagement.update_attributes(completed_at: DateTime.current)
127
130
  end
128
131
  end
@@ -151,8 +154,8 @@ module ThinkFeelDoEngine
151
154
 
152
155
  def home_tool
153
156
  current_participant.current_group
154
- .arm
155
- .bit_core_tools.find_by_type("Tools::Home")
157
+ .arm
158
+ .bit_core_tools.find_by_type("Tools::Home")
156
159
  end
157
160
 
158
161
  def next_content_not_found
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -54,7 +55,7 @@ module ThinkFeelDoEngine
54
55
 
55
56
  def singular_association
56
57
  unless provider.data_class_name
57
- fail "Sorry, unable to process your request. Please try again."
58
+ raise "Sorry, unable to process your request. Please try again."
58
59
  end
59
60
 
60
61
  @singular_association ||= provider.data_class_name.underscore
@@ -78,7 +79,7 @@ module ThinkFeelDoEngine
78
79
  render template: "think_feel_do_engine/navigator/show_content"
79
80
  end
80
81
  format.js { render status: 400 }
81
- format.json { render json: { status: "error" } }
82
+ format.json { render json: { status: "error" } }
82
83
  end
83
84
  end
84
85
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -17,14 +18,12 @@ module ThinkFeelDoEngine
17
18
  def update
18
19
  if @activity.update_as_reviewed(activity_params_for_update)
19
20
  flash[:notice] = "Activity updated."
20
- respond_to do |format|
21
- format.js { render inline: "Turbolinks.visit(window.location);" }
22
- end
23
21
  else
24
22
  flash[:alert] = @activity.errors.full_messages.join(", ")
25
- respond_to do |format|
26
- format.js { render inline: "Turbolinks.visit(window.location);" }
27
- end
23
+ end
24
+
25
+ respond_to do |format|
26
+ format.js { render inline: "Turbolinks.visit(window.location);" }
28
27
  end
29
28
  end
30
29
 
@@ -37,11 +36,9 @@ module ThinkFeelDoEngine
37
36
 
38
37
  def activity_params
39
38
  params.require(:activities)
40
- .permit(activity_id => [
41
- :actual_pleasure_intensity,
42
- :actual_accomplishment_intensity
43
- ])
44
- .fetch(activity_id)
39
+ .permit(activity_id => [:actual_pleasure_intensity,
40
+ :actual_accomplishment_intensity])
41
+ .fetch(activity_id)
45
42
  end
46
43
  # ...
47
44
 
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
4
5
  module Participants
5
6
  # Authorizes and manages Assessment administration.
6
7
  class AssessmentsController < ApplicationController
7
- ASSESSMENT_TYPES = { phq9: PhqAssessment, wai: WaiAssessment }
8
+ ASSESSMENT_TYPES = { phq9: PhqAssessment, wai: WaiAssessment }.freeze
8
9
 
9
10
  before_action :authorize_token
10
11
 
@@ -77,8 +78,8 @@ module ThinkFeelDoEngine
77
78
  def available_token
78
79
  @available_token ||= @token.others_on_this_day.to_a.find do |token|
79
80
  !assessment_class(token.token_type)
80
- .exists?(participant_id: token.participant_id,
81
- release_date: token.release_date)
81
+ .exists?(participant_id: token.participant_id,
82
+ release_date: token.release_date)
82
83
  end
83
84
  end
84
85
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -35,9 +36,8 @@ module ThinkFeelDoEngine
35
36
 
36
37
  def media_access_event_params
37
38
  params.require(:media_access_event)
38
- .permit([
39
- :media_type, :bit_core_slide_id, :media_link, :end_time, :id
40
- ])
39
+ .permit([:media_type, :bit_core_slide_id, :media_link, :end_time,
40
+ :id])
41
41
  end
42
42
  end
43
43
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ThinkFeelDoEngine
2
3
  module Participants
3
4
  # Customize Participant password actions.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -8,8 +9,8 @@ module ThinkFeelDoEngine
8
9
  @slideshow = BitCore::Slideshow.find(params[:slideshow_id])
9
10
  @slide = @slideshow.slides.find(params[:id])
10
11
 
11
- rescue ActiveRecord::RecordNotFound => e
12
- redirect_to new_participant_session_path, alert: e.message
12
+ rescue ActiveRecord::RecordNotFound => e
13
+ redirect_to new_participant_session_path, alert: e.message
13
14
  end
14
15
  end
15
16
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ThinkFeelDoEngine
2
3
  module Participants
3
4
  # Extends the Devise controller to record logins.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -19,11 +20,9 @@ module ThinkFeelDoEngine
19
20
 
20
21
  def thought_params
21
22
  params.require(:thoughts)
22
- .permit(thought_id => [
23
- :content, :effect, :pattern_id,
24
- :challenging_thought, :act_as_if
25
- ])
26
- .fetch(thought_id)
23
+ .permit(thought_id => [:content, :effect, :pattern_id,
24
+ :challenging_thought, :act_as_if])
25
+ .fetch(thought_id)
27
26
  end
28
27
  end
29
28
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_dependency "think_feel_do_engine/application_controller"
2
3
 
3
4
  module ThinkFeelDoEngine
@@ -7,7 +8,8 @@ module ThinkFeelDoEngine
7
8
  validator = PasswordValidator
8
9
  .new(
9
10
  password: params[:password],
10
- password_token: params[:reset_password_token])
11
+ password_token: params[:reset_password_token]
12
+ )
11
13
  render json: { bits: validator.entropy_value }
12
14
  end
13
15
  end