funicular 0.4.0 → 0.5.1

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +473 -1
  3. data/demo/local_notes.html +207 -0
  4. data/docs/architecture.md +181 -3
  5. data/docs/local_database.md +1035 -0
  6. data/lib/funicular/assets/funicular.rb +14 -0
  7. data/lib/funicular/configuration.rb +65 -0
  8. data/lib/funicular/epoch_header.rb +69 -0
  9. data/lib/funicular/epoch_stamping.rb +66 -0
  10. data/lib/funicular/helpers/picoruby_helper.rb +96 -1
  11. data/lib/funicular/railtie.rb +30 -0
  12. data/lib/funicular/schema.rb +45 -12
  13. data/lib/funicular/session_epoch.rb +110 -0
  14. data/lib/funicular/ssr/runtime.rb +57 -12
  15. data/lib/funicular/ssr.rb +25 -0
  16. data/lib/funicular/testing/node_runner.mjs +19 -0
  17. data/lib/funicular/testing.rb +47 -0
  18. data/lib/funicular/vendor/mrbc/VERSION +1 -1
  19. data/lib/funicular/vendor/mrbc/mrbc.js +82 -124
  20. data/lib/funicular/vendor/mrbc/mrbc.wasm +0 -0
  21. data/lib/funicular/vendor/picoruby/VERSION +1 -1
  22. data/lib/funicular/vendor/picoruby/debug/picoruby.js +241 -126
  23. data/lib/funicular/vendor/picoruby/debug/picoruby.wasm +0 -0
  24. data/lib/funicular/vendor/picoruby/dist/picoruby.js +1 -1
  25. data/lib/funicular/vendor/picoruby/dist/picoruby.wasm +0 -0
  26. data/lib/funicular/vendor/picoruby-test-node/VERSION +1 -1
  27. data/lib/funicular/vendor/picoruby-test-node/picoruby.js +2 -7201
  28. data/lib/funicular/vendor/picoruby-test-node/picoruby.wasm +0 -0
  29. data/lib/funicular/version.rb +4 -3
  30. data/lib/funicular.rb +1 -0
  31. data/lib/tasks/funicular.rake +33 -17
  32. data/minitest/callback_error_visibility_test.rb +48 -0
  33. data/minitest/configuration_test.rb +78 -0
  34. data/minitest/dsl_test.rb +27 -0
  35. data/minitest/epoch_header_test.rb +149 -0
  36. data/minitest/epoch_stamping_test.rb +225 -0
  37. data/minitest/fixtures/funicular_app/components/probe_component.rb +15 -0
  38. data/minitest/navigation_guard_test.rb +65 -0
  39. data/minitest/picoruby_helper_test.rb +236 -0
  40. data/minitest/schema_test.rb +47 -0
  41. data/minitest/session_epoch_test.rb +122 -0
  42. data/minitest/ssr_database_test.rb +78 -0
  43. data/minitest/ssr_reload_test.rb +106 -0
  44. data/minitest/ssr_test.rb +41 -0
  45. data/minitest/testing_ensure_compiled_test.rb +52 -0
  46. data/minitest/validations_test.rb +35 -5
  47. data/mrbgem.rake +2 -0
  48. data/mrblib/cable.rb +1 -1
  49. data/mrblib/component.rb +113 -1
  50. data/mrblib/db.rb +3116 -0
  51. data/mrblib/debug.rb +54 -10
  52. data/mrblib/differ.rb +7 -5
  53. data/mrblib/file_upload.rb +17 -7
  54. data/mrblib/funicular.rb +137 -21
  55. data/mrblib/http.rb +84 -107
  56. data/mrblib/model.rb +1178 -23
  57. data/mrblib/patcher.rb +57 -25
  58. data/mrblib/relation.rb +342 -0
  59. data/mrblib/router.rb +45 -4
  60. data/mrblib/styles.rb +20 -0
  61. data/mrblib/vdom.rb +5 -5
  62. data/mrblib/version.rb +11 -0
  63. data/sig/component.rbs +7 -0
  64. data/sig/db.rbs +328 -0
  65. data/sig/debug.rbs +5 -0
  66. data/sig/funicular.rbs +5 -0
  67. data/sig/http.rbs +8 -21
  68. data/sig/model.rbs +101 -7
  69. data/sig/patcher.rbs +1 -0
  70. data/sig/relation.rbs +44 -0
  71. data/sig/router.rbs +1 -0
  72. data/sig/styles.rbs +1 -0
  73. metadata +21 -3
  74. data/lib/funicular/vendor/picoruby-test-node/picoruby.wasm.map +0 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: funicular
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - HASUMI Hitoshi
@@ -38,6 +38,7 @@ files:
38
38
  - README.md
39
39
  - Rakefile
40
40
  - demo/keymap_editor.html
41
+ - demo/local_notes.html
41
42
  - demo/test_cable.html
42
43
  - demo/test_chartjs.html
43
44
  - demo/test_component.html
@@ -47,6 +48,7 @@ files:
47
48
  - demo/test_vdom.html
48
49
  - demo/tic-tac-toe.html
49
50
  - docs/architecture.md
51
+ - docs/local_database.md
50
52
  - exe/funicular
51
53
  - lib/funicular.rb
