think_feel_do_engine 3.12.4 → 3.12.5
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c424bf129d83b553ad5026cdcc2dcffef8661b9
|
4
|
+
data.tar.gz: f908680e54c34dd2cf8889196ae5250200b4810e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: daffa05c180b0cd7f4f9b8addb0fe8bdbae3c29cb63454ee8930aa79b8e7aef544843ed826a3cfed69d13e39aa15d9f9856e10910d6d3fc2d1c6ad249d0479d2
|
7
|
+
data.tar.gz: 272318ee0392c0d501cabfccb50454f0a22e26b154927bd8915cd014cf8b7c11f709f7669143dfdf464eb1ca654dda387979fe4e680b6402ad59f9108e07bedf
|
@@ -2,7 +2,10 @@ module ThinkFeelDoEngine
|
|
2
2
|
# Mailer for SiteMessage delivery.
|
3
3
|
class SiteMessageMailer < ActionMailer::Base
|
4
4
|
def general(message)
|
5
|
-
|
5
|
+
markdown = Redcarpet::Markdown.new(
|
6
|
+
Redcarpet::Render::HTML,
|
7
|
+
space_after_headers: true)
|
8
|
+
@body = markdown.render(message.body)
|
6
9
|
|
7
10
|
mail to: message.participant.email,
|
8
11
|
subject: message.subject
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Concerns
|
3
|
+
# Copies lesson content from one arm's learning tool
|
4
|
+
# (i.e., LEARN tool) to another arm's learning tool
|
5
|
+
module Copier
|
6
|
+
LEARN_TOOL = "Tools::Learn"
|
7
|
+
TOOL_TITLE = "LEARN"
|
8
|
+
|
9
|
+
Arm.class_eval do
|
10
|
+
def copy_lessons_to(new_arm)
|
11
|
+
new_tools = new_arm.bit_core_tools
|
12
|
+
new_tool = new_tools.find_by(type: LEARN_TOOL) ||
|
13
|
+
new_tools.create!(
|
14
|
+
position: new_tools.count,
|
15
|
+
title: TOOL_TITLE,
|
16
|
+
type: LEARN_TOOL)
|
17
|
+
|
18
|
+
return unless new_tool
|
19
|
+
|
20
|
+
bit_core_tools
|
21
|
+
.find_by(type: LEARN_TOOL)
|
22
|
+
.copy_content_modules_to(
|
23
|
+
new_arm: new_arm,
|
24
|
+
new_tool: new_tool)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# Extend BitCore classes
|
29
|
+
# rubocop:disable ClassAndModuleChildren
|
30
|
+
module ::BitCore
|
31
|
+
Tool.class_eval do
|
32
|
+
LESSON_MODULE = "ContentModules::LessonModule"
|
33
|
+
|
34
|
+
def copy_content_modules_to(new_arm:, new_tool:)
|
35
|
+
ContentModule.transaction do
|
36
|
+
content_modules.where(type: LESSON_MODULE).each do |content_module|
|
37
|
+
content_module.copy_content_providers_to(
|
38
|
+
new_arm: new_arm,
|
39
|
+
new_tool: new_tool)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
ContentModule.class_eval do
|
46
|
+
def copy_content_providers_to(new_arm:, new_tool:)
|
47
|
+
ContentModule.transaction do
|
48
|
+
new_content_module =
|
49
|
+
ContentModule.create!(
|
50
|
+
position: position,
|
51
|
+
title: title,
|
52
|
+
tool: new_tool,
|
53
|
+
type: type)
|
54
|
+
|
55
|
+
new_content_module.content_providers.destroy_all
|
56
|
+
|
57
|
+
content_providers.each do |content_provider|
|
58
|
+
content_provider
|
59
|
+
.copy_source_content_to!(
|
60
|
+
new_arm: new_arm,
|
61
|
+
new_content_module: new_content_module)
|
62
|
+
end
|
63
|
+
|
64
|
+
new_content_module
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
ContentProvider.class_eval do
|
70
|
+
def copy_source_content_to!(new_arm:, new_content_module:)
|
71
|
+
ContentProvider.transaction do
|
72
|
+
# rubocop:disable DoubleNegation
|
73
|
+
ContentProvider.create!(
|
74
|
+
content_module: new_content_module,
|
75
|
+
position: position,
|
76
|
+
show_next_nav: !!show_next_nav,
|
77
|
+
type: type,
|
78
|
+
source_content: source_content.try(:copy_to, new_arm))
|
79
|
+
# rubocop:enable DoubleNegation
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
Slideshow.class_eval do
|
85
|
+
def copy_to(new_arm)
|
86
|
+
Slideshow.transaction do
|
87
|
+
slideshow = Slideshow.create!(arm: new_arm, title: title)
|
88
|
+
|
89
|
+
copy_slides_to!(slideshow)
|
90
|
+
|
91
|
+
slideshow
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
private
|
96
|
+
|
97
|
+
def copy_slides_to!(slideshow)
|
98
|
+
Slide.transaction do
|
99
|
+
slides.each do |slide|
|
100
|
+
slide.copy_to!(slideshow)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
Slide.class_eval do
|
107
|
+
def copy_to!(slideshow)
|
108
|
+
Slide.create!(
|
109
|
+
body: body,
|
110
|
+
is_title_visible: is_title_visible,
|
111
|
+
options: options,
|
112
|
+
position: position,
|
113
|
+
slideshow: slideshow,
|
114
|
+
title: title,
|
115
|
+
type: type)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
# rubocop:enable ClassAndModuleChildren
|
120
|
+
end
|
121
|
+
end
|
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.12.
|
4
|
+
version: 3.12.5
|
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-03-
|
11
|
+
date: 2016-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -445,6 +445,7 @@ files:
|
|
445
445
|
- app/models/awake_period.rb
|
446
446
|
- app/models/bit_core/slide_observer.rb
|
447
447
|
- app/models/coach_assignment.rb
|
448
|
+
- app/models/concerns/copier.rb
|
448
449
|
- app/models/content_modules.rb
|
449
450
|
- app/models/content_modules/lesson_module.rb
|
450
451
|
- app/models/content_provider_decorator.rb
|