think_feel_do_engine 3.17.2 → 3.18.0
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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/app/controllers/think_feel_do_engine/navigator_controller.rb +6 -4
- data/app/models/concerns/copier.rb +43 -24
- data/app/models/emotion.rb +1 -0
- data/app/models/group.rb +13 -8
- data/app/models/participant.rb +4 -2
- data/app/models/think_feel_do_engine/reports/emotional_rating.rb +1 -1
- data/app/models/think_feel_do_engine/reports/event.rb +2 -1
- data/app/models/think_feel_do_engine/reports/lesson_slide_view.rb +1 -1
- data/app/models/think_feel_do_engine/reports/lesson_viewing.rb +2 -2
- data/app/models/think_feel_do_engine/reports/login.rb +1 -1
- data/app/models/think_feel_do_engine/reports/module_page_view.rb +1 -1
- data/app/models/think_feel_do_engine/reports/module_session.rb +1 -1
- data/app/models/think_feel_do_engine/reports/patient_activity.rb +1 -1
- data/app/models/think_feel_do_engine/reports/patient_thought.rb +2 -1
- data/app/models/think_feel_do_engine/reports/phq_assessment.rb +1 -1
- data/app/models/think_feel_do_engine/reports/site_session.rb +1 -1
- data/app/models/think_feel_do_engine/reports/task_completion.rb +1 -1
- data/app/models/think_feel_do_engine/reports/tool_access.rb +1 -1
- data/app/models/think_feel_do_engine/reports/user_agent.rb +1 -1
- data/app/models/think_feel_do_engine/reports/video_session.rb +1 -1
- data/app/models/think_feel_do_engine/reports/wai_assessment.rb +1 -1
- data/app/views/think_feel_do_engine/coach/group_dashboard/_activities_future.html.erb +1 -1
- data/app/views/think_feel_do_engine/coach/group_dashboard/_activities_past.html.erb +1 -1
- data/app/views/think_feel_do_engine/coach/group_dashboard/_comments.html.erb +1 -1
- data/app/views/think_feel_do_engine/coach/group_dashboard/_goals.html.erb +1 -1
- data/app/views/think_feel_do_engine/coach/group_dashboard/_likes.html.erb +1 -1
- data/app/views/think_feel_do_engine/coach/group_dashboard/_logins.html.erb +1 -1
- data/app/views/think_feel_do_engine/coach/group_dashboard/_thoughts.html.erb +1 -1
- data/app/views/think_feel_do_engine/emotions/_form.html.erb +1 -1
- data/lib/think_feel_do_engine/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 248328db1d28d096496e611d71c7d38ca0973c7c
|
4
|
+
data.tar.gz: bab9c20b14380eb6a3fdf3ac120ba369b591025e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09d990df0b6015ef3e3c5d7061eff9c0d901f99d43bdd210975fcd4d480f342aa43ac9e9b828faf38894070334f8956f12b392882eec1a0ec9823531d6ca1b28
|
7
|
+
data.tar.gz: 1c3c09c80590ccf1966a11f4ab71b2894fcb1922176bf8bbc797c2d08de6da410608546984e2cea89ca7247fd0c6d8827afa511680db1b0c984b32506863b80d
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Think Feel Do Engine
|
2
2
|
|
3
|
-
[](https://travis-ci.org/NU-CBITS/think_feel_do_engine)
|
4
|
+
[](https://hakiri.io/github/NU-CBITS/think_feel_do_engine/master)
|
5
5
|
|
6
6
|
Provides the tools and administrative interface for Think Feel Do.
|
7
7
|
|
@@ -81,7 +81,7 @@ module ThinkFeelDoEngine
|
|
81
81
|
|
82
82
|
private
|
83
83
|
|
84
|
-
def
|
84
|
+
def last_engagement
|
85
85
|
current_participant
|
86
86
|
.active_membership
|
87
87
|
.task_statuses
|
@@ -116,12 +116,14 @@ module ThinkFeelDoEngine
|
|
116
116
|
.order(:position)
|
117
117
|
.first
|
118
118
|
provider_id == first_content_provider.id.to_s &&
|
119
|
-
content_id == FIRST_CONTENT_POSITION
|
119
|
+
content_id == FIRST_CONTENT_POSITION.to_s
|
120
120
|
end
|
121
121
|
|
122
122
|
def mark_engagement_completed
|
123
|
-
if navigator_content_module &&
|
124
|
-
|
123
|
+
if navigator_content_module && last_engagement &&
|
124
|
+
!@navigator.current_content_provider.exists?(
|
125
|
+
@navigator.content_position + 1)
|
126
|
+
last_engagement.update_attributes(completed_at: DateTime.current)
|
125
127
|
end
|
126
128
|
end
|
127
129
|
|
@@ -3,10 +3,26 @@ module Concerns
|
|
3
3
|
# Copies lesson content from one arm's learning tool
|
4
4
|
# (i.e., LEARN tool) to another arm's learning tool
|
5
5
|
module Copier
|
6
|
-
|
6
|
+
LESSON_MODULE = ContentModules::LessonModule.to_s
|
7
|
+
LEARN_TOOL = Tools::Learn.to_s
|
7
8
|
TOOL_TITLE = "LEARN"
|
8
9
|
|
9
10
|
Arm.class_eval do
|
11
|
+
def copy_all_to(new_arm)
|
12
|
+
new_tools = new_arm.bit_core_tools
|
13
|
+
|
14
|
+
bit_core_tools.each do |tool|
|
15
|
+
new_tool = new_tools
|
16
|
+
.create!(
|
17
|
+
position: new_tools.count,
|
18
|
+
title: tool.title,
|
19
|
+
type: tool.type)
|
20
|
+
|
21
|
+
tool.copy_all_to(
|
22
|
+
new_tool: new_tool)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
10
26
|
def copy_lessons_to(new_arm)
|
11
27
|
new_tools = new_arm.bit_core_tools
|
12
28
|
new_tool = new_tools.find_by(type: LEARN_TOOL) ||
|
@@ -20,7 +36,6 @@ module Concerns
|
|
20
36
|
bit_core_tools
|
21
37
|
.find_by(type: LEARN_TOOL)
|
22
38
|
.copy_content_modules_to(
|
23
|
-
new_arm: new_arm,
|
24
39
|
new_tool: new_tool)
|
25
40
|
end
|
26
41
|
end
|
@@ -29,13 +44,19 @@ module Concerns
|
|
29
44
|
# rubocop:disable ClassAndModuleChildren
|
30
45
|
module ::BitCore
|
31
46
|
Tool.class_eval do
|
32
|
-
|
47
|
+
def copy_all_to(new_tool:)
|
48
|
+
ContentModule.transaction do
|
49
|
+
content_modules.each do |content_module|
|
50
|
+
content_module.copy_content_providers_to(
|
51
|
+
new_tool: new_tool)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
33
55
|
|
34
|
-
def copy_content_modules_to(
|
56
|
+
def copy_content_modules_to(new_tool:)
|
35
57
|
ContentModule.transaction do
|
36
58
|
content_modules.where(type: LESSON_MODULE).each do |content_module|
|
37
59
|
content_module.copy_content_providers_to(
|
38
|
-
new_arm: new_arm,
|
39
60
|
new_tool: new_tool)
|
40
61
|
end
|
41
62
|
end
|
@@ -43,7 +64,7 @@ module Concerns
|
|
43
64
|
end
|
44
65
|
|
45
66
|
ContentModule.class_eval do
|
46
|
-
def copy_content_providers_to(
|
67
|
+
def copy_content_providers_to(new_tool:)
|
47
68
|
ContentModule.transaction do
|
48
69
|
new_content_module =
|
49
70
|
ContentModule.create!(
|
@@ -57,7 +78,7 @@ module Concerns
|
|
57
78
|
content_providers.each do |content_provider|
|
58
79
|
content_provider
|
59
80
|
.copy_source_content_to!(
|
60
|
-
new_arm:
|
81
|
+
new_arm: new_tool.arm,
|
61
82
|
new_content_module: new_content_module)
|
62
83
|
end
|
63
84
|
|
@@ -69,14 +90,12 @@ module Concerns
|
|
69
90
|
ContentProvider.class_eval do
|
70
91
|
def copy_source_content_to!(new_arm:, new_content_module:)
|
71
92
|
ContentProvider.transaction do
|
72
|
-
# rubocop:disable DoubleNegation
|
73
93
|
ContentProvider.create!(
|
74
94
|
content_module: new_content_module,
|
75
95
|
position: position,
|
76
|
-
show_next_nav:
|
96
|
+
show_next_nav: show_next_nav,
|
77
97
|
type: type,
|
78
98
|
source_content: source_content.try(:copy_to, new_arm))
|
79
|
-
# rubocop:enable DoubleNegation
|
80
99
|
end
|
81
100
|
end
|
82
101
|
end
|
@@ -84,35 +103,35 @@ module Concerns
|
|
84
103
|
Slideshow.class_eval do
|
85
104
|
def copy_to(new_arm)
|
86
105
|
Slideshow.transaction do
|
87
|
-
slideshow = Slideshow
|
88
|
-
|
89
|
-
copy_slides_to
|
90
|
-
|
91
|
-
slideshow
|
106
|
+
slideshow = Slideshow
|
107
|
+
.find_or_create_by!(arm_id: new_arm.id, title: title)
|
108
|
+
copy_slides_to(slideshow)
|
92
109
|
end
|
93
110
|
end
|
94
111
|
|
95
112
|
private
|
96
113
|
|
97
|
-
def copy_slides_to
|
114
|
+
def copy_slides_to(slideshow)
|
98
115
|
Slide.transaction do
|
99
116
|
slides.each do |slide|
|
100
117
|
slide.copy_to!(slideshow)
|
101
118
|
end
|
102
119
|
end
|
120
|
+
|
121
|
+
slideshow
|
103
122
|
end
|
104
123
|
end
|
105
124
|
|
106
125
|
Slide.class_eval do
|
107
126
|
def copy_to!(slideshow)
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
127
|
+
slideshow.slides
|
128
|
+
.find_or_create_by!(
|
129
|
+
body: body,
|
130
|
+
is_title_visible: is_title_visible,
|
131
|
+
position: position,
|
132
|
+
title: title,
|
133
|
+
type: type)
|
134
|
+
.update_attributes!(options: options)
|
116
135
|
end
|
117
136
|
end
|
118
137
|
end
|
data/app/models/emotion.rb
CHANGED
data/app/models/group.rb
CHANGED
@@ -29,7 +29,7 @@ class Group < ActiveRecord::Base
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def logins_by_week(week_number)
|
32
|
-
|
32
|
+
non_moderator_memberships.map do |membership|
|
33
33
|
membership
|
34
34
|
.logins_by_week(week_number)
|
35
35
|
end.inject(:+)
|
@@ -38,7 +38,7 @@ class Group < ActiveRecord::Base
|
|
38
38
|
def thoughts_by_week(week_number)
|
39
39
|
thoughts = Arel::Table.new(:thoughts)
|
40
40
|
|
41
|
-
|
41
|
+
non_moderator_memberships.map do |membership|
|
42
42
|
membership
|
43
43
|
.participant
|
44
44
|
.thoughts
|
@@ -52,7 +52,7 @@ class Group < ActiveRecord::Base
|
|
52
52
|
def activities_past_by_week(week_number)
|
53
53
|
activities = Arel::Table.new(:activities)
|
54
54
|
|
55
|
-
|
55
|
+
non_moderator_memberships.map do |membership|
|
56
56
|
membership
|
57
57
|
.participant
|
58
58
|
.activities
|
@@ -65,7 +65,7 @@ class Group < ActiveRecord::Base
|
|
65
65
|
def activities_future_by_week(week_number)
|
66
66
|
activities = Arel::Table.new(:activities)
|
67
67
|
|
68
|
-
|
68
|
+
non_moderator_memberships.map do |membership|
|
69
69
|
membership
|
70
70
|
.participant
|
71
71
|
.activities
|
@@ -78,7 +78,7 @@ class Group < ActiveRecord::Base
|
|
78
78
|
def goals_by_week(week_number)
|
79
79
|
social_networking_goals = Arel::Table.new(:social_networking_goals)
|
80
80
|
|
81
|
-
|
81
|
+
non_moderator_memberships.map do |membership|
|
82
82
|
SocialNetworking::Goal
|
83
83
|
.where(participant: membership.participant)
|
84
84
|
.where(social_networking_goals[:created_at]
|
@@ -91,7 +91,7 @@ class Group < ActiveRecord::Base
|
|
91
91
|
def comments_by_week(week_number)
|
92
92
|
social_networking_comments = Arel::Table.new(:social_networking_comments)
|
93
93
|
|
94
|
-
|
94
|
+
non_moderator_memberships.map do |membership|
|
95
95
|
SocialNetworking::Comment
|
96
96
|
.where(participant: membership.participant)
|
97
97
|
.where(social_networking_comments[:created_at]
|
@@ -105,7 +105,7 @@ class Group < ActiveRecord::Base
|
|
105
105
|
social_networking_on_the_mind_statements =
|
106
106
|
Arel::Table.new(:social_networking_on_the_mind_statements)
|
107
107
|
|
108
|
-
|
108
|
+
non_moderator_memberships.map do |membership|
|
109
109
|
SocialNetworking::OnTheMindStatement
|
110
110
|
.where(participant: membership.participant)
|
111
111
|
.where(social_networking_on_the_mind_statements[:created_at]
|
@@ -119,7 +119,7 @@ class Group < ActiveRecord::Base
|
|
119
119
|
social_networking_likes =
|
120
120
|
Arel::Table.new(:social_networking_likes)
|
121
121
|
|
122
|
-
|
122
|
+
non_moderator_memberships.map do |membership|
|
123
123
|
SocialNetworking::Like
|
124
124
|
.where(participant: membership.participant)
|
125
125
|
.where(social_networking_likes[:created_at]
|
@@ -128,4 +128,9 @@ class Group < ActiveRecord::Base
|
|
128
128
|
.lt(membership.week_end_day(week_number)))
|
129
129
|
end.map(&:count).sum
|
130
130
|
end
|
131
|
+
|
132
|
+
def non_moderator_memberships
|
133
|
+
memberships.joins(:participant)
|
134
|
+
.merge(Participant.not_moderator)
|
135
|
+
end
|
131
136
|
end
|
data/app/models/participant.rb
CHANGED
@@ -61,8 +61,6 @@ class Participant < ActiveRecord::Base
|
|
61
61
|
-> { where(kind: "click") },
|
62
62
|
class_name: "EventCapture::Event",
|
63
63
|
foreign_key: :participant_id
|
64
|
-
has_many :experiences, dependent: :destroy
|
65
|
-
has_many :gratitude_recordings, dependent: :destroy
|
66
64
|
|
67
65
|
delegate :end_date, to: :active_membership, prefix: true, allow_nil: true
|
68
66
|
|
@@ -92,6 +90,10 @@ class Participant < ActiveRecord::Base
|
|
92
90
|
)
|
93
91
|
}
|
94
92
|
|
93
|
+
scope :not_moderator, lambda {
|
94
|
+
where(is_admin: false)
|
95
|
+
}
|
96
|
+
|
95
97
|
def is_not_allowed_in_site
|
96
98
|
# participant not set to is_complete (hence withdrawal or termination)
|
97
99
|
# and who have no active memberships
|
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.all
|
10
|
-
Participant.select(:id, :study_id).map do |participant|
|
10
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
11
11
|
participant.emotional_ratings.map do |emotional_rating|
|
12
12
|
{
|
13
13
|
participant_id: participant.study_id,
|
@@ -8,7 +8,8 @@ module ThinkFeelDoEngine
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.all
|
11
|
-
Participant.
|
11
|
+
Participant.not_moderator
|
12
|
+
.select(:id, :study_id, :is_admin).map do |participant|
|
12
13
|
EventCapture::Event.where(participant_id: participant.id)
|
13
14
|
.map do |event|
|
14
15
|
{
|
@@ -38,7 +38,7 @@ module ThinkFeelDoEngine
|
|
38
38
|
def self.all_slide_interactions
|
39
39
|
lessons = lessons_map
|
40
40
|
|
41
|
-
Participant.select(:id, :study_id).map do |participant|
|
41
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
42
42
|
slide_view_events(lessons, participant.id).map do |lesson_event|
|
43
43
|
e = lesson_event[1]
|
44
44
|
lesson_id = lesson_event[0]
|
@@ -12,14 +12,14 @@ module ThinkFeelDoEngine
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.participant_ids(ids)
|
15
|
-
ids.empty? ? Participant.ids : ids
|
15
|
+
ids.empty? ? Participant.not_moderator.ids : ids
|
16
16
|
end
|
17
17
|
|
18
18
|
def self.all(*ids)
|
19
19
|
lessons = lesson_entries_map
|
20
20
|
lessons_default = lessons_with_default_urls
|
21
21
|
|
22
|
-
Participant.select(:id, :study_id)
|
22
|
+
Participant.not_moderator.select(:id, :study_id)
|
23
23
|
.where(id: participant_ids(ids)).map do |participant|
|
24
24
|
lesson_select_events =
|
25
25
|
EventCapture::Event
|
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.all
|
10
|
-
Participant.select(:id, :study_id).map do |participant|
|
10
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
11
11
|
ParticipantLoginEvent
|
12
12
|
.where(participant_id: participant.id).map do |event|
|
13
13
|
{
|
@@ -12,7 +12,7 @@ module ThinkFeelDoEngine
|
|
12
12
|
def self.all
|
13
13
|
modules = modules_map
|
14
14
|
|
15
|
-
Participant.select(:id, :study_id).map do |participant|
|
15
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
16
16
|
slide_render_events_for(participant, modules).map do |module_event|
|
17
17
|
e = module_event[1]
|
18
18
|
mod = module_event[0]
|
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.all
|
10
|
-
Participant.select(:id, :study_id).map do |participant|
|
10
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
11
11
|
participant.activities.map do |activity|
|
12
12
|
{
|
13
13
|
participant_id: participant.study_id,
|
@@ -7,7 +7,8 @@ module ThinkFeelDoEngine
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.all
|
10
|
-
Participant.
|
10
|
+
Participant.not_moderator
|
11
|
+
.select(:id, :study_id).map.map do |participant|
|
11
12
|
participant.thoughts.map do |thought|
|
12
13
|
{
|
13
14
|
participant_id: participant.study_id,
|
@@ -8,7 +8,7 @@ module ThinkFeelDoEngine
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.all
|
11
|
-
Participant.select(:id, :study_id).map do |participant|
|
11
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
12
12
|
participant.phq_assessments.map do |assessment|
|
13
13
|
{
|
14
14
|
participant_id: participant.study_id,
|
@@ -9,7 +9,7 @@ module ThinkFeelDoEngine
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.all
|
12
|
-
Participant.select(:id, :study_id).map do |participant|
|
12
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
13
13
|
earliest_click_time = latest_click_time = nil
|
14
14
|
times = click_times(participant.id)
|
15
15
|
times.map do |click_time|
|
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.all
|
10
|
-
Participant.select(:id, :study_id).map do |participant|
|
10
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
11
11
|
tool_access_events(participant).map do |tool_access|
|
12
12
|
{
|
13
13
|
participant_id: participant.study_id,
|
@@ -9,7 +9,7 @@ module ThinkFeelDoEngine
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.all
|
12
|
-
Participant.select(:id, :study_id).map do |participant|
|
12
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
13
13
|
user_agents = EventCapture::Event
|
14
14
|
.where(participant_id: participant.id)
|
15
15
|
.map { |event| event.payload[:ua] }
|
@@ -8,7 +8,7 @@ module ThinkFeelDoEngine
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.all
|
11
|
-
Participant.select(:id, :study_id).map do |participant|
|
11
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
12
12
|
video_play_events(participant.id).map do |e|
|
13
13
|
m = e.current_url.match(/.*\/providers\/(\d+)\/(\d+)$/)
|
14
14
|
provider_id = m ? m[1] : -1
|
@@ -8,7 +8,7 @@ module ThinkFeelDoEngine
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.all
|
11
|
-
Participant.select(:id, :study_id).map do |participant|
|
11
|
+
Participant.not_moderator.select(:id, :study_id).map do |participant|
|
12
12
|
participant.wai_assessments.map do |assessment|
|
13
13
|
{
|
14
14
|
participant_id: participant.study_id,
|
@@ -26,7 +26,7 @@
|
|
26
26
|
</thead>
|
27
27
|
<tbody>
|
28
28
|
|
29
|
-
<% group.
|
29
|
+
<% group.non_moderator_memberships.each do |membership| %>
|
30
30
|
<% membership.participant.activities.unscheduled_or_in_the_future.each do |activity| %>
|
31
31
|
<tr>
|
32
32
|
<td class="not-displayed">
|
@@ -23,7 +23,7 @@
|
|
23
23
|
</thead>
|
24
24
|
<tbody>
|
25
25
|
|
26
|
-
<% group.
|
26
|
+
<% group.non_moderator_memberships.includes(:participant).each do |membership| %>
|
27
27
|
<% membership_likes(membership).each do |like| %>
|
28
28
|
<tr>
|
29
29
|
<td class="not-displayed">
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<th>week <%= current_week %></th>
|
12
12
|
<% end %>
|
13
13
|
</tr>
|
14
|
-
<% group.
|
14
|
+
<% group.non_moderator_memberships.each do | membership | %>
|
15
15
|
<tr>
|
16
16
|
<td><%= membership.participant.display_name %></td>
|
17
17
|
<% (1..study_length_in_weeks).each do |current_week| %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
</div>
|
7
7
|
<div class="emotion-name-group form-group written-option">
|
8
8
|
<%= f.label :name, "Emotion" %>
|
9
|
-
<input class="form-control" id="emotional_rating_name" name="emotional_rating[name]" type="text">
|
9
|
+
<input class="form-control" id="emotional_rating_name" name="emotional_rating[name]" type="text", maxlength: 255 >
|
10
10
|
</div>
|
11
11
|
<div class="form-group">
|
12
12
|
<%= f.label("Emotion Type") %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: think_feel_do_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Carty-Fickes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -955,7 +955,7 @@ files:
|
|
955
955
|
- vendor/assets/stylesheets/bootstrap-timepicker.min.css
|
956
956
|
- vendor/assets/stylesheets/jplayer.blue.monday.css.scss
|
957
957
|
- vendor/assets/stylesheets/snap.css.scss
|
958
|
-
homepage: https://github.com/
|
958
|
+
homepage: https://github.com/NU-CBITS/think_feel_do_engine
|
959
959
|
licenses:
|
960
960
|
- MIT
|
961
961
|
metadata: {}
|