wabur 0.4.0d1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +20 -66
- data/bin/wabur +48 -11
- data/export/assets/css/wab.css +2 -0
- data/export/assets/css/wab.css.map +7 -0
- data/export/assets/fonts/wabfont/README +18 -0
- data/export/assets/fonts/wabfont/fonts/WAB.eot +0 -0
- data/export/assets/fonts/wabfont/fonts/WAB.svg +25 -0
- data/export/assets/fonts/wabfont/fonts/WAB.ttf +0 -0
- data/export/assets/fonts/wabfont/fonts/WAB.woff +0 -0
- data/export/assets/fonts/wabfont/selection.json +460 -0
- data/export/assets/fonts/wabfont/style.css +74 -0
- data/export/assets/js/transpile.js +8 -0
- data/export/assets/js/ui.js +377 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers.js +558 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncGenerator.js +112 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncGeneratorDelegate.js +51 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncIterator.js +14 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncToGenerator.js +28 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/classCallCheck.js +5 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/createClass.js +17 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/defaults.js +14 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/defineEnumerableProperties.js +10 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/defineProperty.js +14 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/extends.js +13 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/get.js +24 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/inherits.js +15 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/instanceof.js +7 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/interopRequireDefault.js +5 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/interopRequireWildcard.js +16 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/jsx.js +42 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/newArrowCheck.js +5 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/objectDestructuringEmpty.js +3 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/objectWithoutProperties.js +11 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/possibleConstructorReturn.js +7 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/selfGlobal.js +1 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/set.js +21 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/slicedToArray.js +37 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/slicedToArrayLoose.js +17 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/taggedTemplateLiteral.js +7 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/taggedTemplateLiteralLoose.js +4 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/temporalRef.js +7 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/temporalUndefined.js +1 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/toArray.js +3 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/toConsumableArray.js +9 -0
- data/export/assets/js/vendor/plugin-babel/babel-helpers/typeof.js +5 -0
- data/export/assets/js/vendor/plugin-babel/plugin-babel.js +222 -0
- data/export/assets/js/vendor/plugin-babel/regenerator-runtime.js +685 -0
- data/export/assets/js/vendor/plugin-babel/systemjs-babel-browser.js +1 -0
- data/export/assets/js/vendor/plugin-babel/systemjs-babel-node.js +55086 -0
- data/export/assets/js/vendor/systemjs/system-production.js +4 -0
- data/export/assets/js/vendor/systemjs/system-production.js.map +1 -0
- data/export/assets/js/vendor/systemjs/system-production.src.js +1711 -0
- data/export/assets/js/vendor/systemjs/system-production.src.js.map +1 -0
- data/export/assets/js/vendor/systemjs/system.js +4 -0
- data/export/assets/js/vendor/systemjs/system.js.map +1 -0
- data/export/assets/js/vendor/systemjs/system.src.js +4000 -0
- data/export/assets/js/vendor/systemjs/system.src.js.map +1 -0
- data/export/assets/js/wab.js +109 -0
- data/export/index.html +41 -0
- data/lib/wab.rb +13 -0
- data/lib/wab/controller.rb +2 -2
- data/lib/wab/errors.rb +12 -0
- data/lib/wab/impl.rb +2 -0
- data/lib/wab/impl/configuration.rb +24 -6
- data/lib/wab/impl/export_proxy.rb +39 -0
- data/lib/wab/impl/exprs/regex.rb +1 -1
- data/lib/wab/impl/handler.rb +14 -14
- data/lib/wab/impl/init.rb +108 -0
- data/lib/wab/impl/model.rb +4 -3
- data/lib/wab/impl/shell.rb +14 -4
- data/lib/wab/impl/templates/opo-rub.conf.template +253 -0
- data/lib/wab/impl/templates/opo.conf.template +224 -0
- data/lib/wab/impl/templates/spawn.rb.template +42 -0
- data/lib/wab/impl/templates/ui_controller.rb.template +12 -0
- data/lib/wab/impl/templates/wabur.conf.template +40 -0
- data/lib/wab/ui.rb +19 -0
- data/lib/wab/ui/create.rb +26 -0
- data/lib/wab/ui/display.rb +34 -0
- data/lib/wab/ui/flow.rb +54 -0
- data/lib/wab/ui/list.rb +59 -0
- data/lib/wab/ui/multi_flow.rb +23 -0
- data/lib/wab/ui/rest_flow.rb +89 -0
- data/lib/wab/ui/update.rb +27 -0
- data/lib/wab/ui/view.rb +62 -0
- data/lib/wab/utils.rb +4 -4
- data/lib/wab/version.rb +1 -1
- data/pages/Architecture.md +104 -1
- data/test/test_configuration.rb +1 -1
- data/test/test_impl.rb +1 -0
- data/test/test_init.rb +33 -0
- metadata +94 -7
- data/pages/Plan.md +0 -27
data/lib/wab/utils.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module WAB
|
2
2
|
module Utils
|
3
3
|
class << self
|
4
|
-
UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
|
5
|
-
TIME_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}\:\d{2}\.\d{9}Z
|
4
|
+
UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.freeze
|
5
|
+
TIME_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}\:\d{2}\.\d{9}Z$/.freeze
|
6
6
|
|
7
7
|
def ruby_series
|
8
8
|
RbConfig::CONFIG.values_at('MAJOR', 'MINOR').join.to_i
|
@@ -22,14 +22,14 @@ module WAB
|
|
22
22
|
# "123e4567-e89b-12d3-a456-426655440000"
|
23
23
|
def uuid_format?(str)
|
24
24
|
return false unless 36 == str.length
|
25
|
-
|
25
|
+
UUID_REGEX === str
|
26
26
|
end
|
27
27
|
|
28
28
|
# Detect if given string matches a Time format as encoded by WAB components:
|
29
29
|
# "2017-09-01T12:45:15.123456789Z"
|
30
30
|
def wab_time_format?(str)
|
31
31
|
return false unless 30 == str.length
|
32
|
-
|
32
|
+
TIME_REGEX === str
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
data/lib/wab/version.rb
CHANGED
data/pages/Architecture.md
CHANGED
@@ -1,11 +1,52 @@
|
|
1
1
|
# Architecture
|
2
2
|
|
3
|
+
WABuR is a Web Application Builder using Ruby. It strives to be simple to
|
4
|
+
use and maintain not only for the trivial case but for more advanced
|
5
|
+
applications as well. It utilizes a Mode/View/Controller pattern with well
|
6
|
+
defined APIs between each element of the MVC approach.
|
7
|
+
|
8
|
+
One of the more interesting benefits of well defined APIs between MVC
|
9
|
+
components is that it allows multiple Views without changing any other
|
10
|
+
components. A View can be a single page JavaScript application as is used in
|
11
|
+
the WABuR reference implementation or it can simply be a `curl` command used
|
12
|
+
to send HTTP requests as is used in later lessons in the tutorial.
|
13
|
+
|
14
|
+
The architecture provides many options but keeps clean and clear API between
|
15
|
+
components. This pluggable design allows for unit test drivers and various levels
|
16
|
+
of deployment options from straight Ruby to a high performance C runner that
|
17
|
+
handles HTTP and data storage.
|
18
|
+
|
19
|
+
Three configuration are available. One uses a Runner that calls to the Ruby
|
20
|
+
core controller through pipes on ```$stdin``` and ```$stdout```. A second is
|
21
|
+
to implement a runner in Ruby (bin/wabur). The third is to use a C Runner with
|
22
|
+
embedded Ruby (OpO-Rub).
|
23
|
+
|
3
24
|
The WAB architecture is a Mode View Controller with clear APIs between each
|
4
25
|
part of the MVC. The design allows the non-business related tasks such as the
|
5
26
|
HTTP server and data store to be treated as service to the Controller which
|
6
27
|
contains the business logic.
|
7
28
|
|
8
|
-
|
29
|
+
A Runner that spawns (forks) and runs a Ruby Controller makes use of the
|
30
|
+
```::WAB::IO::Shell```.
|
31
|
+
|
32
|
+
![](wab_remote_arch.svg)
|
33
|
+
|
34
|
+
The Ruby Runner and C Runner with embedded ruby follow the same architecture.
|
35
|
+
|
36
|
+
![](wab_embedded_arch.svg)
|
37
|
+
|
38
|
+
Access to data can follow two paths. A direct access to the data is possible
|
39
|
+
as portrayed by the red line that flows from HTTP server to the runner and
|
40
|
+
onto the Model. The other path is to dive down into the Ruby Controller and
|
41
|
+
allow the Controller to modify and control what is returned by a request. The
|
42
|
+
Benchmark results in the (benchmarks/README.md)[benchmarks/README.md] includes
|
43
|
+
the latest results.
|
44
|
+
|
45
|
+
![](wab_access_paths.svg)
|
46
|
+
|
47
|
+
Simplified the logical view is:
|
48
|
+
|
49
|
+
![](wab_parts.svg)
|
9
50
|
|
10
51
|
## MVC
|
11
52
|
|
@@ -198,3 +239,65 @@ Outside of this project WAB C or other language shells can be written. The
|
|
198
239
|
first is expected to be a derivative of [OpO](http://opo.technology) as it
|
199
240
|
takes shape. This WAB Shell will also draw on the libraries use by [Piper
|
200
241
|
Push Cache](http://piperpushcache.com) to provide WebSocket and SSE support.
|
242
|
+
|
243
|
+
## WABuR Repository layout
|
244
|
+
|
245
|
+
Knowing what the concepts involved in the WABuR architecture and design does
|
246
|
+
not make it obvious where all the parts described reside in the
|
247
|
+
repository. The following directory overlay attempts to provide some of that
|
248
|
+
mapping.
|
249
|
+
|
250
|
+
```
|
251
|
+
wabur
|
252
|
+
├── bench
|
253
|
+
| Benchmark results and code.
|
254
|
+
├── bin
|
255
|
+
| Scripts available from the gem such as the wabur app.
|
256
|
+
├── export
|
257
|
+
| Files exported by the gem. This is used as an alternate file system
|
258
|
+
| for the web servers if a filer has not been added by the developer.
|
259
|
+
├── lib
|
260
|
+
| └── wab
|
261
|
+
| | The core module that provides duck-types for Shell and Data. It
|
262
|
+
| | also contains the default Controller bahavior and some utilities
|
263
|
+
| | and helpers.
|
264
|
+
| ├── impl
|
265
|
+
| | The Impl module provides an implementation of the duck-type
|
266
|
+
| | found in the wab directory. The wabur pure Ruby runner is
|
267
|
+
| | implemented in this directory.
|
268
|
+
| ├── io
|
269
|
+
| | Implements a stdio shell that is used with a runner that forks
|
270
|
+
| | a WAB::IO::Shell that then acts as a mechanism for exchanging
|
271
|
+
| | messages between the Controller and the Runner which
|
272
|
+
| | implements the Model and provides an HTTP API for Views.
|
273
|
+
| └── ui
|
274
|
+
| The reference UI makes use of configuration data to define
|
275
|
+
| displays and transitions between displays. Displays are
|
276
|
+
| described mostly by HTML generated by the Ruby code in this
|
277
|
+
| directory. There is also a Controller class that provides the
|
278
|
+
| UI configuration just as anu other Controller does for data
|
279
|
+
| from the model or database.
|
280
|
+
├── pages
|
281
|
+
| Additional documentation.
|
282
|
+
├── script
|
283
|
+
| Scripts for building and tools for developers.
|
284
|
+
├── test
|
285
|
+
| Unit and compatibility tests.
|
286
|
+
├── tutorial
|
287
|
+
| Tutorial for building a WABuR application from the ground up.
|
288
|
+
└── view
|
289
|
+
| Source code for JavaScript, CSS, fonts, and other View related
|
290
|
+
| components. This is where the reference UI implemenation sources
|
291
|
+
| reside or at least the non-configuration defining portions.
|
292
|
+
├── ui
|
293
|
+
| ├── js
|
294
|
+
| | JavaScript sources for the UI reference implementation.
|
295
|
+
| ├── styles
|
296
|
+
| | Sass sources for generating the wab.css file.
|
297
|
+
| └── wabfont
|
298
|
+
| A font used to provide the icons in the list view.
|
299
|
+
└── wab
|
300
|
+
└── wab.js
|
301
|
+
JavaScript file that implements API wrappers for calls to the
|
302
|
+
Controllers
|
303
|
+
```
|
data/test/test_configuration.rb
CHANGED
data/test/test_impl.rb
CHANGED
data/test/test_init.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative 'helper'
|
4
|
+
require 'wab/impl'
|
5
|
+
|
6
|
+
class TestImplInit < TestImpl
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@config = {
|
10
|
+
base: File.join(__dir__, 'tmp'),
|
11
|
+
rest: ['Entry', 'Article']
|
12
|
+
}
|
13
|
+
@dir = @config[:base]
|
14
|
+
FileUtils.remove_dir @dir if Dir.exist?(@dir)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_setup
|
18
|
+
WAB::Impl::Init.setup(File.expand_path(@dir), @config)
|
19
|
+
|
20
|
+
controller = File.read("#{@dir}/lib/ui_controller.rb")
|
21
|
+
assert_match /kind: 'Entry',\n/, controller
|
22
|
+
assert_match /kind: 'Article',\n/, controller
|
23
|
+
|
24
|
+
wabur_config = File.read("#{@dir}/config/wabur.conf")
|
25
|
+
assert_match /handler.1.type = Entry\nhandler.1.handler = WAB::OpenController/, wabur_config
|
26
|
+
assert_match /handler.2.type = Article\nhandler.2.handler = WAB::OpenController/, wabur_config
|
27
|
+
|
28
|
+
opo_rub_config = File.read("#{@dir}/config/opo-rub.conf")
|
29
|
+
assert_match /handler.entry.path = \/v1\/Entry\/\*\*\nhandler.entry.class = WAB::OpenController/, opo_rub_config
|
30
|
+
assert_match /handler.article.path = \/v1\/Article\/\*\*\nhandler.article.class = WAB::OpenController/, opo_rub_config
|
31
|
+
end
|
32
|
+
|
33
|
+
end # TestImplInit
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wabur
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Ohler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oj
|
@@ -78,6 +78,20 @@ dependencies:
|
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '5'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: sass
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '3.4'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '3.4'
|
81
95
|
description: 'Web Application Builder '
|
82
96
|
email: peter@ohler.com
|
83
97
|
executables:
|
@@ -87,11 +101,67 @@ extra_rdoc_files:
|
|
87
101
|
- README.md
|
88
102
|
- pages/Architecture.md
|
89
103
|
- pages/Goals.md
|
90
|
-
- pages/Plan.md
|
91
104
|
files:
|
92
105
|
- LICENSE
|
93
106
|
- README.md
|
94
107
|
- bin/wabur
|
108
|
+
- export/assets/css/wab.css
|
109
|
+
- export/assets/css/wab.css.map
|
110
|
+
- export/assets/fonts/wabfont/README
|
111
|
+
- export/assets/fonts/wabfont/fonts/WAB.eot
|
112
|
+
- export/assets/fonts/wabfont/fonts/WAB.svg
|
113
|
+
- export/assets/fonts/wabfont/fonts/WAB.ttf
|
114
|
+
- export/assets/fonts/wabfont/fonts/WAB.woff
|
115
|
+
- export/assets/fonts/wabfont/selection.json
|
116
|
+
- export/assets/fonts/wabfont/style.css
|
117
|
+
- export/assets/js/transpile.js
|
118
|
+
- export/assets/js/ui.js
|
119
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers.js
|
120
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/asyncGenerator.js
|
121
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/asyncGeneratorDelegate.js
|
122
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/asyncIterator.js
|
123
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/asyncToGenerator.js
|
124
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/classCallCheck.js
|
125
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/createClass.js
|
126
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/defaults.js
|
127
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/defineEnumerableProperties.js
|
128
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/defineProperty.js
|
129
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/extends.js
|
130
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/get.js
|
131
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/inherits.js
|
132
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/instanceof.js
|
133
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/interopRequireDefault.js
|
134
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/interopRequireWildcard.js
|
135
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/jsx.js
|
136
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/newArrowCheck.js
|
137
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/objectDestructuringEmpty.js
|
138
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/objectWithoutProperties.js
|
139
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/possibleConstructorReturn.js
|
140
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/selfGlobal.js
|
141
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/set.js
|
142
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/slicedToArray.js
|
143
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/slicedToArrayLoose.js
|
144
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/taggedTemplateLiteral.js
|
145
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/taggedTemplateLiteralLoose.js
|
146
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/temporalRef.js
|
147
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/temporalUndefined.js
|
148
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/toArray.js
|
149
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/toConsumableArray.js
|
150
|
+
- export/assets/js/vendor/plugin-babel/babel-helpers/typeof.js
|
151
|
+
- export/assets/js/vendor/plugin-babel/plugin-babel.js
|
152
|
+
- export/assets/js/vendor/plugin-babel/regenerator-runtime.js
|
153
|
+
- export/assets/js/vendor/plugin-babel/systemjs-babel-browser.js
|
154
|
+
- export/assets/js/vendor/plugin-babel/systemjs-babel-node.js
|
155
|
+
- export/assets/js/vendor/systemjs/system-production.js
|
156
|
+
- export/assets/js/vendor/systemjs/system-production.js.map
|
157
|
+
- export/assets/js/vendor/systemjs/system-production.src.js
|
158
|
+
- export/assets/js/vendor/systemjs/system-production.src.js.map
|
159
|
+
- export/assets/js/vendor/systemjs/system.js
|
160
|
+
- export/assets/js/vendor/systemjs/system.js.map
|
161
|
+
- export/assets/js/vendor/systemjs/system.src.js
|
162
|
+
- export/assets/js/vendor/systemjs/system.src.js.map
|
163
|
+
- export/assets/js/wab.js
|
164
|
+
- export/index.html
|
95
165
|
- lib/wab.rb
|
96
166
|
- lib/wab/controller.rb
|
97
167
|
- lib/wab/data.rb
|
@@ -100,6 +170,7 @@ files:
|
|
100
170
|
- lib/wab/impl/bool_expr.rb
|
101
171
|
- lib/wab/impl/configuration.rb
|
102
172
|
- lib/wab/impl/data.rb
|
173
|
+
- lib/wab/impl/export_proxy.rb
|
103
174
|
- lib/wab/impl/expr.rb
|
104
175
|
- lib/wab/impl/expr_parser.rb
|
105
176
|
- lib/wab/impl/exprs/and.rb
|
@@ -115,9 +186,15 @@ files:
|
|
115
186
|
- lib/wab/impl/exprs/or.rb
|
116
187
|
- lib/wab/impl/exprs/regex.rb
|
117
188
|
- lib/wab/impl/handler.rb
|
189
|
+
- lib/wab/impl/init.rb
|
118
190
|
- lib/wab/impl/model.rb
|
119
191
|
- lib/wab/impl/path_expr.rb
|
120
192
|
- lib/wab/impl/shell.rb
|
193
|
+
- lib/wab/impl/templates/opo-rub.conf.template
|
194
|
+
- lib/wab/impl/templates/opo.conf.template
|
195
|
+
- lib/wab/impl/templates/spawn.rb.template
|
196
|
+
- lib/wab/impl/templates/ui_controller.rb.template
|
197
|
+
- lib/wab/impl/templates/wabur.conf.template
|
121
198
|
- lib/wab/impl/utils.rb
|
122
199
|
- lib/wab/io.rb
|
123
200
|
- lib/wab/io/call.rb
|
@@ -126,12 +203,20 @@ files:
|
|
126
203
|
- lib/wab/open_controller.rb
|
127
204
|
- lib/wab/shell.rb
|
128
205
|
- lib/wab/shell_logger.rb
|
206
|
+
- lib/wab/ui.rb
|
207
|
+
- lib/wab/ui/create.rb
|
208
|
+
- lib/wab/ui/display.rb
|
209
|
+
- lib/wab/ui/flow.rb
|
210
|
+
- lib/wab/ui/list.rb
|
211
|
+
- lib/wab/ui/multi_flow.rb
|
212
|
+
- lib/wab/ui/rest_flow.rb
|
213
|
+
- lib/wab/ui/update.rb
|
214
|
+
- lib/wab/ui/view.rb
|
129
215
|
- lib/wab/utils.rb
|
130
216
|
- lib/wab/uuid.rb
|
131
217
|
- lib/wab/version.rb
|
132
218
|
- pages/Architecture.md
|
133
219
|
- pages/Goals.md
|
134
|
-
- pages/Plan.md
|
135
220
|
- test/bench_io_shell.rb
|
136
221
|
- test/helper.rb
|
137
222
|
- test/mirror_controller.rb
|
@@ -151,6 +236,7 @@ files:
|
|
151
236
|
- test/test_expr_or.rb
|
152
237
|
- test/test_expr_regex.rb
|
153
238
|
- test/test_impl.rb
|
239
|
+
- test/test_init.rb
|
154
240
|
- test/test_io_shell.rb
|
155
241
|
- test/test_model.rb
|
156
242
|
- test/test_runner.rb
|
@@ -175,12 +261,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
175
261
|
version: '0'
|
176
262
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
263
|
requirements:
|
178
|
-
- - "
|
264
|
+
- - ">="
|
179
265
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
266
|
+
version: '0'
|
181
267
|
requirements: []
|
182
268
|
rubyforge_project: wabur
|
183
|
-
rubygems_version: 2.6.
|
269
|
+
rubygems_version: 2.6.11
|
184
270
|
signing_key:
|
185
271
|
specification_version: 4
|
186
272
|
summary: Web Application Builder
|
@@ -204,6 +290,7 @@ test_files:
|
|
204
290
|
- test/test_expr_or.rb
|
205
291
|
- test/test_expr_regex.rb
|
206
292
|
- test/test_impl.rb
|
293
|
+
- test/test_init.rb
|
207
294
|
- test/test_io_shell.rb
|
208
295
|
- test/test_model.rb
|
209
296
|
- test/test_runner.rb
|
data/pages/Plan.md
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# Plan
|
2
|
-
|
3
|
-
More details will be added here as progress continues. For now the high level plan is:
|
4
|
-
|
5
|
-
### Completed
|
6
|
-
|
7
|
-
- _Define APIs - initial complete_
|
8
|
-
- _WAB::IO::Shell - complete_
|
9
|
-
- _stdio sample - complete_
|
10
|
-
|
11
|
-
### Pending
|
12
|
-
|
13
|
-
- Benchmarks - started
|
14
|
-
- Overall as a black box
|
15
|
-
- WAB::IO::Shell alone
|
16
|
-
- Spec driven Javascript libraries
|
17
|
-
- Define spec format
|
18
|
-
- implement and test generic Javascript app
|
19
|
-
- Ruby Runner
|
20
|
-
- Runner framework
|
21
|
-
- HTTP server
|
22
|
-
- Model
|
23
|
-
- In memory object management
|
24
|
-
- Data store
|
25
|
-
- Embedded Ruby Runner (separate project)
|
26
|
-
- End to end examples
|
27
|
-
- Advanced Javascript displays
|