ru.Bee 1.3.2 → 1.4.0

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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/bin/rubee +114 -88
  3. data/lib/app/views/app.tsx +27 -0
  4. data/lib/app/views/index.html +47 -0
  5. data/lib/app/views/layout.erb +3 -3
  6. data/lib/app/views/utils/redirectToBackend.tsx +9 -0
  7. data/lib/app/views/welcome_show.erb +1 -1
  8. data/lib/config/base_configuration.rb +15 -6
  9. data/lib/config/routes.rb +2 -1
  10. data/lib/db/create_accounts.rb +8 -8
  11. data/lib/db/create_comments.rb +7 -7
  12. data/lib/db/create_posts.rb +8 -8
  13. data/lib/db/create_users.rb +8 -8
  14. data/lib/db/structure.rb +42 -42
  15. data/lib/esbuild.config.js +33 -0
  16. data/lib/inits/print_colors.rb +1 -1
  17. data/lib/js/app.js +13 -0
  18. data/lib/js/app.js.map +7 -0
  19. data/lib/js/bundle.js +26157 -0
  20. data/lib/js/bundle.js.map +7 -0
  21. data/lib/node_modules/@types/cookie/LICENSE +21 -0
  22. data/lib/node_modules/@types/cookie/README.md +15 -0
  23. data/lib/node_modules/@types/cookie/index.d.ts +154 -0
  24. data/lib/node_modules/@types/cookie/package.json +30 -0
  25. data/lib/node_modules/cookie/LICENSE +24 -0
  26. data/lib/node_modules/cookie/README.md +248 -0
  27. data/lib/node_modules/cookie/dist/index.d.ts +114 -0
  28. data/lib/node_modules/cookie/dist/index.js +239 -0
  29. data/lib/node_modules/cookie/dist/index.js.map +1 -0
  30. data/lib/node_modules/cookie/package.json +42 -0
  31. data/lib/node_modules/js-tokens/CHANGELOG.md +151 -0
  32. data/lib/node_modules/js-tokens/LICENSE +21 -0
  33. data/lib/node_modules/js-tokens/README.md +240 -0
  34. data/lib/node_modules/js-tokens/index.js +23 -0
  35. data/lib/node_modules/js-tokens/package.json +30 -0
  36. data/lib/node_modules/loose-envify/LICENSE +21 -0
  37. data/lib/node_modules/loose-envify/README.md +45 -0
  38. data/lib/node_modules/loose-envify/cli.js +16 -0
  39. data/lib/node_modules/loose-envify/custom.js +4 -0
  40. data/lib/node_modules/loose-envify/index.js +3 -0
  41. data/lib/node_modules/loose-envify/loose-envify.js +36 -0
  42. data/lib/node_modules/loose-envify/package.json +36 -0
  43. data/lib/node_modules/loose-envify/replace.js +65 -0
  44. data/lib/node_modules/react/LICENSE +21 -0
  45. data/lib/node_modules/react/README.md +37 -0
  46. data/lib/node_modules/react/cjs/react-jsx-dev-runtime.development.js +1315 -0
  47. data/lib/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  48. data/lib/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
  49. data/lib/node_modules/react/cjs/react-jsx-runtime.development.js +1333 -0
  50. data/lib/node_modules/react/cjs/react-jsx-runtime.production.min.js +11 -0
  51. data/lib/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +11 -0
  52. data/lib/node_modules/react/cjs/react.development.js +2740 -0
  53. data/lib/node_modules/react/cjs/react.production.min.js +26 -0
  54. data/lib/node_modules/react/cjs/react.shared-subset.development.js +20 -0
  55. data/lib/node_modules/react/cjs/react.shared-subset.production.min.js +10 -0
  56. data/lib/node_modules/react/index.js +7 -0
  57. data/lib/node_modules/react/jsx-dev-runtime.js +7 -0
  58. data/lib/node_modules/react/jsx-runtime.js +7 -0
  59. data/lib/node_modules/react/package.json +47 -0
  60. data/lib/node_modules/react/react.shared-subset.js +7 -0
  61. data/lib/node_modules/react/umd/react.development.js +3343 -0
  62. data/lib/node_modules/react/umd/react.production.min.js +31 -0
  63. data/lib/node_modules/react/umd/react.profiling.min.js +31 -0
  64. data/lib/node_modules/react-dom/LICENSE +21 -0
  65. data/lib/node_modules/react-dom/README.md +60 -0
  66. data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +7029 -0
  67. data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +93 -0
  68. data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js +7093 -0
  69. data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +101 -0
  70. data/lib/node_modules/react-dom/cjs/react-dom-server.browser.development.js +7014 -0
  71. data/lib/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +96 -0
  72. data/lib/node_modules/react-dom/cjs/react-dom-server.node.development.js +7070 -0
  73. data/lib/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +102 -0
  74. data/lib/node_modules/react-dom/cjs/react-dom-test-utils.development.js +1763 -0
  75. data/lib/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +40 -0
  76. data/lib/node_modules/react-dom/cjs/react-dom.development.js +29923 -0
  77. data/lib/node_modules/react-dom/cjs/react-dom.production.min.js +322 -0
  78. data/lib/node_modules/react-dom/cjs/react-dom.profiling.min.js +366 -0
  79. data/lib/node_modules/react-dom/client.js +25 -0
  80. data/lib/node_modules/react-dom/index.js +38 -0
  81. data/lib/node_modules/react-dom/package.json +62 -0
  82. data/lib/node_modules/react-dom/profiling.js +38 -0
  83. data/lib/node_modules/react-dom/server.browser.js +17 -0
  84. data/lib/node_modules/react-dom/server.js +3 -0
  85. data/lib/node_modules/react-dom/server.node.js +17 -0
  86. data/lib/node_modules/react-dom/test-utils.js +7 -0
  87. data/lib/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js +7026 -0
  88. data/lib/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js +75 -0
  89. data/lib/node_modules/react-dom/umd/react-dom-server.browser.development.js +7011 -0
  90. data/lib/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +76 -0
  91. data/lib/node_modules/react-dom/umd/react-dom-test-utils.development.js +1759 -0
  92. data/lib/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +33 -0
  93. data/lib/node_modules/react-dom/umd/react-dom.development.js +29924 -0
  94. data/lib/node_modules/react-dom/umd/react-dom.production.min.js +267 -0
  95. data/lib/node_modules/react-dom/umd/react-dom.profiling.min.js +285 -0
  96. data/lib/node_modules/react-router/CHANGELOG.md +1526 -0
  97. data/lib/node_modules/react-router/LICENSE.md +23 -0
  98. data/lib/node_modules/react-router/README.md +7 -0
  99. data/lib/node_modules/react-router/dist/development/chunk-KNED5TY2.mjs +10476 -0
  100. data/lib/node_modules/react-router/dist/development/dom-export.d.mts +23 -0
  101. data/lib/node_modules/react-router/dist/development/dom-export.d.ts +23 -0
  102. data/lib/node_modules/react-router/dist/development/dom-export.js +6111 -0
  103. data/lib/node_modules/react-router/dist/development/dom-export.mjs +234 -0
  104. data/lib/node_modules/react-router/dist/development/fog-of-war-1hWhK5ey.d.mts +1690 -0
  105. data/lib/node_modules/react-router/dist/development/fog-of-war-oa9CGk10.d.ts +1690 -0
  106. data/lib/node_modules/react-router/dist/development/future-ldDp5FKH.d.mts +21 -0
  107. data/lib/node_modules/react-router/dist/development/future-ldDp5FKH.d.ts +21 -0
  108. data/lib/node_modules/react-router/dist/development/index.d.mts +841 -0
  109. data/lib/node_modules/react-router/dist/development/index.d.ts +841 -0
  110. data/lib/node_modules/react-router/dist/development/index.js +10624 -0
  111. data/lib/node_modules/react-router/dist/development/index.mjs +242 -0
  112. data/lib/node_modules/react-router/dist/development/lib/types/route-module.d.mts +209 -0
  113. data/lib/node_modules/react-router/dist/development/lib/types/route-module.d.ts +209 -0
  114. data/lib/node_modules/react-router/dist/development/lib/types/route-module.js +28 -0
  115. data/lib/node_modules/react-router/dist/development/lib/types/route-module.mjs +10 -0
  116. data/lib/node_modules/react-router/dist/development/route-data-5OzAzQtT.d.mts +1716 -0
  117. data/lib/node_modules/react-router/dist/development/route-data-5OzAzQtT.d.ts +1716 -0
  118. data/lib/node_modules/react-router/dist/production/chunk-ZIM7OIE3.mjs +10476 -0
  119. data/lib/node_modules/react-router/dist/production/dom-export.d.mts +23 -0
  120. data/lib/node_modules/react-router/dist/production/dom-export.d.ts +23 -0
  121. data/lib/node_modules/react-router/dist/production/dom-export.js +6111 -0
  122. data/lib/node_modules/react-router/dist/production/dom-export.mjs +234 -0
  123. data/lib/node_modules/react-router/dist/production/fog-of-war-1hWhK5ey.d.mts +1690 -0
  124. data/lib/node_modules/react-router/dist/production/fog-of-war-oa9CGk10.d.ts +1690 -0
  125. data/lib/node_modules/react-router/dist/production/future-ldDp5FKH.d.mts +21 -0
  126. data/lib/node_modules/react-router/dist/production/future-ldDp5FKH.d.ts +21 -0
  127. data/lib/node_modules/react-router/dist/production/index.d.mts +841 -0
  128. data/lib/node_modules/react-router/dist/production/index.d.ts +841 -0
  129. data/lib/node_modules/react-router/dist/production/index.js +10624 -0
  130. data/lib/node_modules/react-router/dist/production/index.mjs +242 -0
  131. data/lib/node_modules/react-router/dist/production/lib/types/route-module.d.mts +209 -0
  132. data/lib/node_modules/react-router/dist/production/lib/types/route-module.d.ts +209 -0
  133. data/lib/node_modules/react-router/dist/production/lib/types/route-module.js +28 -0
  134. data/lib/node_modules/react-router/dist/production/lib/types/route-module.mjs +10 -0
  135. data/lib/node_modules/react-router/dist/production/route-data-5OzAzQtT.d.mts +1716 -0
  136. data/lib/node_modules/react-router/dist/production/route-data-5OzAzQtT.d.ts +1716 -0
  137. data/lib/node_modules/react-router/package.json +116 -0
  138. data/lib/node_modules/react-router-dom/LICENSE.md +23 -0
  139. data/lib/node_modules/react-router-dom/README.md +6 -0
  140. data/lib/node_modules/react-router-dom/dist/index.d.mts +2 -0
  141. data/lib/node_modules/react-router-dom/dist/index.d.ts +2 -0
  142. data/lib/node_modules/react-router-dom/dist/index.js +45 -0
  143. data/lib/node_modules/react-router-dom/dist/index.mjs +18 -0
  144. data/lib/node_modules/react-router-dom/package.json +82 -0
  145. data/lib/node_modules/scheduler/LICENSE +21 -0
  146. data/lib/node_modules/scheduler/README.md +9 -0
  147. data/lib/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js +700 -0
  148. data/lib/node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js +20 -0
  149. data/lib/node_modules/scheduler/cjs/scheduler-unstable_post_task.development.js +207 -0
  150. data/lib/node_modules/scheduler/cjs/scheduler-unstable_post_task.production.min.js +14 -0
  151. data/lib/node_modules/scheduler/cjs/scheduler.development.js +634 -0
  152. data/lib/node_modules/scheduler/cjs/scheduler.production.min.js +19 -0
  153. data/lib/node_modules/scheduler/index.js +7 -0
  154. data/lib/node_modules/scheduler/package.json +36 -0
  155. data/lib/node_modules/scheduler/umd/scheduler-unstable_mock.development.js +699 -0
  156. data/lib/node_modules/scheduler/umd/scheduler-unstable_mock.production.min.js +19 -0
  157. data/lib/node_modules/scheduler/umd/scheduler.development.js +152 -0
  158. data/lib/node_modules/scheduler/umd/scheduler.production.min.js +146 -0
  159. data/lib/node_modules/scheduler/umd/scheduler.profiling.min.js +146 -0
  160. data/lib/node_modules/scheduler/unstable_mock.js +7 -0
  161. data/lib/node_modules/scheduler/unstable_post_task.js +7 -0
  162. data/lib/node_modules/set-cookie-parser/LICENSE +21 -0
  163. data/lib/node_modules/set-cookie-parser/README.md +202 -0
  164. data/lib/node_modules/set-cookie-parser/lib/set-cookie.js +224 -0
  165. data/lib/node_modules/set-cookie-parser/package.json +45 -0
  166. data/lib/node_modules/turbo-stream/LICENSE +7 -0
  167. data/lib/node_modules/turbo-stream/README.md +31 -0
  168. data/lib/node_modules/turbo-stream/dist/flatten.d.ts +2 -0
  169. data/lib/node_modules/turbo-stream/dist/flatten.js +203 -0
  170. data/lib/node_modules/turbo-stream/dist/turbo-stream.d.ts +13 -0
  171. data/lib/node_modules/turbo-stream/dist/turbo-stream.js +207 -0
  172. data/lib/node_modules/turbo-stream/dist/turbo-stream.mjs +673 -0
  173. data/lib/node_modules/turbo-stream/dist/unflatten.d.ts +2 -0
  174. data/lib/node_modules/turbo-stream/dist/unflatten.js +243 -0
  175. data/lib/node_modules/turbo-stream/dist/utils.d.ts +44 -0
  176. data/lib/node_modules/turbo-stream/dist/utils.js +55 -0
  177. data/lib/node_modules/turbo-stream/package.json +50 -0
  178. data/lib/package-lock.json +133 -0
  179. data/lib/package.json +12 -0
  180. data/lib/rubee/async/asyncable.rb +2 -2
  181. data/lib/rubee/async/sidekiq_async.rb +11 -11
  182. data/lib/rubee/async/thread_async.rb +1 -1
  183. data/lib/rubee/async/thread_pool.rb +2 -2
  184. data/lib/rubee/controllers/base_controller.rb +44 -21
  185. data/lib/rubee/controllers/extensions/auth_tokenable.rb +10 -8
  186. data/lib/rubee/controllers/extensions/middlewarable.rb +1 -1
  187. data/lib/rubee/controllers/middlewares/auth_token_middleware.rb +12 -8
  188. data/lib/rubee/extensions/hookable.rb +3 -6
  189. data/lib/rubee/extensions/serializable.rb +3 -3
  190. data/lib/rubee/models/database_objectable.rb +11 -12
  191. data/lib/rubee/models/sequel_object.rb +23 -24
  192. data/lib/rubee.rb +106 -55
  193. data/lib/tests/account_model_test.rb +4 -4
  194. data/lib/tests/auth_tokenable_test.rb +6 -6
  195. data/lib/tests/comment_model_test.rb +7 -7
  196. data/lib/tests/example_models/account.rb +1 -0
  197. data/lib/tests/example_models/comment.rb +1 -0
  198. data/lib/tests/example_models/post.rb +1 -0
  199. data/lib/tests/example_models/user.rb +1 -0
  200. data/lib/tests/rubeeapp_test.rb +21 -6
  201. data/lib/tests/test.db +0 -0
  202. data/lib/tests/test_helper.rb +3 -5
  203. data/lib/tests/user_model_test.rb +71 -54
  204. data/readme.md +104 -2
  205. metadata +170 -3
