educode_sales 0.2.8 → 0.2.9
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/app/controllers/educode_sales/businesses_controller.rb +1 -1
- data/app/controllers/educode_sales/home_controller.rb +6 -6
- data/app/controllers/educode_sales/teachers_controller.rb +2 -3
- data/app/views/educode_sales/activities/new.html.erb +2 -1
- data/app/views/educode_sales/businesses/index.json.jbuilder +2 -1
- data/app/views/educode_sales/businesses/new.html.erb +2 -1
- data/app/views/educode_sales/businesses/new_follow_record.html.erb +9 -9
- data/app/views/educode_sales/businesses/show_follow.html.erb +13 -6
- data/app/views/educode_sales/operation_plans/new_month.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/new_monthly.html.erb +3 -1
- data/app/views/educode_sales/operation_plans/new_week.html.erb +1 -0
- data/app/views/educode_sales/operation_plans/new_weekly.html.erb +2 -1
- data/app/views/educode_sales/places/new.html.erb +2 -1
- data/app/views/educode_sales/plans/_monthPlan.html.erb +2 -2
- data/app/views/educode_sales/plans/_weekPlan.html.erb +2 -2
- data/app/views/educode_sales/plans/new_monthly.html.erb +3 -1
- data/app/views/educode_sales/plans/new_weekly.html.erb +3 -1
- data/app/views/educode_sales/roles/new.html.erb +4 -2
- data/app/views/educode_sales/sale_trends/trends.html.erb +2 -1
- data/app/views/educode_sales/teachers/add_keys.html.erb +1 -0
- data/app/views/educode_sales/teachers/index.html.erb +2 -2
- data/app/views/educode_sales/teachers/show_follow.html.erb +3 -3
- data/lib/educode_sales/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adac2dac455b86334fc478e4f84454fe0596f15b
|
4
|
+
data.tar.gz: ab4d5c46df6d081c3b193f94aba90d6f644bb35e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6c23010d60071f32bad83b9ae20e8ffe767e06120db34992faef60d58aca8f1f1e1b690b0421ecf54cd35fd126948c8dad429aa1e386af64aad7b8ca6522482
|
7
|
+
data.tar.gz: 0a863555c19683cc7516bf77468df8cc296af577d8e7a87d5f2fc588005b2f4c59325062d617ae70af64929060cf9f1328b80a0ee70af5c196574dbd24743f84
|
@@ -149,13 +149,13 @@ module EducodeSales
|
|
149
149
|
end
|
150
150
|
format.json do
|
151
151
|
@follow_ups = @business.follow_ups
|
152
|
+
@latest = @follow_ups.order(created_at: :desc).first
|
152
153
|
if params[:field]
|
153
154
|
@follow_ups = @follow_ups.order("#{params[:field]} #{params[:order]}")
|
154
155
|
else
|
155
156
|
@follow_ups = @follow_ups.order("created_at desc")
|
156
157
|
end
|
157
158
|
@follow_ups = @follow_ups.page(params[:page]).per(params[:limit])
|
158
|
-
@latest = @follow_ups.order(created_at: :desc).first
|
159
159
|
end
|
160
160
|
end
|
161
161
|
end
|
@@ -12,29 +12,29 @@ module EducodeSales
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def search_users
|
15
|
-
@users = User.where("lastname like :q OR login like :q OR phone like :q or mail like :q", q: "%#{params[:q]}%").limit(
|
15
|
+
@users = User.where("concat(lastname, firstname) like :q OR login like :q OR phone like :q or mail like :q", q: "%#{params[:q]}%").limit(50)
|
16
16
|
end
|
17
17
|
|
18
18
|
def search
|
19
19
|
if params[:type] == 'department'
|
20
20
|
|
21
|
-
@data = Department.joins(:school).where("schools.name like :q", q: "%#{params[:q]}%").limit(
|
21
|
+
@data = Department.joins(:school).where("schools.name like :q", q: "%#{params[:q]}%").limit(50)
|
22
22
|
unless @data.present?
|
23
|
-
@data = Department.where("name like ?", "%#{params[:q]}%").limit(
|
23
|
+
@data = Department.where("name like ?", "%#{params[:q]}%").limit(50)
|
24
24
|
end
|
25
25
|
elsif params[:type] == "school"
|
26
|
-
data = School.where("name like ? ", "%#{params[:q]}%").limit(
|
26
|
+
data = School.where("name like ? ", "%#{params[:q]}%").limit(50)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
def search_teacher
|
31
31
|
@data = Teacher.where("name like ? and is_key = false", "%#{params[:q]}%").limit(20)
|
32
32
|
user_ids = @data.pluck(:user_id).compact.uniq
|
33
|
-
@data += User.joins(:user_extension).where.not(id: user_ids).where("identity='teacher'", user_ids).where("lastname like ?", "%#{params[:q]}%").limit(
|
33
|
+
@data += User.joins(:user_extension).where.not(id: user_ids).where("identity='teacher'", user_ids).where("lastname like ?", "%#{params[:q]}%").limit(50)
|
34
34
|
end
|
35
35
|
|
36
36
|
def search_edu_teacher
|
37
|
-
@data = User.joins(:user_extension).where("identity='teacher'").where("lastname like
|
37
|
+
@data = User.joins(:user_extension).where("identity='teacher'").where("concat(lastname, firstname) like :q OR phone like :q OR mail like :q", q: "%#{params[:q]}%").limit(50)
|
38
38
|
end
|
39
39
|
|
40
40
|
end
|
@@ -103,9 +103,8 @@ module EducodeSales
|
|
103
103
|
if find_teacher
|
104
104
|
teacher = find_teacher
|
105
105
|
end
|
106
|
-
teacher.activity_teachers.build(activity_id: params[:activity_id])
|
107
106
|
end
|
108
|
-
|
107
|
+
teacher.activity_teachers.build(activity_id: params[:activity_id])
|
109
108
|
if teacher.save
|
110
109
|
render_success
|
111
110
|
else
|
@@ -207,13 +206,13 @@ module EducodeSales
|
|
207
206
|
end
|
208
207
|
format.json do
|
209
208
|
@follow_ups = @teacher.teacher_follows
|
209
|
+
@latest = @follow_ups.order(created_at: :desc).first
|
210
210
|
if params[:field]
|
211
211
|
@follow_ups = @follow_ups.order("#{params[:field]} #{params[:order]}")
|
212
212
|
else
|
213
213
|
@follow_ups = @follow_ups.order("created_at desc")
|
214
214
|
end
|
215
215
|
@follow_ups = @follow_ups.page(params[:page]).per(params[:limit])
|
216
|
-
@latest = @follow_ups.order(created_at: :desc).first
|
217
216
|
end
|
218
217
|
end
|
219
218
|
end
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<label class="layui-form-label required">活动名称</label>
|
7
7
|
<div class="layui-input-block">
|
8
8
|
<input type="text" name="name" required lay-verify="required" autocomplete="off" placeholder="请输入"
|
9
|
-
class="layui-input">
|
9
|
+
class="layui-input" id="inputFocus">
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
<div class="layui-inline">
|
@@ -31,6 +31,7 @@
|
|
31
31
|
</div>
|
32
32
|
|
33
33
|
<script>
|
34
|
+
document.getElementById("inputFocus").focus();
|
34
35
|
|
35
36
|
layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
|
36
37
|
var form = layui.form,
|
@@ -15,7 +15,8 @@ json.data do
|
|
15
15
|
json.total_amount d.last_follow_up&.total_amount
|
16
16
|
json.return_money d.return_money
|
17
17
|
json.place d.last_follow_up&.place&.name
|
18
|
-
json.last_follow_person d.
|
18
|
+
json.last_follow_person d.last_follow_up.present? d.last_follow_up.staff.user.real_name : ''
|
19
|
+
|
19
20
|
end
|
20
21
|
end
|
21
22
|
json.code 0
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<div class="layui-inline">
|
4
4
|
<label class="layui-form-label required">商机名称</label>
|
5
5
|
<div class="layui-input-block">
|
6
|
-
<input type="text" name="name" autocomplete="off" lay-verify="required" class="layui-input" style="width: 300px;">
|
6
|
+
<input id="inputFocus" type="text" name="name" autocomplete="off" lay-verify="required" class="layui-input" style="width: 300px;">
|
7
7
|
</div>
|
8
8
|
</div>
|
9
9
|
<div class="layui-inline">
|
@@ -18,6 +18,7 @@
|
|
18
18
|
</div>
|
19
19
|
</div>
|
20
20
|
<script>
|
21
|
+
document.getElementById("inputFocus").focus();
|
21
22
|
layui.use(['form', 'table', 'upload', 'layer', 'laytpl', 'request', 'selectInput'], function () {
|
22
23
|
var form = layui.form,
|
23
24
|
layer = layui.layer,
|
@@ -122,19 +122,19 @@
|
|
122
122
|
});
|
123
123
|
|
124
124
|
form.render();
|
125
|
-
|
125
|
+
|
126
126
|
form.on('submit(add_follow_up)', function (data) {
|
127
127
|
console.log(data);
|
128
128
|
data.field.business_id = "<%= @business.id %>";
|
129
129
|
console.log(data.field.business_id);
|
130
|
-
request.authPut("educode_sales/businesses/" + data.field.business_id +"/updateMoney/", {
|
131
|
-
|
132
|
-
}, function (res) {
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
})
|
130
|
+
// request.authPut("educode_sales/businesses/" + data.field.business_id +"/updateMoney/", {
|
131
|
+
// return_money: 0
|
132
|
+
// }, function (res) {
|
133
|
+
// if (res.success == false) {
|
134
|
+
// layer.alert(res.msg)
|
135
|
+
// } else {
|
136
|
+
// }
|
137
|
+
// })
|
138
138
|
request.authPost("educode_sales/follow_ups", data.field, function (res) {
|
139
139
|
if (res.success == false) {
|
140
140
|
layer.alert(res.msg)
|
@@ -149,12 +149,19 @@
|
|
149
149
|
}
|
150
150
|
]
|
151
151
|
],
|
152
|
-
height:
|
152
|
+
height: 520,
|
153
153
|
limit: 20,
|
154
154
|
page: true,
|
155
|
-
skin: 'line'
|
155
|
+
skin: 'line',
|
156
|
+
// done: function (obj, first) {
|
157
|
+
// //切换分页时候回调事件
|
158
|
+
// // console.log(obj);
|
159
|
+
// console.log(first);
|
160
|
+
// // if (first != 1) {
|
161
|
+
// // //第一次进入不调用
|
162
|
+
// // }
|
163
|
+
// }
|
156
164
|
});
|
157
|
-
|
158
165
|
table.on('sort(sale_plan_follow_table)', function(obj) {
|
159
166
|
table.reload('sale_plan_follow_table', {
|
160
167
|
initSort: obj,
|
@@ -172,7 +179,7 @@
|
|
172
179
|
var content = miniPage.getHrefContent('/educode_sales/businesses/new_follow_record?id=' + parent.id);
|
173
180
|
var openWH = miniPage.getOpenWidthHeight();
|
174
181
|
sale_plan_index = layer.open({
|
175
|
-
title: '
|
182
|
+
title: '添加商机跟进记录',
|
176
183
|
type: 1,
|
177
184
|
shade: 0.2,
|
178
185
|
maxmin: true,
|
@@ -207,7 +214,7 @@
|
|
207
214
|
var content = miniPage.getHrefContent('/educode_sales/businesses/show_follow_record?follow_up_id=' + data.id);
|
208
215
|
var openWH = miniPage.getOpenWidthHeight();
|
209
216
|
var index = layer.open({
|
210
|
-
title: '
|
217
|
+
title: '查看商机跟进记录',
|
211
218
|
type: 1,
|
212
219
|
shade: 0.2,
|
213
220
|
maxmin: true,
|
@@ -223,7 +230,7 @@
|
|
223
230
|
var content = miniPage.getHrefContent('/educode_sales/businesses/edit_follow_record?follow_up_id=' + data.id);
|
224
231
|
var openWH = miniPage.getOpenWidthHeight();
|
225
232
|
sale_plan_edit_open = layer.open({
|
226
|
-
title: '
|
233
|
+
title: '编辑商机跟进记录',
|
227
234
|
type: 1,
|
228
235
|
shade: 0.2,
|
229
236
|
maxmin: true,
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<div class="layui-form-item layui-form-text">
|
22
22
|
<label class="layui-form-label">个人总结</label>
|
23
23
|
<div class="layui-input-block">
|
24
|
-
<textarea name="content" placeholder="此处填写要点:
|
24
|
+
<textarea name="content" id="inputFocus" placeholder="此处填写要点:
|
25
25
|
1、一句话概括本周工作的主要成效和主要挫折;
|
26
26
|
2、补充说明收获、经验;
|
27
27
|
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
@@ -49,6 +49,8 @@
|
|
49
49
|
|
50
50
|
|
51
51
|
<script>
|
52
|
+
document.getElementById("inputFocus").focus();
|
53
|
+
|
52
54
|
layui.use(['rate', 'table'], function () {
|
53
55
|
var rate = layui.rate,
|
54
56
|
form = layui.form,
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<div class="layui-form-item layui-form-text">
|
22
22
|
<label class="layui-form-label">个人总结</label>
|
23
23
|
<div class="layui-input-block">
|
24
|
-
<textarea name="content" placeholder="此处填写要点:
|
24
|
+
<textarea name="content" id="inputFocus" placeholder="此处填写要点:
|
25
25
|
1、一句话概括本周工作的主要成效和主要挫折;
|
26
26
|
2、补充说明收获、经验;
|
27
27
|
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
@@ -46,6 +46,7 @@
|
|
46
46
|
<a href="javascript:void(0);" lay-event="show_follow_newWeekly" class="layui-table-link">{{ d.count }}</a>
|
47
47
|
</script>
|
48
48
|
<script>
|
49
|
+
document.getElementById("inputFocus").focus();
|
49
50
|
layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
|
50
51
|
var rate = layui.rate,
|
51
52
|
form = layui.form,
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<label class="layui-form-label required">渠道名称</label>
|
6
6
|
<div class="layui-input-block">
|
7
7
|
<input type="text" name="name" required lay-verify="required" autocomplete="off"
|
8
|
-
class="layui-input">
|
8
|
+
class="layui-input" id="inputFocus">
|
9
9
|
</div>
|
10
10
|
</div>
|
11
11
|
<div class="layui-form-item">
|
@@ -23,6 +23,7 @@
|
|
23
23
|
|
24
24
|
|
25
25
|
<script>
|
26
|
+
document.getElementById("inputFocus").focus();
|
26
27
|
|
27
28
|
layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput', 'transfer'], function () {
|
28
29
|
var form = layui.form,
|
@@ -207,7 +207,7 @@
|
|
207
207
|
content = miniPage.getHrefContent('/educode_sales/plans/show_month?id=' + data.id);
|
208
208
|
openWH = miniPage.getOpenWidthHeight();
|
209
209
|
index = layer.open({
|
210
|
-
title: '
|
210
|
+
title: '查看月计划',
|
211
211
|
type: 1,
|
212
212
|
shade: 0.2,
|
213
213
|
maxmin: true,
|
@@ -226,7 +226,7 @@
|
|
226
226
|
from_sales = true;
|
227
227
|
plan_id = data.id
|
228
228
|
sindex = layer.open({
|
229
|
-
title: '
|
229
|
+
title: '编辑月计划',
|
230
230
|
type: 1,
|
231
231
|
shade: 0.2,
|
232
232
|
maxmin: true,
|
@@ -223,7 +223,7 @@
|
|
223
223
|
content = miniPage.getHrefContent('/educode_sales/plans/show_week?id='+ id);
|
224
224
|
openWH = miniPage.getOpenWidthHeight();
|
225
225
|
index = layer.open({
|
226
|
-
title: '
|
226
|
+
title: '查看周计划',
|
227
227
|
type: 1,
|
228
228
|
shade: 0.2,
|
229
229
|
maxmin: true,
|
@@ -242,7 +242,7 @@
|
|
242
242
|
content = miniPage.getHrefContent('/educode_sales/plans/edit_week?id='+ id);
|
243
243
|
openWH = miniPage.getOpenWidthHeight();
|
244
244
|
sindex = layer.open({
|
245
|
-
title: '
|
245
|
+
title: '编辑周计划',
|
246
246
|
type: 1,
|
247
247
|
shade: 0.2,
|
248
248
|
maxmin: true,
|
@@ -28,7 +28,7 @@
|
|
28
28
|
<div class="layui-form-item layui-form-text">
|
29
29
|
<label class="layui-form-label">个人总结</label>
|
30
30
|
<div class="layui-input-block">
|
31
|
-
<textarea name="content" placeholder="此处填写要点:
|
31
|
+
<textarea name="content" id="inputFocus" placeholder="此处填写要点:
|
32
32
|
1、一句话概括本周工作的主要成效和主要挫折;
|
33
33
|
2、补充说明收获、经验;
|
34
34
|
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
@@ -58,6 +58,8 @@
|
|
58
58
|
<% end %>
|
59
59
|
</script>
|
60
60
|
<script>
|
61
|
+
document.getElementById("inputFocus").focus();
|
62
|
+
|
61
63
|
layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
|
62
64
|
var rate = layui.rate,
|
63
65
|
form = layui.form,
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<div class="layui-form-item layui-form-text">
|
27
27
|
<label class="layui-form-label">个人总结</label>
|
28
28
|
<div class="layui-input-block">
|
29
|
-
<textarea name="content" placeholder="此处填写要点:
|
29
|
+
<textarea name="content" id="inputFocus" placeholder="此处填写要点:
|
30
30
|
1、一句话概括本周工作的主要成效和主要挫折;
|
31
31
|
2、补充说明收获、经验;
|
32
32
|
3、补充说明需要上级解决的问题和挑战。" class="layui-textarea" rows="10"></textarea>
|
@@ -56,6 +56,8 @@
|
|
56
56
|
<% end %>
|
57
57
|
</script>
|
58
58
|
<script>
|
59
|
+
document.getElementById("inputFocus").focus();
|
60
|
+
|
59
61
|
layui.use(['rate', 'table', 'request', 'form', 'miniPage', 'jquery'], function () {
|
60
62
|
var rate = layui.rate,
|
61
63
|
form = layui.form,
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<div class="layui-form-item">
|
5
5
|
<label class="layui-form-label required">角色名称</label>
|
6
6
|
<div class="layui-input-block">
|
7
|
-
<input type="text" class="layui-input" lay-verify="required" lay-reqtext="名称不能为空" name="name" placeholder="">
|
7
|
+
<input type="text" id="inputFocus" class="layui-input" lay-verify="required" lay-reqtext="名称不能为空" name="name" placeholder="">
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
<hr>
|
@@ -17,7 +17,9 @@
|
|
17
17
|
</div>
|
18
18
|
|
19
19
|
<script>
|
20
|
-
|
20
|
+
document.getElementById("inputFocus").focus();
|
21
|
+
|
22
|
+
layui.use(['form', 'table', 'upload', 'laytpl', 'request', 'selectInput'], function () {
|
21
23
|
var form = layui.form,
|
22
24
|
layer = layui.layer,
|
23
25
|
table = layui.table,
|
@@ -148,7 +148,7 @@
|
|
148
148
|
</div>
|
149
149
|
</div>
|
150
150
|
</div>
|
151
|
-
|
151
|
+
<div class="layui-row layui-col-space30" >
|
152
152
|
<div class="layui-col-xs3">
|
153
153
|
<div class="panel layui-bg-number">
|
154
154
|
<div class="panel-body">
|
@@ -162,6 +162,7 @@
|
|
162
162
|
</div>
|
163
163
|
</div>
|
164
164
|
</div>
|
165
|
+
</div>
|
165
166
|
</div>
|
166
167
|
</div>
|
167
168
|
</div>
|
@@ -353,7 +353,7 @@
|
|
353
353
|
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_week?teacher_id=' + obj.data.id);
|
354
354
|
var openWH = miniPage.getOpenWidthHeight();
|
355
355
|
|
356
|
-
|
356
|
+
teacherindex1 = layer.open({
|
357
357
|
title: '添加周计划',
|
358
358
|
type: 1,
|
359
359
|
shade: 0.2,
|
@@ -369,7 +369,7 @@
|
|
369
369
|
} else if (obj.event === 'addMonth') {
|
370
370
|
var content = miniPage.getHrefContent('/educode_sales/operation_plans/new_month?teacher_id=' + obj.data.id);
|
371
371
|
var openWH = miniPage.getOpenWidthHeight();
|
372
|
-
|
372
|
+
teacherindex2 = layer.open({
|
373
373
|
title: '添加月计划',
|
374
374
|
type: 1,
|
375
375
|
shade: 0.2,
|
@@ -126,7 +126,7 @@
|
|
126
126
|
var content = miniPage.getHrefContent('/educode_sales/teachers/new_follow_record?id=' +parent.id);
|
127
127
|
var openWH = miniPage.getOpenWidthHeight();
|
128
128
|
sale_plan_index = layer.open({
|
129
|
-
title: '
|
129
|
+
title: '添加教师跟进记录',
|
130
130
|
type: 1,
|
131
131
|
shade: 0.2,
|
132
132
|
maxmin: true,
|
@@ -163,7 +163,7 @@
|
|
163
163
|
var content = miniPage.getHrefContent('/educode_sales/teachers/show_follow_record?id=' + id);
|
164
164
|
var openWH = miniPage.getOpenWidthHeight();
|
165
165
|
sale_plan_index1 = layer.open({
|
166
|
-
title: '
|
166
|
+
title: '查看教师跟进记录',
|
167
167
|
type: 1,
|
168
168
|
shade: 0.2,
|
169
169
|
maxmin: true,
|
@@ -183,7 +183,7 @@
|
|
183
183
|
content = miniPage.getHrefContent('/educode_sales/teachers/edit_follow_record?id='+ obj.data.id);
|
184
184
|
openWH = miniPage.getOpenWidthHeight();
|
185
185
|
edit_index1 = layer.open({
|
186
|
-
title: '
|
186
|
+
title: '编辑教师跟进记录',
|
187
187
|
type: 1,
|
188
188
|
shade: 0.2,
|
189
189
|
maxmin: true,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: educode_sales
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- anke1460
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|