wabur 0.4.0d1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +20 -66
  3. data/bin/wabur +48 -11
  4. data/export/assets/css/wab.css +2 -0
  5. data/export/assets/css/wab.css.map +7 -0
  6. data/export/assets/fonts/wabfont/README +18 -0
  7. data/export/assets/fonts/wabfont/fonts/WAB.eot +0 -0
  8. data/export/assets/fonts/wabfont/fonts/WAB.svg +25 -0
  9. data/export/assets/fonts/wabfont/fonts/WAB.ttf +0 -0
  10. data/export/assets/fonts/wabfont/fonts/WAB.woff +0 -0
  11. data/export/assets/fonts/wabfont/selection.json +460 -0
  12. data/export/assets/fonts/wabfont/style.css +74 -0
  13. data/export/assets/js/transpile.js +8 -0
  14. data/export/assets/js/ui.js +377 -0
  15. data/export/assets/js/vendor/plugin-babel/babel-helpers.js +558 -0
  16. data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncGenerator.js +112 -0
  17. data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncGeneratorDelegate.js +51 -0
  18. data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncIterator.js +14 -0
  19. data/export/assets/js/vendor/plugin-babel/babel-helpers/asyncToGenerator.js +28 -0
  20. data/export/assets/js/vendor/plugin-babel/babel-helpers/classCallCheck.js +5 -0
  21. data/export/assets/js/vendor/plugin-babel/babel-helpers/createClass.js +17 -0
  22. data/export/assets/js/vendor/plugin-babel/babel-helpers/defaults.js +14 -0
  23. data/export/assets/js/vendor/plugin-babel/babel-helpers/defineEnumerableProperties.js +10 -0
  24. data/export/assets/js/vendor/plugin-babel/babel-helpers/defineProperty.js +14 -0
  25. data/export/assets/js/vendor/plugin-babel/babel-helpers/extends.js +13 -0
  26. data/export/assets/js/vendor/plugin-babel/babel-helpers/get.js +24 -0
  27. data/export/assets/js/vendor/plugin-babel/babel-helpers/inherits.js +15 -0
  28. data/export/assets/js/vendor/plugin-babel/babel-helpers/instanceof.js +7 -0
  29. data/export/assets/js/vendor/plugin-babel/babel-helpers/interopRequireDefault.js +5 -0
  30. data/export/assets/js/vendor/plugin-babel/babel-helpers/interopRequireWildcard.js +16 -0
  31. data/export/assets/js/vendor/plugin-babel/babel-helpers/jsx.js +42 -0
  32. data/export/assets/js/vendor/plugin-babel/babel-helpers/newArrowCheck.js +5 -0
  33. data/export/assets/js/vendor/plugin-babel/babel-helpers/objectDestructuringEmpty.js +3 -0
  34. data/export/assets/js/vendor/plugin-babel/babel-helpers/objectWithoutProperties.js +11 -0
  35. data/export/assets/js/vendor/plugin-babel/babel-helpers/possibleConstructorReturn.js +7 -0
  36. data/export/assets/js/vendor/plugin-babel/babel-helpers/selfGlobal.js +1 -0
  37. data/export/assets/js/vendor/plugin-babel/babel-helpers/set.js +21 -0
  38. data/export/assets/js/vendor/plugin-babel/babel-helpers/slicedToArray.js +37 -0
  39. data/export/assets/js/vendor/plugin-babel/babel-helpers/slicedToArrayLoose.js +17 -0
  40. data/export/assets/js/vendor/plugin-babel/babel-helpers/taggedTemplateLiteral.js +7 -0
  41. data/export/assets/js/vendor/plugin-babel/babel-helpers/taggedTemplateLiteralLoose.js +4 -0
  42. data/export/assets/js/vendor/plugin-babel/babel-helpers/temporalRef.js +7 -0
  43. data/export/assets/js/vendor/plugin-babel/babel-helpers/temporalUndefined.js +1 -0
  44. data/export/assets/js/vendor/plugin-babel/babel-helpers/toArray.js +3 -0
  45. data/export/assets/js/vendor/plugin-babel/babel-helpers/toConsumableArray.js +9 -0
  46. data/export/assets/js/vendor/plugin-babel/babel-helpers/typeof.js +5 -0
  47. data/export/assets/js/vendor/plugin-babel/plugin-babel.js +222 -0
  48. data/export/assets/js/vendor/plugin-babel/regenerator-runtime.js +685 -0
  49. data/export/assets/js/vendor/plugin-babel/systemjs-babel-browser.js +1 -0
  50. data/export/assets/js/vendor/plugin-babel/systemjs-babel-node.js +55086 -0
  51. data/export/assets/js/vendor/systemjs/system-production.js +4 -0
  52. data/export/assets/js/vendor/systemjs/system-production.js.map +1 -0
  53. data/export/assets/js/vendor/systemjs/system-production.src.js +1711 -0
  54. data/export/assets/js/vendor/systemjs/system-production.src.js.map +1 -0
  55. data/export/assets/js/vendor/systemjs/system.js +4 -0
  56. data/export/assets/js/vendor/systemjs/system.js.map +1 -0
  57. data/export/assets/js/vendor/systemjs/system.src.js +4000 -0
  58. data/export/assets/js/vendor/systemjs/system.src.js.map +1 -0
  59. data/export/assets/js/wab.js +109 -0
  60. data/export/index.html +41 -0
  61. data/lib/wab.rb +13 -0
  62. data/lib/wab/controller.rb +2 -2
  63. data/lib/wab/errors.rb +12 -0
  64. data/lib/wab/impl.rb +2 -0
  65. data/lib/wab/impl/configuration.rb +24 -6
  66. data/lib/wab/impl/export_proxy.rb +39 -0
  67. data/lib/wab/impl/exprs/regex.rb +1 -1
  68. data/lib/wab/impl/handler.rb +14 -14
  69. data/lib/wab/impl/init.rb +108 -0
  70. data/lib/wab/impl/model.rb +4 -3
  71. data/lib/wab/impl/shell.rb +14 -4
  72. data/lib/wab/impl/templates/opo-rub.conf.template +253 -0
  73. data/lib/wab/impl/templates/opo.conf.template +224 -0
  74. data/lib/wab/impl/templates/spawn.rb.template +42 -0
  75. data/lib/wab/impl/templates/ui_controller.rb.template +12 -0
  76. data/lib/wab/impl/templates/wabur.conf.template +40 -0
  77. data/lib/wab/ui.rb +19 -0
  78. data/lib/wab/ui/create.rb +26 -0
  79. data/lib/wab/ui/display.rb +34 -0
  80. data/lib/wab/ui/flow.rb +54 -0
  81. data/lib/wab/ui/list.rb +59 -0
  82. data/lib/wab/ui/multi_flow.rb +23 -0
  83. data/lib/wab/ui/rest_flow.rb +89 -0
  84. data/lib/wab/ui/update.rb +27 -0
  85. data/lib/wab/ui/view.rb +62 -0
  86. data/lib/wab/utils.rb +4 -4
  87. data/lib/wab/version.rb +1 -1
  88. data/pages/Architecture.md +104 -1
  89. data/test/test_configuration.rb +1 -1
  90. data/test/test_impl.rb +1 -0
  91. data/test/test_init.rb +33 -0
  92. metadata +94 -7
  93. data/pages/Plan.md +0 -27
