nutella_framework 0.4.23 → 0.4.24
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/VERSION +1 -1
- data/framework_components/monitoring-bot/monitoring-bot.rb +11 -2
- data/framework_components/monitoring-interface/.gitignore +2 -0
- data/framework_components/monitoring-interface/README.md +1 -0
- data/framework_components/monitoring-interface/bower.json +29 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/.bower.json +23 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/bower.json +14 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/mqttws31.js +2081 -0
- data/framework_components/monitoring-interface/bower_components/bower-mqttws/readme.md +4 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/.bower.json +37 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/LICENSE +21 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/README.md +15 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/bower.json +28 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/browser/mqtt_client_hello_world.html +23 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/browser/nutella_hello_world.html +52 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/node/mqtt_client_hello_world.js +14 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/node/nutella_hello_world.js +38 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/nutella_lib.js +789 -0
- data/framework_components/monitoring-interface/bower_components/nutella_lib/package.json +30 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface.html +215 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/animations.js +27 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/application-view-controller.js +232 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/applications-model.js +61 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/bootstrap.min.js +7 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/cursor.css +7 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/d3.v3.min.js +5 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/graphics.js +156 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/grid-layout.js +103 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/highlight.min.js +2 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/instance-view-controller.js +104 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/jquery-1.10.0.min.js +6 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/notification-center.js +63 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/notifications.js +14 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/page.css +33 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/radial-layout.js +175 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/tab-table.js +8 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-application.css +0 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-application.js +320 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-connection-view.css +10 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-connection-view.js +426 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-element.js +205 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-notification.js +94 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-tab.js +229 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/underscore-min.js +5 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/view-controller.js +68 -0
- data/framework_components/monitoring-interface/css/Monitoring Interface_files/window-view-controller.js +169 -0
- data/framework_components/monitoring-interface/css/alerts.css +3 -0
- data/framework_components/monitoring-interface/css/bootstrap.min.css +5 -0
- data/framework_components/monitoring-interface/css/cursor.css +7 -0
- data/framework_components/monitoring-interface/css/highlight.default.min.css +1 -0
- data/framework_components/monitoring-interface/css/page.css +41 -0
- data/framework_components/monitoring-interface/css/ui-application.css +0 -0
- data/framework_components/monitoring-interface/css/ui-connection-view.css +10 -0
- data/framework_components/monitoring-interface/css/ui-legend-view.css +7 -0
- data/framework_components/monitoring-interface/data/alert.json +8 -0
- data/framework_components/monitoring-interface/data/data.json +2118 -0
- data/framework_components/monitoring-interface/data/data2.json +814 -0
- data/framework_components/monitoring-interface/data/data3.json +823 -0
- data/framework_components/monitoring-interface/data/data4.json +848 -0
- data/framework_components/monitoring-interface/data/message.json +999 -0
- data/framework_components/monitoring-interface/gulpfile.js +29 -0
- data/framework_components/monitoring-interface/img/arrow_white.svg +120 -0
- data/framework_components/monitoring-interface/img/arrow_white_right.svg +104 -0
- data/framework_components/monitoring-interface/img/back.svg +164 -0
- data/framework_components/monitoring-interface/img/cross_red_border_white.svg +143 -0
- data/framework_components/monitoring-interface/img/cross_red_border_white_mouseover.svg +143 -0
- data/framework_components/monitoring-interface/img/email.svg +89 -0
- data/framework_components/monitoring-interface/img/email_highlighted.svg +89 -0
- data/framework_components/monitoring-interface/index.html +144 -0
- data/framework_components/monitoring-interface/js/d3/layout/grid-layout.js +103 -0
- data/framework_components/monitoring-interface/js/d3/layout/radial-layout.js +184 -0
- data/framework_components/monitoring-interface/js/d3/plugin/graphics.js +156 -0
- data/framework_components/monitoring-interface/js/d3/plugin/tab-table.js +8 -0
- data/framework_components/monitoring-interface/js/d3/ui/animations.js +27 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-application.js +471 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-connection-view.js +847 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-element.js +245 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-legend.js +174 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-notification.js +90 -0
- data/framework_components/monitoring-interface/js/d3/ui/ui-tab.js +309 -0
- data/framework_components/monitoring-interface/js/lib/JSXTransformer-0.12.2.js +15199 -0
- data/framework_components/monitoring-interface/js/lib/bootstrap.min.js +7 -0
- data/framework_components/monitoring-interface/js/lib/d3.v3.min.js +5 -0
- data/framework_components/monitoring-interface/js/lib/highlight.min.js +2 -0
- data/framework_components/monitoring-interface/js/lib/jquery-1.10.0.min.js +6 -0
- data/framework_components/monitoring-interface/js/lib/nutella_lib.js +5121 -0
- data/framework_components/monitoring-interface/js/lib/react-with-addons-0.12.2.js +19822 -0
- data/framework_components/monitoring-interface/js/lib/underscore-min.js +5 -0
- data/framework_components/monitoring-interface/js/model/alerts-model.js +74 -0
- data/framework_components/monitoring-interface/js/model/applications-model.js +78 -0
- data/framework_components/monitoring-interface/js/model/messages-model.js +112 -0
- data/framework_components/monitoring-interface/js/notification/notification-center.js +63 -0
- data/framework_components/monitoring-interface/js/notification/notifications.js +21 -0
- data/framework_components/monitoring-interface/js/react/dist/ui-alerts.js +178 -0
- data/framework_components/monitoring-interface/js/react/dist/ui-message-send.js +389 -0
- data/framework_components/monitoring-interface/js/react/dist/ui-messages.js +103 -0
- data/framework_components/monitoring-interface/js/react/src/ui-alerts.js +178 -0
- data/framework_components/monitoring-interface/js/react/src/ui-message-send.js +389 -0
- data/framework_components/monitoring-interface/js/react/src/ui-messages.js +103 -0
- data/framework_components/monitoring-interface/js/view-controller/application-view-controller.js +256 -0
- data/framework_components/monitoring-interface/js/view-controller/instance-view-controller.js +112 -0
- data/framework_components/monitoring-interface/js/view-controller/view-controller.js +74 -0
- data/framework_components/monitoring-interface/js/view-controller/window-view-controller.js +169 -0
- data/framework_components/monitoring-interface/nutella.json +6 -0
- data/framework_components/order.json +1 -0
- data/framework_components/roomcast-bot/roomcast_bot.rb +139 -117
- data/framework_components/roomcast-channel-creator/dist/app.js +9 -7
- data/framework_components/roomcast-channel-creator/index.html +1 -1
- data/framework_components/roomcast-channel-creator/src/app/components/main.js +8 -6
- data/framework_components/roomcast-package-creator/dist/app.js +4 -4
- data/framework_components/roomcast-package-creator/index.html +1 -1
- data/framework_components/roomcast-package-creator/package.json +3 -3
- data/framework_components/roomcast-package-creator/src/app/components/ConfigurationsPanel.js +2 -2
- data/framework_components/roomcast-package-creator/src/app/components/PoolRow.js +1 -1
- data/framework_components/roomcast-teacher-controls/.gitignore +2 -0
- data/framework_components/roomcast-teacher-controls/README.md +9 -0
- data/framework_components/roomcast-teacher-controls/dist/app.js +38327 -0
- data/framework_components/roomcast-teacher-controls/dist/main.css +3052 -0
- data/framework_components/roomcast-teacher-controls/dist/nutella_lib.js +5121 -0
- data/framework_components/roomcast-teacher-controls/gulp/config.js +51 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/browserify.js +77 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/build.js +3 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/css.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/default.js +3 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/fonts.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/less.js +16 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/mui-fonts.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/nutella.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/setWatch.js +5 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/svgs.js +7 -0
- data/framework_components/roomcast-teacher-controls/gulp/tasks/watch.js +12 -0
- data/framework_components/roomcast-teacher-controls/gulp/util/bundleLogger.js +21 -0
- data/framework_components/roomcast-teacher-controls/gulp/util/handleErrors.js +15 -0
- data/framework_components/roomcast-teacher-controls/gulpfile.js +16 -0
- data/framework_components/roomcast-teacher-controls/index.html +51 -0
- data/framework_components/roomcast-teacher-controls/nutella.json +6 -0
- data/framework_components/roomcast-teacher-controls/package.json +38 -0
- data/framework_components/roomcast-teacher-controls/src/app/app.js +22 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/ActivitiesGrid.js +87 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/ActivityCard.js +141 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/Channel.js +70 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/Footer.js +34 -0
- data/framework_components/roomcast-teacher-controls/src/app/components/main.js +74 -0
- data/framework_components/roomcast-teacher-controls/src/less/main.less +186 -0
- data/framework_components/roomcast-teacher-controls/src/less/my_overrides.less +14 -0
- data/lib/commands/meta/run_command.rb +11 -9
- metadata +135 -2
|
@@ -13,165 +13,187 @@ puts 'Initializing RoomCast...'
|
|
|
13
13
|
#channelsData_db = nutella.persist.get_json_object_store('channels-data')
|
|
14
14
|
|
|
15
15
|
nutella.f.net.subscribe_to_all_runs('configs/update', lambda do |message, app_id, run_id, from|
|
|
16
|
+
new_configs = message
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
# Notify possible change of current config
|
|
36
|
-
configs = configs_db['configs']
|
|
37
|
-
id = '%d' % configs_db['currentConfig']
|
|
38
|
-
config = configs[id]
|
|
39
|
-
publish_mapping_update(app_id, run_id, config['mapping'])
|
|
40
|
-
|
|
41
|
-
end)
|
|
18
|
+
# Update
|
|
19
|
+
configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
|
|
20
|
+
if new_configs != nil
|
|
21
|
+
configs_db['configs'] = new_configs
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Notify change of all configs
|
|
25
|
+
publish_configs_update(app_id, run_id, new_configs)
|
|
26
|
+
|
|
27
|
+
# Notify possible change of current config
|
|
28
|
+
configs = configs_db['configs']
|
|
29
|
+
id = '%d' % configs_db['currentConfig']
|
|
30
|
+
if id == nil
|
|
31
|
+
id = 1
|
|
32
|
+
end
|
|
33
|
+
config = configs[id]
|
|
34
|
+
publish_mapping_update(app_id, run_id, config['mapping'])
|
|
35
|
+
end)
|
|
42
36
|
|
|
43
37
|
nutella.f.net.handle_requests_on_all_runs('configs/retrieve', lambda do |request, app_id, run_id, from|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
38
|
+
reply = {}
|
|
39
|
+
if request == {}
|
|
40
|
+
reply
|
|
41
|
+
elsif request == 'all'
|
|
42
|
+
configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
|
|
43
|
+
reply = configs_db['configs']
|
|
44
|
+
if reply == nil
|
|
45
|
+
reply = {
|
|
46
|
+
"1"=> {
|
|
47
|
+
"name"=> "Default activity",
|
|
48
|
+
"mapping"=> [{
|
|
49
|
+
"family"=> "iPad",
|
|
50
|
+
"items"=> [{
|
|
51
|
+
"name"=> "",
|
|
52
|
+
"channels"=> []
|
|
53
|
+
}]
|
|
54
|
+
}, {
|
|
55
|
+
"family"=> "Mac",
|
|
56
|
+
"items"=> [{
|
|
57
|
+
"name"=> "",
|
|
58
|
+
"channels"=> []
|
|
59
|
+
}]
|
|
60
|
+
}]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
configs_db['currentConfig'] = 1
|
|
64
|
+
end
|
|
65
|
+
reply
|
|
66
|
+
end
|
|
67
|
+
end)
|
|
55
68
|
|
|
56
69
|
# 'mapping' is the current running configuration
|
|
57
70
|
nutella.f.net.handle_requests_on_all_runs('mapping/retrieve', lambda do |request, app_id, run_id, from|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
reply = {}
|
|
72
|
+
if request == {}
|
|
73
|
+
reply
|
|
74
|
+
elsif request == 'all'
|
|
75
|
+
configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
|
|
76
|
+
if configs_db == nil
|
|
77
|
+
reply = []
|
|
78
|
+
else
|
|
79
|
+
configs = configs_db['configs']
|
|
80
|
+
id = '%d' % configs_db['currentConfig']
|
|
81
|
+
config = configs[id]
|
|
82
|
+
reply = config['mapping']
|
|
83
|
+
end
|
|
84
|
+
reply
|
|
85
|
+
end
|
|
86
|
+
end)
|
|
72
87
|
|
|
73
88
|
nutella.f.net.subscribe_to_all_runs('currentConfig/update', lambda do |message, app_id, run_id, from|
|
|
89
|
+
new_config = message
|
|
74
90
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
91
|
+
# Update
|
|
92
|
+
if new_config != nil
|
|
93
|
+
configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
|
|
94
|
+
configs_db['currentConfig'] = new_config
|
|
95
|
+
end
|
|
79
96
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
configs_db['currentConfig'] = new_config
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
puts 'Updated DB'
|
|
87
|
-
|
|
88
|
-
# Notify Update
|
|
89
|
-
publish_current_config_update(app_id, run_id, new_config)
|
|
90
|
-
|
|
91
|
-
end)
|
|
97
|
+
# Notify Update
|
|
98
|
+
publish_current_config_update(app_id, run_id, new_config)
|
|
99
|
+
end)
|
|
92
100
|
|
|
93
101
|
# Reacts to updates to config id by publishing the updated mapping
|
|
94
|
-
nutella.f.net.subscribe_to_all_runs('currentConfig/
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
raise exception
|
|
106
|
-
end
|
|
107
|
-
|
|
108
|
-
end)
|
|
102
|
+
nutella.f.net.subscribe_to_all_runs('currentConfig/ack_updated', lambda do |message, app_id, run_id, from|
|
|
103
|
+
configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
|
|
104
|
+
configs = configs_db['configs']
|
|
105
|
+
id = '%d' % configs_db['currentConfig']
|
|
106
|
+
config = configs[id]
|
|
107
|
+
publish_switch_config(app_id, run_id, config['mapping'])
|
|
108
|
+
|
|
109
|
+
# Publish activity name on RoomCast API
|
|
110
|
+
activity_name = config['name']
|
|
111
|
+
publish_activity_update(app_id, run_id, activity_name)
|
|
112
|
+
end)
|
|
109
113
|
|
|
110
114
|
nutella.f.net.handle_requests_on_all_runs('currentConfig/retrieve', lambda do |request, app_id, run_id, from|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
|
|
116
|
+
reply = configs_db['currentConfig']
|
|
117
|
+
if reply == nil
|
|
118
|
+
reply = 1
|
|
119
|
+
end
|
|
120
|
+
reply
|
|
121
|
+
end)
|
|
118
122
|
|
|
119
123
|
nutella.f.net.subscribe_to_all_runs('channels/update', lambda do |message, app_id, run_id, from|
|
|
124
|
+
new_channels = message
|
|
120
125
|
|
|
121
|
-
|
|
126
|
+
# Update
|
|
127
|
+
if new_channels != nil
|
|
128
|
+
channels_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'channels')
|
|
129
|
+
channels_db['channels'] = new_channels
|
|
130
|
+
end
|
|
122
131
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
channels_db['channels'] = new_channels
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
# Notify Update
|
|
130
|
-
publish_channels_update(app_id, run_id, new_channels)
|
|
131
|
-
|
|
132
|
-
end)
|
|
132
|
+
# Notify Update
|
|
133
|
+
publish_channels_update(app_id, run_id, new_channels)
|
|
134
|
+
end)
|
|
133
135
|
|
|
134
136
|
nutella.f.net.handle_requests_on_all_runs('channels/retrieve', lambda do |request, app_id, run_id, from|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
137
|
+
reply = {}
|
|
138
|
+
if request == {}
|
|
139
|
+
reply
|
|
140
|
+
elsif request == 'all'
|
|
141
|
+
channels_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'channels')
|
|
142
|
+
reply = channels_db['channels']
|
|
143
|
+
if reply == nil
|
|
144
|
+
reply = {}
|
|
145
|
+
end
|
|
146
|
+
reply
|
|
147
|
+
end
|
|
148
|
+
end)
|
|
146
149
|
|
|
147
150
|
def publish_configs_update(app_id, run_id, configs)
|
|
148
151
|
nutella.f.net.publish_to_run(app_id, run_id, 'configs/updated', configs)
|
|
149
|
-
puts 'Sent configs/updated'
|
|
150
152
|
end
|
|
151
153
|
|
|
152
|
-
# Sends the
|
|
154
|
+
# Sends the updated config id
|
|
153
155
|
def publish_current_config_update(app_id, run_id, config_id)
|
|
154
|
-
nutella.f.net.publish_to_run(app_id, run_id, 'currentConfig/
|
|
155
|
-
puts 'Sent currentConfig/updated'
|
|
156
|
+
nutella.f.net.publish_to_run(app_id, run_id, 'currentConfig/ack_updated', config_id)
|
|
156
157
|
end
|
|
157
158
|
|
|
158
159
|
# Sends the whole new current configuration
|
|
159
160
|
def publish_switch_config(app_id, run_id, mapping)
|
|
160
161
|
nutella.f.net.publish_to_run(app_id, run_id, 'currentConfig/switched', mapping)
|
|
161
|
-
puts 'Sent currentConfig/switched'
|
|
162
162
|
end
|
|
163
163
|
|
|
164
164
|
# Sends the current config (mapping), which might have been updated
|
|
165
165
|
def publish_mapping_update(app_id, run_id, mapping)
|
|
166
166
|
nutella.f.net.publish_to_run(app_id, run_id, 'mapping/updated', mapping)
|
|
167
|
-
puts 'Sent mapping/updated'
|
|
168
167
|
end
|
|
169
168
|
|
|
170
169
|
def publish_channels_update(app_id, run_id, channels)
|
|
171
170
|
nutella.f.net.publish_to_run(app_id, run_id, 'channels/updated', channels)
|
|
172
|
-
puts 'Sent channels/updated'
|
|
173
171
|
end
|
|
174
172
|
|
|
173
|
+
################ RoomCast API ################
|
|
174
|
+
|
|
175
|
+
# Returns the name of the current running activity
|
|
176
|
+
nutella.f.net.handle_requests_on_all_runs('roomcast/activity', lambda do |request, app_id, run_id, from|
|
|
177
|
+
reply = {}
|
|
178
|
+
configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
|
|
179
|
+
id = '%d' % configs_db['currentConfig']
|
|
180
|
+
if id != nil
|
|
181
|
+
configs = configs_db['configs']
|
|
182
|
+
if configs != nil
|
|
183
|
+
config = configs[id]
|
|
184
|
+
reply = config['name']
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
reply
|
|
188
|
+
end)
|
|
189
|
+
|
|
190
|
+
# Notifies a change of current running activity
|
|
191
|
+
def publish_activity_update(app_id, run_id, activity_name)
|
|
192
|
+
nutella.f.net.publish_to_run(app_id, run_id, 'roomcast/new_activity', activity_name)
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
##############################################
|
|
196
|
+
|
|
175
197
|
puts 'Initialization complete.'
|
|
176
198
|
|
|
177
199
|
# Just sit there waiting for messages to come
|