data/lib/db/structure.rb CHANGED
@@ -4,123 +4,123 @@ STRUCTURE = {
4
4
  generated: false,
5
5
  allow_null: false,
6
6
  default: nil,
7
- db_type: "INTEGER",
7
+ db_type: 'INTEGER',
8
8
  primary_key: true,
9
9
  auto_increment: true,
10
- type: "integer",
11
- ruby_default: nil
10
+ type: 'integer',
11
+ ruby_default: nil,
12
12
  },
13
13
  email: {
14
14
  generated: false,
15
15
  allow_null: true,
16
16
  default: nil,
17
- db_type: "varchar(255)",
17
+ db_type: 'varchar(255)',
18
18
  primary_key: false,
19
- type: "string",
19
+ type: 'string',
20
20
  ruby_default: nil,
21
- max_length: 255
21
+ max_length: 255,
22
22
  },
23
23
  password: {
24
24
  generated: false,
25
25
  allow_null: true,
26
26
  default: nil,
27
- db_type: "varchar(255)",
27
+ db_type: 'varchar(255)',
28
28
  primary_key: false,
29
- type: "string",
29
+ type: 'string',
30
30
  ruby_default: nil,
31
- max_length: 255
32
- }
31
+ max_length: 255,
32
+ },
33
33
  },
