appril-cli 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/base/assets/styles.css +2 -0
- data/{boilerplate/app/base/api → app/base/components}/base_controller.rb +3 -1
- data/app/base/components/deploy.js +25 -0
- data/app/base/components/index/index.js +3 -0
- data/app/base/components/index/server.rb +13 -0
- data/{boilerplate/app/base/api → app/base/components}/rtcp_controller.rb +5 -7
- data/app/base/core.js +77 -0
- data/app/base/templates/layout.liquid +13 -0
- data/app/config/config.rb +11 -0
- data/{sandbox → app}/config/config.yml +8 -4
- data/{boilerplate/app → app}/core/Gemfile +2 -2
- data/{sandbox → app}/core/boot.rb +2 -4
- data/app/core/generate_configs.rb +7 -0
- data/{boilerplate/app → app}/core/load.rb +2 -2
- data/{boilerplate/app/core/load_api.rb → app/core/load_components.rb} +2 -1
- data/app/generators/_component/index.js +3 -0
- data/app/generators/_component/template.html +3 -0
- data/app/generators/component +29 -0
- data/app/package.json +30 -0
- data/{boilerplate/app → app}/webpack/alias.js +3 -3
- data/app/webpack/entry.js +3 -0
- data/{boilerplate/app → app}/webpack/extensions.js +1 -2
- data/app/webpack/loaders.js +47 -0
- data/app/webpack/output.js +9 -0
- data/app/webpack/plugins.js +38 -0
- data/app/webpack.config.js +29 -0
- data/lib/appril-cli/assertions.rb +5 -21
- data/lib/appril-cli/docker/build.rb +35 -31
- data/lib/appril-cli/docker/install.rb +18 -11
- data/lib/appril-cli/docker/update.rb +20 -11
- data/lib/appril-cli/docker.rb +14 -43
- data/lib/appril-cli/helpers.rb +7 -9
- data/lib/appril-cli/install.rb +30 -0
- data/lib/appril-cli/update.rb +34 -0
- data/lib/appril-cli/version.rb +1 -1
- data/lib/appril-cli.rb +62 -47
- metadata +52 -109
- data/boilerplate/app/base/api/deploy.coffee +0 -45
- data/boilerplate/app/base/api/index/client.coffee +0 -4
- data/boilerplate/app/base/api/index/server.rb +0 -3
- data/boilerplate/app/base/core.coffee +0 -113
- data/boilerplate/app/base/helpers/application_helpers.coffee +0 -1
- data/boilerplate/app/base/templates/access_denied.html +0 -3
- data/boilerplate/app/base/templates/layout.liquid +0 -11
- data/boilerplate/app/base/templates/layouts/main.html +0 -1
- data/boilerplate/app/base/templates/layouts/none.html +0 -1
- data/boilerplate/app/config/config.rb +0 -14
- data/boilerplate/app/config/config.yml +0 -18
- data/boilerplate/app/core/boot.rb +0 -72
- data/boilerplate/app/core/generate_configs.rb +0 -79
- data/boilerplate/app/generators/api/client.coffee +0 -4
- data/boilerplate/app/generators/api/server.rb +0 -3
- data/boilerplate/app/package.json +0 -10
- data/boilerplate/app/webpack/config.js +0 -6
- data/boilerplate/app/webpack/entry.js +0 -3
- data/boilerplate/app/webpack/loaders.js +0 -15
- data/boilerplate/app/webpack/output.js +0 -11
- data/boilerplate/app/webpack/plugins.js +0 -19
- data/boilerplate/app/webpack.config.js +0 -19
- data/boilerplate/crudle/Gemfile +0 -7
- data/boilerplate/crudle/base/api/deploy.coffee +0 -51
- data/boilerplate/crudle/base/api/index/client.coffee +0 -5
- data/boilerplate/crudle/base/api/index/layout.html +0 -5
- data/boilerplate/crudle/base/api/index/server.rb +0 -7
- data/boilerplate/crudle/base/templates/menu.html +0 -3
- data/boilerplate/crudle/generators/api/client.coffee +0 -17
- data/boilerplate/crudle/generators/api/editor/layout.html +0 -3
- data/boilerplate/crudle/generators/api/list/item.html +0 -3
- data/boilerplate/crudle/generators/api/server.rb +0 -26
- data/boilerplate/crudle/package.json +0 -13
- data/boilerplate/crudle/webpack/loaders.js +0 -16
- data/lib/appril-cli/app/install.rb +0 -47
- data/lib/appril-cli/app/update.rb +0 -28
- data/lib/appril-cli/app.rb +0 -46
- data/lib/appril-cli/generator/api.rb +0 -16
- data/lib/appril-cli/generator.rb +0 -32
- data/sandbox/.gitignore +0 -6
- data/sandbox/.pryrc +0 -1
- data/sandbox/Gemfile +0 -7
- data/sandbox/Rakefile +0 -1
- data/sandbox/base/api/base_controller.rb +0 -21
- data/sandbox/base/api/index/client.coffee +0 -4
- data/sandbox/base/api/index/layout.html +0 -3
- data/sandbox/base/api/index/server.rb +0 -3
- data/sandbox/base/api/rtcp_controller.rb +0 -22
- data/sandbox/base/assets/styles.css +0 -0
- data/sandbox/base/boot.rb +0 -2
- data/sandbox/base/core.coffee +0 -128
- data/sandbox/base/helpers/application_helpers.coffee +0 -1
- data/sandbox/base/helpers/application_helpers.rb +0 -4
- data/sandbox/base/load.rb +0 -0
- data/sandbox/base/models/base_model.rb +0 -0
- data/sandbox/base/templates/access_denied.html +0 -3
- data/sandbox/base/templates/layout.liquid +0 -11
- data/sandbox/base/templates/layouts/main.html +0 -1
- data/sandbox/base/templates/layouts/none.html +0 -1
- data/sandbox/base/templates/menu.html +0 -3
- data/sandbox/config/config.rb +0 -9
- data/sandbox/config/env/development.yml +0 -0
- data/sandbox/config/env/production.yml +0 -0
- data/sandbox/config/env/stage.yml +0 -0
- data/sandbox/config/env/test.yml +0 -0
- data/sandbox/config.ru +0 -3
- data/sandbox/core/Gemfile +0 -4
- data/sandbox/core/generate_configs.rb +0 -125
- data/sandbox/core/load.rb +0 -14
- data/sandbox/core/load_controllers.rb +0 -14
- data/sandbox/generators/api/client.coffee +0 -11
- data/sandbox/generators/api/editor.html +0 -0
- data/sandbox/generators/api/layout.html +0 -0
- data/sandbox/generators/api/server.rb +0 -26
- data/sandbox/package.json +0 -15
- data/sandbox/webpack.config.js +0 -54
- /data/{boilerplate/app → app}/.gitignore +0 -0
- /data/{boilerplate/app → app}/.pryrc +0 -0
- /data/{boilerplate/app → app}/Gemfile +0 -0
- /data/{boilerplate/app → app}/Rakefile +0 -0
- /data/{boilerplate/app → app}/base/boot.rb +0 -0
- /data/{boilerplate/app/base/api/index/layout.html → app/base/components/index/template.html} +0 -0
- /data/{boilerplate/app → app}/base/helpers/application_helpers.rb +0 -0
- /data/{boilerplate/app/base/assets/styles.css → app/base/helpers/index.js} +0 -0
- /data/{boilerplate/app → app}/base/load.rb +0 -0
- /data/{boilerplate/app → app}/base/models/base_model.rb +0 -0
- /data/{boilerplate/app/public → app/compiled}/.ignore +0 -0
- /data/{boilerplate/app → app}/config/env/development.yml +0 -0
- /data/{boilerplate/app → app}/config/env/production.yml +0 -0
- /data/{boilerplate/app → app}/config/env/stage.yml +0 -0
- /data/{boilerplate/app → app}/config/env/test.yml +0 -0
- /data/{boilerplate/app → app}/config.ru +0 -0
- /data/{boilerplate/app → app}/core/load_helpers.rb +0 -0
- /data/{boilerplate/app → app}/core/load_models.rb +0 -0
- /data/{boilerplate/app/tmp → app/public}/.ignore +0 -0
- /data/{boilerplate/app/var → app/tmp}/.ignore +0 -0
- /data/{boilerplate/app/generators/api/layout.html → app/var/.ignore} +0 -0
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appril-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Slee Woo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Appril CLI
|
14
14
|
email:
|
@@ -20,70 +20,55 @@ extra_rdoc_files: []
|
|
20
20
|
files:
|
21
21
|
- ".gitignore"
|
22
22
|
- Rakefile
|
23
|
+
- app/.gitignore
|
24
|
+
- app/.pryrc
|
25
|
+
- app/Gemfile
|
26
|
+
- app/Rakefile
|
27
|
+
- app/base/assets/styles.css
|
28
|
+
- app/base/boot.rb
|
29
|
+
- app/base/components/base_controller.rb
|
30
|
+
- app/base/components/deploy.js
|
31
|
+
- app/base/components/index/index.js
|
32
|
+
- app/base/components/index/server.rb
|
33
|
+
- app/base/components/index/template.html
|
34
|
+
- app/base/components/rtcp_controller.rb
|
35
|
+
- app/base/core.js
|
36
|
+
- app/base/helpers/application_helpers.rb
|
37
|
+
- app/base/helpers/index.js
|
38
|
+
- app/base/load.rb
|
39
|
+
- app/base/models/base_model.rb
|
40
|
+
- app/base/templates/layout.liquid
|
41
|
+
- app/compiled/.ignore
|
42
|
+
- app/config.ru
|
43
|
+
- app/config/config.rb
|
44
|
+
- app/config/config.yml
|
45
|
+
- app/config/env/development.yml
|
46
|
+
- app/config/env/production.yml
|
47
|
+
- app/config/env/stage.yml
|
48
|
+
- app/config/env/test.yml
|
49
|
+
- app/core/Gemfile
|
50
|
+
- app/core/boot.rb
|
51
|
+
- app/core/generate_configs.rb
|
52
|
+
- app/core/load.rb
|
53
|
+
- app/core/load_components.rb
|
54
|
+
- app/core/load_helpers.rb
|
55
|
+
- app/core/load_models.rb
|
56
|
+
- app/generators/_component/index.js
|
57
|
+
- app/generators/_component/template.html
|
58
|
+
- app/generators/component
|
59
|
+
- app/package.json
|
60
|
+
- app/public/.ignore
|
61
|
+
- app/tmp/.ignore
|
62
|
+
- app/var/.ignore
|
63
|
+
- app/webpack.config.js
|
64
|
+
- app/webpack/alias.js
|
65
|
+
- app/webpack/entry.js
|
66
|
+
- app/webpack/extensions.js
|
67
|
+
- app/webpack/loaders.js
|
68
|
+
- app/webpack/output.js
|
69
|
+
- app/webpack/plugins.js
|
23
70
|
- appril-cli.gemspec
|
24
71
|
- bin/appril
|
25
|
-
- boilerplate/app/.gitignore
|
26
|
-
- boilerplate/app/.pryrc
|
27
|
-
- boilerplate/app/Gemfile
|
28
|
-
- boilerplate/app/Rakefile
|
29
|
-
- boilerplate/app/base/api/base_controller.rb
|
30
|
-
- boilerplate/app/base/api/deploy.coffee
|
31
|
-
- boilerplate/app/base/api/index/client.coffee
|
32
|
-
- boilerplate/app/base/api/index/layout.html
|
33
|
-
- boilerplate/app/base/api/index/server.rb
|
34
|
-
- boilerplate/app/base/api/rtcp_controller.rb
|
35
|
-
- boilerplate/app/base/assets/styles.css
|
36
|
-
- boilerplate/app/base/boot.rb
|
37
|
-
- boilerplate/app/base/core.coffee
|
38
|
-
- boilerplate/app/base/helpers/application_helpers.coffee
|
39
|
-
- boilerplate/app/base/helpers/application_helpers.rb
|
40
|
-
- boilerplate/app/base/load.rb
|
41
|
-
- boilerplate/app/base/models/base_model.rb
|
42
|
-
- boilerplate/app/base/templates/access_denied.html
|
43
|
-
- boilerplate/app/base/templates/layout.liquid
|
44
|
-
- boilerplate/app/base/templates/layouts/main.html
|
45
|
-
- boilerplate/app/base/templates/layouts/none.html
|
46
|
-
- boilerplate/app/config.ru
|
47
|
-
- boilerplate/app/config/config.rb
|
48
|
-
- boilerplate/app/config/config.yml
|
49
|
-
- boilerplate/app/config/env/development.yml
|
50
|
-
- boilerplate/app/config/env/production.yml
|
51
|
-
- boilerplate/app/config/env/stage.yml
|
52
|
-
- boilerplate/app/config/env/test.yml
|
53
|
-
- boilerplate/app/core/Gemfile
|
54
|
-
- boilerplate/app/core/boot.rb
|
55
|
-
- boilerplate/app/core/generate_configs.rb
|
56
|
-
- boilerplate/app/core/load.rb
|
57
|
-
- boilerplate/app/core/load_api.rb
|
58
|
-
- boilerplate/app/core/load_helpers.rb
|
59
|
-
- boilerplate/app/core/load_models.rb
|
60
|
-
- boilerplate/app/generators/api/client.coffee
|
61
|
-
- boilerplate/app/generators/api/layout.html
|
62
|
-
- boilerplate/app/generators/api/server.rb
|
63
|
-
- boilerplate/app/package.json
|
64
|
-
- boilerplate/app/public/.ignore
|
65
|
-
- boilerplate/app/tmp/.ignore
|
66
|
-
- boilerplate/app/var/.ignore
|
67
|
-
- boilerplate/app/webpack.config.js
|
68
|
-
- boilerplate/app/webpack/alias.js
|
69
|
-
- boilerplate/app/webpack/config.js
|
70
|
-
- boilerplate/app/webpack/entry.js
|
71
|
-
- boilerplate/app/webpack/extensions.js
|
72
|
-
- boilerplate/app/webpack/loaders.js
|
73
|
-
- boilerplate/app/webpack/output.js
|
74
|
-
- boilerplate/app/webpack/plugins.js
|
75
|
-
- boilerplate/crudle/Gemfile
|
76
|
-
- boilerplate/crudle/base/api/deploy.coffee
|
77
|
-
- boilerplate/crudle/base/api/index/client.coffee
|
78
|
-
- boilerplate/crudle/base/api/index/layout.html
|
79
|
-
- boilerplate/crudle/base/api/index/server.rb
|
80
|
-
- boilerplate/crudle/base/templates/menu.html
|
81
|
-
- boilerplate/crudle/generators/api/client.coffee
|
82
|
-
- boilerplate/crudle/generators/api/editor/layout.html
|
83
|
-
- boilerplate/crudle/generators/api/list/item.html
|
84
|
-
- boilerplate/crudle/generators/api/server.rb
|
85
|
-
- boilerplate/crudle/package.json
|
86
|
-
- boilerplate/crudle/webpack/loaders.js
|
87
72
|
- docker/Dockerfile
|
88
73
|
- docker/run
|
89
74
|
- docker/skel/build.sh
|
@@ -93,57 +78,15 @@ files:
|
|
93
78
|
- docker/skel/start.sh
|
94
79
|
- docker/start
|
95
80
|
- lib/appril-cli.rb
|
96
|
-
- lib/appril-cli/app.rb
|
97
|
-
- lib/appril-cli/app/install.rb
|
98
|
-
- lib/appril-cli/app/update.rb
|
99
81
|
- lib/appril-cli/assertions.rb
|
100
82
|
- lib/appril-cli/docker.rb
|
101
83
|
- lib/appril-cli/docker/build.rb
|
102
84
|
- lib/appril-cli/docker/install.rb
|
103
85
|
- lib/appril-cli/docker/update.rb
|
104
|
-
- lib/appril-cli/generator.rb
|
105
|
-
- lib/appril-cli/generator/api.rb
|
106
86
|
- lib/appril-cli/helpers.rb
|
87
|
+
- lib/appril-cli/install.rb
|
88
|
+
- lib/appril-cli/update.rb
|
107
89
|
- lib/appril-cli/version.rb
|
108
|
-
- sandbox/.gitignore
|
109
|
-
- sandbox/.pryrc
|
110
|
-
- sandbox/Gemfile
|
111
|
-
- sandbox/Rakefile
|
112
|
-
- sandbox/base/api/base_controller.rb
|
113
|
-
- sandbox/base/api/index/client.coffee
|
114
|
-
- sandbox/base/api/index/layout.html
|
115
|
-
- sandbox/base/api/index/server.rb
|
116
|
-
- sandbox/base/api/rtcp_controller.rb
|
117
|
-
- sandbox/base/assets/styles.css
|
118
|
-
- sandbox/base/boot.rb
|
119
|
-
- sandbox/base/core.coffee
|
120
|
-
- sandbox/base/helpers/application_helpers.coffee
|
121
|
-
- sandbox/base/helpers/application_helpers.rb
|
122
|
-
- sandbox/base/load.rb
|
123
|
-
- sandbox/base/models/base_model.rb
|
124
|
-
- sandbox/base/templates/access_denied.html
|
125
|
-
- sandbox/base/templates/layout.liquid
|
126
|
-
- sandbox/base/templates/layouts/main.html
|
127
|
-
- sandbox/base/templates/layouts/none.html
|
128
|
-
- sandbox/base/templates/menu.html
|
129
|
-
- sandbox/config.ru
|
130
|
-
- sandbox/config/config.rb
|
131
|
-
- sandbox/config/config.yml
|
132
|
-
- sandbox/config/env/development.yml
|
133
|
-
- sandbox/config/env/production.yml
|
134
|
-
- sandbox/config/env/stage.yml
|
135
|
-
- sandbox/config/env/test.yml
|
136
|
-
- sandbox/core/Gemfile
|
137
|
-
- sandbox/core/boot.rb
|
138
|
-
- sandbox/core/generate_configs.rb
|
139
|
-
- sandbox/core/load.rb
|
140
|
-
- sandbox/core/load_controllers.rb
|
141
|
-
- sandbox/generators/api/client.coffee
|
142
|
-
- sandbox/generators/api/editor.html
|
143
|
-
- sandbox/generators/api/layout.html
|
144
|
-
- sandbox/generators/api/server.rb
|
145
|
-
- sandbox/package.json
|
146
|
-
- sandbox/webpack.config.js
|
147
90
|
homepage: https://github.com/appril/appril-cli
|
148
91
|
licenses:
|
149
92
|
- MIT
|
@@ -167,5 +110,5 @@ rubyforge_project:
|
|
167
110
|
rubygems_version: 2.5.1
|
168
111
|
signing_key:
|
169
112
|
specification_version: 4
|
170
|
-
summary: '["appril-cli-0.
|
113
|
+
summary: '["appril-cli-0.2.0", "Appril CLI"]'
|
171
114
|
test_files: []
|
@@ -1,45 +0,0 @@
|
|
1
|
-
_ = {
|
2
|
-
has: require('lodash/has')
|
3
|
-
isFunction: require('lodash/isFunction')
|
4
|
-
}
|
5
|
-
|
6
|
-
templates = {
|
7
|
-
none: require('templates/layouts/none')
|
8
|
-
main: require('templates/layouts/main')
|
9
|
-
}
|
10
|
-
|
11
|
-
previous_layout = null
|
12
|
-
module.exports = (api, env) ->
|
13
|
-
|
14
|
-
layout = if _.has(api, 'layout')
|
15
|
-
|
16
|
-
api_layout = if _.isFunction(api.layout)
|
17
|
-
api.layout(env)
|
18
|
-
else
|
19
|
-
api.layout
|
20
|
-
#end
|
21
|
-
|
22
|
-
if api_layout == false
|
23
|
-
'none'
|
24
|
-
else
|
25
|
-
api_layout || 'main'
|
26
|
-
#end
|
27
|
-
|
28
|
-
else
|
29
|
-
'main'
|
30
|
-
#end
|
31
|
-
|
32
|
-
if layout == previous_layout
|
33
|
-
# do not re-render body if current api uses same layout as previous one
|
34
|
-
return api(env)
|
35
|
-
#end
|
36
|
-
previous_layout = layout
|
37
|
-
|
38
|
-
env.render
|
39
|
-
el: 'body'
|
40
|
-
template: templates[layout] || templates.none
|
41
|
-
oncomplete: ->
|
42
|
-
api(env)
|
43
|
-
#end
|
44
|
-
#end
|
45
|
-
#end
|
@@ -1,113 +0,0 @@
|
|
1
|
-
_ =
|
2
|
-
merge: require('lodash/merge')
|
3
|
-
isFunction: require('lodash/isFunction')
|
4
|
-
#end
|
5
|
-
|
6
|
-
Core = require('appril')
|
7
|
-
Page = require('appril-page')
|
8
|
-
Load = require('appril-load')
|
9
|
-
Render = require('appril-ractive')
|
10
|
-
Reporter = require('appril-reporter')
|
11
|
-
DeployApi = require('api/deploy.coffee')
|
12
|
-
require 'appril-polyfills'
|
13
|
-
require 'assets/styles.css'
|
14
|
-
|
15
|
-
CONSIDER_IDLE_AFTER = 5 * 60
|
16
|
-
|
17
|
-
window.Cfg = {}
|
18
|
-
window.Util = {}
|
19
|
-
window.App = {}
|
20
|
-
# window.Alert = require('appril-alert')
|
21
|
-
|
22
|
-
for k, v of require('appril-util')
|
23
|
-
Util[k] = v
|
24
|
-
#end
|
25
|
-
|
26
|
-
# for k, v of require('appril-datetime')
|
27
|
-
# Util[k] = v
|
28
|
-
# #end
|
29
|
-
|
30
|
-
for k, v of require('helpers/application_helpers.coffee')
|
31
|
-
Util[k] = v
|
32
|
-
#end
|
33
|
-
|
34
|
-
Object.freeze(Util)
|
35
|
-
|
36
|
-
Render.default_el = -> '#content'
|
37
|
-
Render.global_data = -> {App: App, Cfg: Cfg, Util: Util}
|
38
|
-
Render.global_handlers = -> {}
|
39
|
-
|
40
|
-
|
41
|
-
for name, controller of Core.controllers
|
42
|
-
App[name] = controller
|
43
|
-
#end
|
44
|
-
|
45
|
-
|
46
|
-
Core.on_initialize = (msg) ->
|
47
|
-
if window.Cfg = msg.data.cfg
|
48
|
-
delete msg.data.cfg
|
49
|
-
Object.freeze(Cfg)
|
50
|
-
#end
|
51
|
-
|
52
|
-
for k, v of msg.data
|
53
|
-
App[k] = v
|
54
|
-
#end
|
55
|
-
|
56
|
-
Reporter CONSIDER_IDLE_AFTER, (status) ->
|
57
|
-
# close connection if user went away
|
58
|
-
Core.disconnect() if status == 'away'
|
59
|
-
#end
|
60
|
-
#end
|
61
|
-
|
62
|
-
|
63
|
-
previous_api = null
|
64
|
-
Core.on_controller_matched = (controller, context) ->
|
65
|
-
|
66
|
-
controller.load (api) ->
|
67
|
-
context.save()
|
68
|
-
|
69
|
-
env = {
|
70
|
-
render: Render
|
71
|
-
render_component: Render.component
|
72
|
-
render_string: Render.string
|
73
|
-
page: new Page
|
74
|
-
controller: controller
|
75
|
-
api: controller.ws
|
76
|
-
}
|
77
|
-
_.merge(env, env.page)
|
78
|
-
|
79
|
-
if previous_api?.teardown
|
80
|
-
previous_api.teardown(env)
|
81
|
-
#end
|
82
|
-
previous_api = api
|
83
|
-
|
84
|
-
if api.has_css && !controller.css_loaded
|
85
|
-
Load.stylesheet controller.client_url + '.css', ->
|
86
|
-
controller.css_loaded = true
|
87
|
-
#end
|
88
|
-
|
89
|
-
if _.isFunction(api.acl)
|
90
|
-
|
91
|
-
if api.acl(env)
|
92
|
-
DeployApi(api, env)
|
93
|
-
else
|
94
|
-
Render
|
95
|
-
el: 'body'
|
96
|
-
template: require('templates/layouts/main')
|
97
|
-
partials: partials
|
98
|
-
oncomplete: ->
|
99
|
-
Render(template: require('templates/access_denied'))
|
100
|
-
#end
|
101
|
-
|
102
|
-
else
|
103
|
-
DeployApi(api, env)
|
104
|
-
#end
|
105
|
-
|
106
|
-
#end
|
107
|
-
#end
|
108
|
-
|
109
|
-
|
110
|
-
document.addEventListener 'DOMContentLoaded', ->
|
111
|
-
# make sure this matches the RTCPController URL
|
112
|
-
Core.connect('__rtcp__')
|
113
|
-
#end
|
@@ -1 +0,0 @@
|
|
1
|
-
# this file will be loaded before other files found in helpers/ folder
|
@@ -1,11 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
6
|
-
<script type="text/javascript">window.module = {}</script>
|
7
|
-
<script src="{{client_url}}/core.js"></script>
|
8
|
-
<link rel="stylesheet" href="{{client_url}}/core.css">
|
9
|
-
</head>
|
10
|
-
<body></body>
|
11
|
-
</html>
|
@@ -1 +0,0 @@
|
|
1
|
-
<div id="content"></div>
|
@@ -1 +0,0 @@
|
|
1
|
-
<div id="content"></div>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
|
2
|
-
# loading .yml configs from current directory.
|
3
|
-
# config.yml will be loaded first.
|
4
|
-
Cfg = Appril.load_config(File.expand_path('..', __FILE__))
|
5
|
-
|
6
|
-
# it is highly recommended to freeze configs so they stay unaltered on runtime.
|
7
|
-
Cfg.freeze
|
8
|
-
|
9
|
-
# loading any .rb files in current dir.
|
10
|
-
# this one will be skipped automatically.
|
11
|
-
%w[
|
12
|
-
../*.rb
|
13
|
-
../**/*.rb
|
14
|
-
].each {|p| Dir[File.expand_path(p, __FILE__)].each {|f| require(f)} }
|
@@ -1,18 +0,0 @@
|
|
1
|
-
|
2
|
-
# configs here will be the same on all environments.
|
3
|
-
# if some configs differs on some environment,
|
4
|
-
# put them into appropriate env/[ENVIRONMENT].yml file
|
5
|
-
|
6
|
-
# multiple .yml files allowed in config folder.
|
7
|
-
# for example config/db.yml file will be loaded into Cfg.db in server app.
|
8
|
-
# arbitrary .yml files can have environment related configs.
|
9
|
-
|
10
|
-
|
11
|
-
# base URL for server app
|
12
|
-
server_url: /
|
13
|
-
|
14
|
-
# base URL for compiled client app
|
15
|
-
client_url: /public_app
|
16
|
-
|
17
|
-
# where webpack should install compiled app. relative to webpack.config.js
|
18
|
-
client_path: ./
|
@@ -1,72 +0,0 @@
|
|
1
|
-
# do NOT edit this file, edit base/boot.rb instead
|
2
|
-
|
3
|
-
require 'yaml'
|
4
|
-
require 'appril'
|
5
|
-
|
6
|
-
module Appril
|
7
|
-
extend self
|
8
|
-
|
9
|
-
def load_config *dirs, env: RocketIO.environment
|
10
|
-
|
11
|
-
config = RocketIO.indifferent_params({environment: env.to_s.freeze})
|
12
|
-
|
13
|
-
dirs.each do |dir|
|
14
|
-
config.update(load_config_file("#{dir}/config.yml"))
|
15
|
-
config.update(load_config_file("#{dir}/env/#{env}.yml"))
|
16
|
-
|
17
|
-
loaded = [
|
18
|
-
File.expand_path("config.yml", dir),
|
19
|
-
File.expand_path("env/#{env}.yml", dir)
|
20
|
-
]
|
21
|
-
|
22
|
-
%w[
|
23
|
-
*.yml
|
24
|
-
**/*.yml
|
25
|
-
].each do |pattern|
|
26
|
-
Dir[File.join(dir, pattern)].each do |file|
|
27
|
-
|
28
|
-
path = File.expand_path(file, dir)
|
29
|
-
next if loaded.include?(path)
|
30
|
-
loaded << path
|
31
|
-
|
32
|
-
key = File.basename(file, '.yml')
|
33
|
-
key_config = load_config_file(file)
|
34
|
-
key_config_keys = key_config.keys.map(&:to_s)
|
35
|
-
|
36
|
-
config[key] = if key_config_keys.include?(config[:environment])
|
37
|
-
# current environment found, use it
|
38
|
-
key_config[config[:environment]]
|
39
|
-
else
|
40
|
-
if RocketIO::ENVIRONMENTS.keys.find {|k| key_config_keys.include?(k)}
|
41
|
-
# there are some environment(s), but no current one so set current environment to nil
|
42
|
-
nil
|
43
|
-
else
|
44
|
-
# there are no environments, so this config is available on any environment
|
45
|
-
key_config
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def config.method_missing key
|
53
|
-
self[key]
|
54
|
-
end
|
55
|
-
|
56
|
-
config
|
57
|
-
end
|
58
|
-
|
59
|
-
def load_config_file file
|
60
|
-
RocketIO.indifferent_params(YAML.load(File.read(file)) || {})
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
Dir.chdir File.expand_path('../..', __FILE__) do
|
65
|
-
require './base/boot'
|
66
|
-
|
67
|
-
require 'bundler/setup'
|
68
|
-
Bundler.require(:default)
|
69
|
-
Bundler.require(RocketIO.environment)
|
70
|
-
|
71
|
-
require './config/config'
|
72
|
-
end
|
@@ -1,79 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
# do NOT edit this file
|
4
|
-
|
5
|
-
require File.expand_path('../load', __FILE__)
|
6
|
-
|
7
|
-
module Appril
|
8
|
-
extend self
|
9
|
-
|
10
|
-
def generate_configs dir
|
11
|
-
config = load_config("#{dir}/config", env: :development)
|
12
|
-
|
13
|
-
api = controllers_map(dir)
|
14
|
-
webpack_entries = webpack_entries(dir, api)
|
15
|
-
|
16
|
-
File.open(File.expand_path('api.json', dir), 'w') {|f| f << JSON.pretty_generate(api)}
|
17
|
-
|
18
|
-
File.open File.expand_path('webpack/config.json', dir), 'w' do |f|
|
19
|
-
f << JSON.pretty_generate({
|
20
|
-
path: config[:client_path],
|
21
|
-
url: config[:client_url],
|
22
|
-
entries: webpack_entries
|
23
|
-
})
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def controllers_map dir
|
28
|
-
path_to_api = File.expand_path('base/api', dir)
|
29
|
-
RocketIO.controllers.each_with_object([]) do |controller,o|
|
30
|
-
next unless controller.superclass == ::BaseController
|
31
|
-
|
32
|
-
o << {
|
33
|
-
path: controller.dirname.sub(path_to_api, '').gsub(/\A\/|\/\Z/, ''),
|
34
|
-
url: controller.url,
|
35
|
-
url_pattern: url_pattern(controller),
|
36
|
-
name: controller.name.gsub('::', '__'),
|
37
|
-
api: controller.api.keys
|
38
|
-
}
|
39
|
-
end.sort do |a,b|
|
40
|
-
b[:url].split('/').size <=> a[:url].split('/').size
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def webpack_entries dir, controllers
|
45
|
-
entries = controllers.each_with_object({}) do |controller,o|
|
46
|
-
|
47
|
-
next unless entry = %w[
|
48
|
-
./base/api/%s/client.js
|
49
|
-
./base/api/%s/client.coffee
|
50
|
-
].map {|p| p % controller[:path]}.find {|f| File.file?(File.expand_path(f, dir))}
|
51
|
-
|
52
|
-
o[controller[:path]] = File.join('./base/api', controller[:path], File.basename(entry))
|
53
|
-
end
|
54
|
-
|
55
|
-
if core = %w[
|
56
|
-
./base/core.js
|
57
|
-
./base/core.coffee
|
58
|
-
].find {|f| File.file?(File.expand_path(f, dir))}
|
59
|
-
entries[:core] = core
|
60
|
-
end
|
61
|
-
|
62
|
-
entries
|
63
|
-
end
|
64
|
-
|
65
|
-
def url_pattern controller
|
66
|
-
controller.url *controller.instance_method(:index).parameters.each_with_object([]) {|param,o|
|
67
|
-
pattern = if param[0] == :rest
|
68
|
-
"*"
|
69
|
-
elsif param[0] == :req
|
70
|
-
":#{param[1]}"
|
71
|
-
elsif param[0] == :opt
|
72
|
-
":#{param[1]}?"
|
73
|
-
end
|
74
|
-
o << pattern if pattern
|
75
|
-
}
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
Appril.generate_configs(File.expand_path('../..', __FILE__))
|
@@ -1,15 +0,0 @@
|
|
1
|
-
var ExtractTextPlugin = require("extract-text-webpack-plugin");
|
2
|
-
|
3
|
-
module.exports = [
|
4
|
-
{ test: /\.coffee$/, loader: 'coffee-loader' },
|
5
|
-
{ test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader", "css-loader") },
|
6
|
-
{ test: /\.json$/, loader: 'json-loader' },
|
7
|
-
{ test: /\.otf($|\?)/, loader: require.resolve('file-loader') },
|
8
|
-
{ test: /\.ttf($|\?)/, loader: require.resolve('file-loader') },
|
9
|
-
{ test: /\.eot($|\?)/, loader: require.resolve('file-loader') },
|
10
|
-
{ test: /\.svg($|\?)/, loader: require.resolve('file-loader') },
|
11
|
-
{ test: /\.png($|\?)/, loader: require.resolve('url-loader') + '?limit=10000&mimetype=image/png' },
|
12
|
-
{ test: /\.jpg($|\?)/, loader: require.resolve('file-loader') },
|
13
|
-
{ test: /\.gif($|\?)/, loader: require.resolve('file-loader') },
|
14
|
-
{ test: /\.woff[2]?($|\?)/, loader: require.resolve('url-loader') + '?limit=10000&mimetype=application/font-woff' },
|
15
|
-
]
|
@@ -1,11 +0,0 @@
|
|
1
|
-
var path = require('path'),
|
2
|
-
config = require('./config.js'),
|
3
|
-
app_env = process.env.APP_ENV || 'development'
|
4
|
-
;
|
5
|
-
|
6
|
-
module.exports = {
|
7
|
-
path: path.join(config.path, config.url, app_env),
|
8
|
-
filename: '[name].js',
|
9
|
-
publicPath: path.join(config.url, app_env, '/'), // trailing slash required
|
10
|
-
libraryTarget: 'commonjs2'
|
11
|
-
}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
var webpack = require('webpack'),
|
2
|
-
ExtractTextPlugin = require("extract-text-webpack-plugin")
|
3
|
-
;
|
4
|
-
|
5
|
-
var plugins = [
|
6
|
-
new webpack.optimize.CommonsChunkPlugin('core', 'core.js'),
|
7
|
-
new ExtractTextPlugin("[name].css")
|
8
|
-
]
|
9
|
-
|
10
|
-
if (process.env.APP_ENV == 'production') {
|
11
|
-
plugins.push(new webpack.optimize.UglifyJsPlugin({
|
12
|
-
compress: { warnings: false },
|
13
|
-
screwIE8: true,
|
14
|
-
sourceMap: false,
|
15
|
-
mangle: true
|
16
|
-
}))
|
17
|
-
}
|
18
|
-
|
19
|
-
module.exports = plugins
|