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.
- checksums.yaml +4 -4
- data/bin/rubee +114 -88
- data/lib/app/views/app.tsx +27 -0
- data/lib/app/views/index.html +47 -0
- data/lib/app/views/layout.erb +3 -3
- data/lib/app/views/utils/redirectToBackend.tsx +9 -0
- data/lib/app/views/welcome_show.erb +1 -1
- data/lib/config/base_configuration.rb +15 -6
- data/lib/config/routes.rb +2 -1
- data/lib/db/create_accounts.rb +8 -8
- data/lib/db/create_comments.rb +7 -7
- data/lib/db/create_posts.rb +8 -8
- data/lib/db/create_users.rb +8 -8
- data/lib/db/structure.rb +42 -42
- data/lib/esbuild.config.js +33 -0
- data/lib/inits/print_colors.rb +1 -1
- data/lib/js/app.js +13 -0
- data/lib/js/app.js.map +7 -0
- data/lib/js/bundle.js +26157 -0
- data/lib/js/bundle.js.map +7 -0
- data/lib/node_modules/@types/cookie/LICENSE +21 -0
- data/lib/node_modules/@types/cookie/README.md +15 -0
- data/lib/node_modules/@types/cookie/index.d.ts +154 -0
- data/lib/node_modules/@types/cookie/package.json +30 -0
- data/lib/node_modules/cookie/LICENSE +24 -0
- data/lib/node_modules/cookie/README.md +248 -0
- data/lib/node_modules/cookie/dist/index.d.ts +114 -0
- data/lib/node_modules/cookie/dist/index.js +239 -0
- data/lib/node_modules/cookie/dist/index.js.map +1 -0
- data/lib/node_modules/cookie/package.json +42 -0
- data/lib/node_modules/js-tokens/CHANGELOG.md +151 -0
- data/lib/node_modules/js-tokens/LICENSE +21 -0
- data/lib/node_modules/js-tokens/README.md +240 -0
- data/lib/node_modules/js-tokens/index.js +23 -0
- data/lib/node_modules/js-tokens/package.json +30 -0
- data/lib/node_modules/loose-envify/LICENSE +21 -0
- data/lib/node_modules/loose-envify/README.md +45 -0
- data/lib/node_modules/loose-envify/cli.js +16 -0
- data/lib/node_modules/loose-envify/custom.js +4 -0
- data/lib/node_modules/loose-envify/index.js +3 -0
- data/lib/node_modules/loose-envify/loose-envify.js +36 -0
- data/lib/node_modules/loose-envify/package.json +36 -0
- data/lib/node_modules/loose-envify/replace.js +65 -0
- data/lib/node_modules/react/LICENSE +21 -0
- data/lib/node_modules/react/README.md +37 -0
- data/lib/node_modules/react/cjs/react-jsx-dev-runtime.development.js +1315 -0
- data/lib/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +10 -0
- data/lib/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
- data/lib/node_modules/react/cjs/react-jsx-runtime.development.js +1333 -0
- data/lib/node_modules/react/cjs/react-jsx-runtime.production.min.js +11 -0
- data/lib/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +11 -0
- data/lib/node_modules/react/cjs/react.development.js +2740 -0
- data/lib/node_modules/react/cjs/react.production.min.js +26 -0
- data/lib/node_modules/react/cjs/react.shared-subset.development.js +20 -0
- data/lib/node_modules/react/cjs/react.shared-subset.production.min.js +10 -0
- data/lib/node_modules/react/index.js +7 -0
- data/lib/node_modules/react/jsx-dev-runtime.js +7 -0
- data/lib/node_modules/react/jsx-runtime.js +7 -0
- data/lib/node_modules/react/package.json +47 -0
- data/lib/node_modules/react/react.shared-subset.js +7 -0
- data/lib/node_modules/react/umd/react.development.js +3343 -0
- data/lib/node_modules/react/umd/react.production.min.js +31 -0
- data/lib/node_modules/react/umd/react.profiling.min.js +31 -0
- data/lib/node_modules/react-dom/LICENSE +21 -0
- data/lib/node_modules/react-dom/README.md +60 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +7029 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +93 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js +7093 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +101 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server.browser.development.js +7014 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +96 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server.node.development.js +7070 -0
- data/lib/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +102 -0
- data/lib/node_modules/react-dom/cjs/react-dom-test-utils.development.js +1763 -0
- data/lib/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +40 -0
- data/lib/node_modules/react-dom/cjs/react-dom.development.js +29923 -0
- data/lib/node_modules/react-dom/cjs/react-dom.production.min.js +322 -0
- data/lib/node_modules/react-dom/cjs/react-dom.profiling.min.js +366 -0
- data/lib/node_modules/react-dom/client.js +25 -0
- data/lib/node_modules/react-dom/index.js +38 -0
- data/lib/node_modules/react-dom/package.json +62 -0
- data/lib/node_modules/react-dom/profiling.js +38 -0
- data/lib/node_modules/react-dom/server.browser.js +17 -0
- data/lib/node_modules/react-dom/server.js +3 -0
- data/lib/node_modules/react-dom/server.node.js +17 -0
- data/lib/node_modules/react-dom/test-utils.js +7 -0
- data/lib/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js +7026 -0
- data/lib/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js +75 -0
- data/lib/node_modules/react-dom/umd/react-dom-server.browser.development.js +7011 -0
- data/lib/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +76 -0
- data/lib/node_modules/react-dom/umd/react-dom-test-utils.development.js +1759 -0
- data/lib/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +33 -0
- data/lib/node_modules/react-dom/umd/react-dom.development.js +29924 -0
- data/lib/node_modules/react-dom/umd/react-dom.production.min.js +267 -0
- data/lib/node_modules/react-dom/umd/react-dom.profiling.min.js +285 -0
- data/lib/node_modules/react-router/CHANGELOG.md +1526 -0
- data/lib/node_modules/react-router/LICENSE.md +23 -0
- data/lib/node_modules/react-router/README.md +7 -0
- data/lib/node_modules/react-router/dist/development/chunk-KNED5TY2.mjs +10476 -0
- data/lib/node_modules/react-router/dist/development/dom-export.d.mts +23 -0
- data/lib/node_modules/react-router/dist/development/dom-export.d.ts +23 -0
- data/lib/node_modules/react-router/dist/development/dom-export.js +6111 -0
- data/lib/node_modules/react-router/dist/development/dom-export.mjs +234 -0
- data/lib/node_modules/react-router/dist/development/fog-of-war-1hWhK5ey.d.mts +1690 -0
- data/lib/node_modules/react-router/dist/development/fog-of-war-oa9CGk10.d.ts +1690 -0
- data/lib/node_modules/react-router/dist/development/future-ldDp5FKH.d.mts +21 -0
- data/lib/node_modules/react-router/dist/development/future-ldDp5FKH.d.ts +21 -0
- data/lib/node_modules/react-router/dist/development/index.d.mts +841 -0
- data/lib/node_modules/react-router/dist/development/index.d.ts +841 -0
- data/lib/node_modules/react-router/dist/development/index.js +10624 -0
- data/lib/node_modules/react-router/dist/development/index.mjs +242 -0
- data/lib/node_modules/react-router/dist/development/lib/types/route-module.d.mts +209 -0
- data/lib/node_modules/react-router/dist/development/lib/types/route-module.d.ts +209 -0
- data/lib/node_modules/react-router/dist/development/lib/types/route-module.js +28 -0
- data/lib/node_modules/react-router/dist/development/lib/types/route-module.mjs +10 -0
- data/lib/node_modules/react-router/dist/development/route-data-5OzAzQtT.d.mts +1716 -0
- data/lib/node_modules/react-router/dist/development/route-data-5OzAzQtT.d.ts +1716 -0
- data/lib/node_modules/react-router/dist/production/chunk-ZIM7OIE3.mjs +10476 -0
- data/lib/node_modules/react-router/dist/production/dom-export.d.mts +23 -0
- data/lib/node_modules/react-router/dist/production/dom-export.d.ts +23 -0
- data/lib/node_modules/react-router/dist/production/dom-export.js +6111 -0
- data/lib/node_modules/react-router/dist/production/dom-export.mjs +234 -0
- data/lib/node_modules/react-router/dist/production/fog-of-war-1hWhK5ey.d.mts +1690 -0
- data/lib/node_modules/react-router/dist/production/fog-of-war-oa9CGk10.d.ts +1690 -0
- data/lib/node_modules/react-router/dist/production/future-ldDp5FKH.d.mts +21 -0
- data/lib/node_modules/react-router/dist/production/future-ldDp5FKH.d.ts +21 -0
- data/lib/node_modules/react-router/dist/production/index.d.mts +841 -0
- data/lib/node_modules/react-router/dist/production/index.d.ts +841 -0
- data/lib/node_modules/react-router/dist/production/index.js +10624 -0
- data/lib/node_modules/react-router/dist/production/index.mjs +242 -0
- data/lib/node_modules/react-router/dist/production/lib/types/route-module.d.mts +209 -0
- data/lib/node_modules/react-router/dist/production/lib/types/route-module.d.ts +209 -0
- data/lib/node_modules/react-router/dist/production/lib/types/route-module.js +28 -0
- data/lib/node_modules/react-router/dist/production/lib/types/route-module.mjs +10 -0
- data/lib/node_modules/react-router/dist/production/route-data-5OzAzQtT.d.mts +1716 -0
- data/lib/node_modules/react-router/dist/production/route-data-5OzAzQtT.d.ts +1716 -0
- data/lib/node_modules/react-router/package.json +116 -0
- data/lib/node_modules/react-router-dom/LICENSE.md +23 -0
- data/lib/node_modules/react-router-dom/README.md +6 -0
- data/lib/node_modules/react-router-dom/dist/index.d.mts +2 -0
- data/lib/node_modules/react-router-dom/dist/index.d.ts +2 -0
- data/lib/node_modules/react-router-dom/dist/index.js +45 -0
- data/lib/node_modules/react-router-dom/dist/index.mjs +18 -0
- data/lib/node_modules/react-router-dom/package.json +82 -0
- data/lib/node_modules/scheduler/LICENSE +21 -0
- data/lib/node_modules/scheduler/README.md +9 -0
- data/lib/node_modules/scheduler/cjs/scheduler-unstable_mock.development.js +700 -0
- data/lib/node_modules/scheduler/cjs/scheduler-unstable_mock.production.min.js +20 -0
- data/lib/node_modules/scheduler/cjs/scheduler-unstable_post_task.development.js +207 -0
- data/lib/node_modules/scheduler/cjs/scheduler-unstable_post_task.production.min.js +14 -0
- data/lib/node_modules/scheduler/cjs/scheduler.development.js +634 -0
- data/lib/node_modules/scheduler/cjs/scheduler.production.min.js +19 -0
- data/lib/node_modules/scheduler/index.js +7 -0
- data/lib/node_modules/scheduler/package.json +36 -0
- data/lib/node_modules/scheduler/umd/scheduler-unstable_mock.development.js +699 -0
- data/lib/node_modules/scheduler/umd/scheduler-unstable_mock.production.min.js +19 -0
- data/lib/node_modules/scheduler/umd/scheduler.development.js +152 -0
- data/lib/node_modules/scheduler/umd/scheduler.production.min.js +146 -0
- data/lib/node_modules/scheduler/umd/scheduler.profiling.min.js +146 -0
- data/lib/node_modules/scheduler/unstable_mock.js +7 -0
- data/lib/node_modules/scheduler/unstable_post_task.js +7 -0
- data/lib/node_modules/set-cookie-parser/LICENSE +21 -0
- data/lib/node_modules/set-cookie-parser/README.md +202 -0
- data/lib/node_modules/set-cookie-parser/lib/set-cookie.js +224 -0
- data/lib/node_modules/set-cookie-parser/package.json +45 -0
- data/lib/node_modules/turbo-stream/LICENSE +7 -0
- data/lib/node_modules/turbo-stream/README.md +31 -0
- data/lib/node_modules/turbo-stream/dist/flatten.d.ts +2 -0
- data/lib/node_modules/turbo-stream/dist/flatten.js +203 -0
- data/lib/node_modules/turbo-stream/dist/turbo-stream.d.ts +13 -0
- data/lib/node_modules/turbo-stream/dist/turbo-stream.js +207 -0
- data/lib/node_modules/turbo-stream/dist/turbo-stream.mjs +673 -0
- data/lib/node_modules/turbo-stream/dist/unflatten.d.ts +2 -0
- data/lib/node_modules/turbo-stream/dist/unflatten.js +243 -0
- data/lib/node_modules/turbo-stream/dist/utils.d.ts +44 -0
- data/lib/node_modules/turbo-stream/dist/utils.js +55 -0
- data/lib/node_modules/turbo-stream/package.json +50 -0
- data/lib/package-lock.json +133 -0
- data/lib/package.json +12 -0
- data/lib/rubee/async/asyncable.rb +2 -2
- data/lib/rubee/async/sidekiq_async.rb +11 -11
- data/lib/rubee/async/thread_async.rb +1 -1
- data/lib/rubee/async/thread_pool.rb +2 -2
- data/lib/rubee/controllers/base_controller.rb +44 -21
- data/lib/rubee/controllers/extensions/auth_tokenable.rb +10 -8
- data/lib/rubee/controllers/extensions/middlewarable.rb +1 -1
- data/lib/rubee/controllers/middlewares/auth_token_middleware.rb +12 -8
- data/lib/rubee/extensions/hookable.rb +3 -6
- data/lib/rubee/extensions/serializable.rb +3 -3
- data/lib/rubee/models/database_objectable.rb +11 -12
- data/lib/rubee/models/sequel_object.rb +23 -24
- data/lib/rubee.rb +106 -55
- data/lib/tests/account_model_test.rb +4 -4
- data/lib/tests/auth_tokenable_test.rb +6 -6
- data/lib/tests/comment_model_test.rb +7 -7
- data/lib/tests/example_models/account.rb +1 -0
- data/lib/tests/example_models/comment.rb +1 -0
- data/lib/tests/example_models/post.rb +1 -0
- data/lib/tests/example_models/user.rb +1 -0
- data/lib/tests/rubeeapp_test.rb +21 -6
- data/lib/tests/test.db +0 -0
- data/lib/tests/test_helper.rb +3 -5
- data/lib/tests/user_model_test.rb +71 -54
- data/readme.md +104 -2
- 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:
|
7
|
+
db_type: 'INTEGER',
|
8
8
|
primary_key: true,
|
9
9
|
auto_increment: true,
|
10
|
-
type:
|
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:
|
17
|
+
db_type: 'varchar(255)',
|
18
18
|
primary_key: false,
|
19
|
-
type:
|
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:
|
27
|
+
db_type: 'varchar(255)',
|
28
28
|
primary_key: false,
|
29
|
-
type:
|
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:
|
39
|
+
db_type: 'INTEGER',
|
40
40
|
primary_key: true,
|
41
41
|
auto_increment: true,
|
42
|
-
type:
|
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:
|
49
|
+
db_type: 'varchar(255)',
|
50
50
|
primary_key: false,
|
51
|
-
type:
|
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:
|
59
|
+
db_type: 'INTEGER',
|
60
60
|
primary_key: false,
|
61
|
-
type:
|
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:
|
70
|
+
db_type: 'INTEGER',
|
71
71
|
primary_key: true,
|
72
72
|
auto_increment: true,
|
73
|
-
type:
|
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:
|
80
|
+
db_type: 'INTEGER',
|
81
81
|
primary_key: false,
|
82
|
-
type:
|
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:
|
89
|
+
db_type: 'INTEGER',
|
90
90
|
primary_key: false,
|
91
|
-
type:
|
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:
|
100
|
+
db_type: 'INTEGER',
|
101
101
|
primary_key: true,
|
102
102
|
auto_increment: true,
|
103
|
-
type:
|
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:
|
110
|
+
db_type: 'varchar(255)',
|
111
111
|
primary_key: false,
|
112
|
-
type:
|
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:
|
120
|
+
db_type: 'INTEGER',
|
121
121
|
primary_key: false,
|
122
|
-
type:
|
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
|
+
});
|
data/lib/inits/print_colors.rb
CHANGED
@@ -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
|
+
});
|