34
34
  accounts: {
35
35
  id: {
36
36
  generated: false,
37
37
  allow_null: false,
38
38
  default: nil,
39
- db_type: "INTEGER",
39
+ db_type: 'INTEGER',
40
40
  primary_key: true,
41
41
  auto_increment: true,
42
- type: "integer",
43
- ruby_default: nil
42
+ type: 'integer',
43
+ ruby_default: nil,
44
44
  },
45
45
  addres: {
46
46
  generated: false,
47
47
  allow_null: true,
48
48
  default: nil,
49
- db_type: "varchar(255)",
49
+ db_type: 'varchar(255)',
50
50
  primary_key: false,
51
- type: "string",
51
+ type: 'string',
52
52
  ruby_default: nil,
53
- max_length: 255
53
+ max_length: 255,
54
54
  },
55
55
  user_id: {
56
56
  generated: false,
57
57
  allow_null: true,
58
58
  default: nil,
59
- db_type: "INTEGER",
59
+ db_type: 'INTEGER',
60
60
  primary_key: false,
61
- type: "integer",
62
- ruby_default: nil
63
- }
61
+ type: 'integer',
62
+ ruby_default: nil,
63
+ },
64
64
  },
65
65
  posts: {
66
66
  id: {
67
67
  generated: false,
68
68
  allow_null: false,
69
69
  default: nil,
70
- db_type: "INTEGER",
70
+ db_type: 'INTEGER',
71
71
  primary_key: true,
72
72
  auto_increment: true,
73
- type: "integer",
74
- ruby_default: nil
73
+ type: 'integer',
74
+ ruby_default: nil,
75
75
  },
76
76
  user_id: {
77
77
  generated: false,
78
78
  allow_null: true,
79
79
  default: nil,
80
- db_type: "INTEGER",
80
+ db_type: 'INTEGER',
81
81
  primary_key: false,
82
- type: "integer",
83
- ruby_default: nil
82
+ type: 'integer',
83
+ ruby_default: nil,
84
84
  },
85
85
  comment_id: {
86
86
  generated: false,
87
87
  allow_null: true,
88
88
  default: nil,
89
- db_type: "INTEGER",
89
+ db_type: 'INTEGER',
90
90
  primary_key: false,
91
- type: "integer",
92
- ruby_default: nil
93
- }
91
+ type: 'integer',
92
+ ruby_default: nil,
93
+ },
94
94
  },