52
54
  - lib/funicular/assets/funicular.css
@@ -56,12 +58,15 @@ files:
56
58
  - lib/funicular/commands/routes.rb
57
59
  - lib/funicular/compiler.rb
58
60
  - lib/funicular/configuration.rb
61
+ - lib/funicular/epoch_header.rb
62
+ - lib/funicular/epoch_stamping.rb
59
63
  - lib/funicular/helpers/picoruby_helper.rb
60
64
  - lib/funicular/middleware.rb
61
65
  - lib/funicular/plugin.rb
62
66
  - lib/funicular/railtie.rb
63
67
  - lib/funicular/route_parser.rb
64
68
  - lib/funicular/schema.rb
69
+ - lib/funicular/session_epoch.rb
65
70
  - lib/funicular/ssr.rb
66
71
  - lib/funicular/ssr/runtime.rb
67
72
  - lib/funicular/testing.rb
@@ -73,7 +78,6 @@ files:
73
78
  - lib/funicular/vendor/picoruby-test-node/VERSION
74
79
  - lib/funicular/vendor/picoruby-test-node/picoruby.js
75
80
  - lib/funicular/vendor/picoruby-test-node/picoruby.wasm
76
- - lib/funicular/vendor/picoruby-test-node/picoruby.wasm.map
77
81
  - lib/funicular/vendor/picoruby/VERSION
78
82
  - lib/funicular/vendor/picoruby/debug/init.iife.js
79
83
  - lib/funicular/vendor/picoruby/debug/picoruby.js
@@ -96,24 +100,33 @@ files:
96
100
  - lib/generators/funicular/chat/templates/initializer.rb.tt
97
101
  - lib/generators/funicular/chat/templates/show.html.erb.tt
98
102
  - lib/tasks/funicular.rake
103
+ - minitest/callback_error_visibility_test.rb
99
104
  - minitest/commands_routes_test.rb
100
105
  - minitest/compiler_test.rb
101
106
  - minitest/configuration_test.rb
102
107
  - minitest/dsl_test.rb
108
+ - minitest/epoch_header_test.rb
109
+ - minitest/epoch_stamping_test.rb
103
110
  - minitest/fixtures/funicular_app/components/greeting_component.rb
111
+ - minitest/fixtures/funicular_app/components/probe_component.rb
104
112
  - minitest/fixtures/funicular_app/initializer.rb
105
113
  - minitest/form_for_test.rb
106
114
  - minitest/funicular_test.rb
107
115
  - minitest/hydration_test.rb
108
116
  - minitest/middleware_test.rb
117
+ - minitest/navigation_guard_test.rb
109
118
  - minitest/picoruby_helper_test.rb
110
119
  - minitest/plugin_test.rb
111
120
  - minitest/route_parser_test.rb
112
121
  - minitest/schema_test.rb
122
+ - minitest/session_epoch_test.rb
113
123
  - minitest/sig_tags_test.rb
124
+ - minitest/ssr_database_test.rb
125
+ - minitest/ssr_reload_test.rb
114
126
  - minitest/ssr_test.rb
115
127
  - minitest/support/rails_stub.rb
116
128
  - minitest/test_helper.rb
129
+ - minitest/testing_ensure_compiled_test.rb
117
130
  - minitest/testing_test.rb
118
131
  - minitest/validations_test.rb
119
132
  - minitest/view_context_test.rb
@@ -123,6 +136,7 @@ files:
123
136
  - mrblib/1_validators.rb
124
137
  - mrblib/cable.rb
125
138
  - mrblib/component.rb
139
+ - mrblib/db.rb
126
140
  - mrblib/debug.rb
127
141
  - mrblib/differ.rb
128
142
  - mrblib/environment_inquirer.rb
@@ -134,6 +148,7 @@ files:
134
148
  - mrblib/http.rb
135
149
  - mrblib/model.rb
136
150
  - mrblib/patcher.rb
151
+ - mrblib/relation.rb
137
152
  - mrblib/router.rb
138
153
  - mrblib/runtime.rb
139
154
  - mrblib/store.rb
@@ -141,9 +156,11 @@ files:
141
156
  - mrblib/store_singleton.rb
142
157
  - mrblib/styles.rb
143
158
  - mrblib/vdom.rb
159
+ - mrblib/version.rb
144
160
  - mrblib/view_context.rb
145
161
  - sig/cable.rbs
146
162
  - sig/component.rbs
163
+ - sig/db.rbs
147
164
  - sig/debug.rbs
148
165
  - sig/differ.rbs
149
166
  - sig/environment_iquirer.rbs
@@ -155,6 +172,7 @@ files:
155
172
  - sig/http.rbs
156
173
  - sig/model.rbs
157
174
  - sig/patcher.rbs
175
+ - sig/relation.rbs
158
176
  - sig/router.rbs
159
177
  - sig/runtime.rbs
160
178
  - sig/store.rbs
@@ -206,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
224
  - !ruby/object:Gem::Version
207
225
  version: '0'
208
226
  requirements: []
209
- rubygems_version: 4.0.10
227
+ rubygems_version: 4.0.20
210
228
  specification_version: 4
211
229
  summary: Rails plugin for client-side Ruby development with mruby
212
230
  test_files: []