@@ -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
- !UUID_REGEX.match(str).nil?
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
- !TIME_REGEX.match(str).nil?
32
+ TIME_REGEX === str
33
33
  end
34
34
  end
35
35
  end
@@ -1,5 +1,5 @@
1
1
 
2
2
  module WAB
3
3
  # Current version of the module.
4
- VERSION = '0.4.0d1'
4
+ VERSION = '0.5.0'
5
5
  end
@@ -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
- ![](http://www.opo.technology/wab/wab_arch.svg)
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
+ ```
@@ -16,7 +16,7 @@ class TestConfiguration < TestImpl
16
16
  end
17
17
 
18
18
  def test_initialization
19
- assert_equal({:environment=>"test"}, @config.map )
19
+ assert_equal({environment:'test', mode:'run'}, @config.map )
20
20
  end
21
21
 
22
22
  def test_parse_config_file
@@ -35,4 +35,5 @@ end # TestImpl
35
35
  require 'test_configuration'
36
36
  require 'test_data'
37
37
  require 'test_expr'
38
+ require 'test_init'
38
39
  require 'test_model'
@@ -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.0d1
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-09-23 00:00:00.000000000 Z
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: 1.3.1
266
+ version: '0'
181
267
  requirements: []
182
268
  rubyforge_project: wabur
183
- rubygems_version: 2.6.13
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
@@ -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