95
95
  comments: {
96
96
  id: {
97
97
  generated: false,
98
98
  allow_null: false,
99
99
  default: nil,
100
- db_type: "INTEGER",
100
+ db_type: 'INTEGER',
101
101
  primary_key: true,
102
102
  auto_increment: true,
103
- type: "integer",
104
- ruby_default: nil
103
+ type: 'integer',
104
+ ruby_default: nil,
105
105
  },
106
106
  text: {
107
107
  generated: false,
108
108
  allow_null: true,
109
109
  default: nil,
110
- db_type: "varchar(255)",
110
+ db_type: 'varchar(255)',
111
111
  primary_key: false,
112
- type: "string",
112
+ type: 'string',
113
113
  ruby_default: nil,
114
- max_length: 255
114
+ max_length: 255,
115
115
  },
116
116
  user_id: {
117
117
  generated: false,
118
118
  allow_null: true,
119
119
  default: nil,
120
- db_type: "INTEGER",
120
+ db_type: 'INTEGER',
121
121
  primary_key: false,
122
- type: "integer",
123
- ruby_default: nil
124
- }
125
- }
126
- }
122
+ type: 'integer',
123
+ ruby_default: nil,
124
+ },
125
+ },
126
+ }.freeze
@@ -0,0 +1,33 @@
1
+ // esbuild.config.js (CommonJS style)
2
+ const esbuild = require("esbuild");
3
+
4
+ const buildOptions = {
5
+ entryPoints: ["js/app.js"], // Can be .ts or .tsx too
6
+ outfile: "js/bundle.js",
7
+ bundle: true,
8
+ format: "esm",
9
+ loader: {
10
+ ".js": "jsx",
11
+ ".jsx": "jsx",
12
+ ".ts": "ts",
13
+ ".tsx": "tsx",
14
+ },
15
+ allowOverwrite: true,
16
+ sourcemap: true,
17
+ };
18
+
19
+ async function run() {
20
+ if (process.argv.includes("--watch")) {
21
+ const ctx = await esbuild.context(buildOptions);
22
+ await ctx.watch();
23
+ console.log("👀 Watching for changes...");
24
+ } else {
25
+ await esbuild.build(buildOptions);
26
+ console.log("✅ Build complete");
27
+ }
28
+ }
29
+
30
+ run().catch((err) => {
31
+ console.error("Build failed:", err);
32
+ process.exit(1);
33
+ });
@@ -19,6 +19,6 @@ def color_puts(text, color: :nil, background: :nil, style: :normal)
19
19
  color_code = colors[color]
20
20
  bg_code = backgrounds[background]
21
21
  style_code = styles[style]
22
- options = [style_code, color_code, bg_code].compact.join(";")
22
+ options = [style_code, color_code, bg_code].compact.join(';')
23
23
  puts "\e[#{options}m#{text}\e[0m"
24
24
  end
data/lib/js/app.js ADDED
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { createRoot } from "react-dom/client";
3
+ import { App } from "../app/views/app.tsx";
4
+
5
+ document.addEventListener("DOMContentLoaded", () => {
6
+ const container = document.getElementById("app");
7
+ if (container) {
8
+ const root = createRoot(container);
9
+ root.render(<App />);
10
+ } else {
11
+ console.error('React root element "#app" not found in DOM.');
12
+ }
13
+ });