ru.Bee 1.9.13 → 1.9.14
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/lib/rubee/cli/react.rb +8 -0
- data/lib/rubee.rb +1 -1
- data/lib/tests/test.db +0 -0
- data/readme.md +63 -26
- metadata +2 -3
- data/lib/app/views/s_.erb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5259ec5377cfbd7a49693fa00e3d472725a7c95ee573dad1cc76ac883fe2e276
|
4
|
+
data.tar.gz: 1e81a561bcd800bbced87c9efc0ff1d7795e248d52f37463d054c7bd19445157
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b745d2eb4ff623ab0c16cd6c972a656f981691afbfb6daeebc774cf2a0e2989f904cc00ccd277485599e64f6aa273663176e2dc36993067815f25059269b1d64
|
7
|
+
data.tar.gz: 6e9a8cb3555237fd765e8a8e0eb5ffe959bbd3f075ab6e67b0b91093491ee2203d05f15b4c4308c8800196b2bdbe07f593d7fed8cd9fd15c739455328f05639e
|
data/lib/rubee/cli/react.rb
CHANGED
data/lib/rubee.rb
CHANGED
@@ -16,7 +16,7 @@ module Rubee
|
|
16
16
|
JS_DIR = File.join(APP_ROOT, LIB, 'js') unless defined?(JS_DIR)
|
17
17
|
CSS_DIR = File.join(APP_ROOT, LIB, 'css') unless defined?(CSS_DIR)
|
18
18
|
ROOT_PATH = File.expand_path(File.join(__dir__, '..')) unless defined?(ROOT_PATH)
|
19
|
-
VERSION = '1.9.
|
19
|
+
VERSION = '1.9.14'
|
20
20
|
|
21
21
|
require_relative 'rubee/router'
|
22
22
|
require_relative 'rubee/logger'
|
data/lib/tests/test.db
CHANGED
Binary file
|
data/readme.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|

|
7
7
|
|
8
8
|
|
9
|
-
# <img src="lib/images/rubee.svg" alt="
|
9
|
+
# <img src="lib/images/rubee.svg" alt="RUBEE" height="40"> ... RUBEE
|
10
10
|
|
11
11
|
Rubee is a Ruby-based framework designed to streamline the development of modular monolith applications. \
|
12
12
|
It offers a structured approach to building scalable, maintainable, and React-ready projects, \
|
@@ -15,6 +15,36 @@ making it an ideal choice for developers seeking a balance between monolithic si
|
|
15
15
|
Want to get a quick API server up and runing? You can do it for real quick!
|
16
16
|
<br />
|
17
17
|
[](https://www.youtube.com/watch?v=ko7H70s7qq0)
|
18
|
+
|
19
|
+
## Production ready
|
20
|
+
|
21
|
+
Take a look on the rubee demo site with all documentation stored in there: https://rubee.duckdns.org
|
22
|
+
Want to explore how it built? https://github.com/nucleom42/rubee-site
|
23
|
+
|
24
|
+
## Stress tested
|
25
|
+
|
26
|
+
```bash
|
27
|
+
wrk -t4 -c100 -d30s https://rubee.duckdns.org/docs
|
28
|
+
Running 30s test @ https://rubee.duckdns.org/docs
|
29
|
+
4 threads and 100 connections
|
30
|
+
Thread Stats Avg Stdev Max +/- Stdev
|
31
|
+
Latency 304.95ms 33.22ms 551.86ms 90.38%
|
32
|
+
Req/Sec 82.25 42.37 280.00 69.86%
|
33
|
+
9721 requests in 30.02s, 4.11MB read
|
34
|
+
Requests/sec: 323.78
|
35
|
+
Transfer/sec: 140.07KB
|
36
|
+
```
|
37
|
+
|
38
|
+
- Short output explanation:
|
39
|
+
- Requests/sec: ~324
|
40
|
+
- Average latency: ~305 ms
|
41
|
+
- Total requests handled: 9,721
|
42
|
+
- Hardware: Raspberry Pi 5(8 Gb) (single board computer)
|
43
|
+
- Server: Rubee app hosted via Nginx + HTTPS
|
44
|
+
|
45
|
+
This demonstrates RUBEE’s efficient architecture and suitability for lightweight deployments — even on low-power hardware.
|
46
|
+
|
47
|
+
|
18
48
|
## Content
|
19
49
|
|
20
50
|
- [Installation](#installation)
|
@@ -35,44 +65,49 @@ Want to get a quick API server up and runing? You can do it for real quick!
|
|
35
65
|
- [Modular](#modualar-application)
|
36
66
|
- [Logger](#logger)
|
37
67
|
|
68
|
+
<details>
|
69
|
+
<summary id="content">📚 Documentation Content — Click to expand!</summary>
|
70
|
+
|
71
|
+
You can read it on the demo [site](https://rubee.duckdns.org/docs).
|
72
|
+
|
38
73
|
## Features
|
39
74
|
|
40
|
-
|
75
|
+
Lightweight – A minimal footprint focused on serving Ruby applications efficiently.
|
41
76
|
<br>
|
42
|
-
|
77
|
+
Modular – A modular approach to application development. Build modular monoliths with ease by attaching \
|
43
78
|
as many subprojects as you need.
|
44
79
|
<br>
|
45
|
-
|
80
|
+
Contract-driven – Define your API contracts in a simple, declarative way, then generate all the boilerplate you need.
|
46
81
|
<br>
|
47
|
-
|
82
|
+
Fast – Optimized for speed, providing quick responses. (Everything is relative, we know! 😄)
|
48
83
|
<br>
|
49
|
-
|
84
|
+
Rack-powered – Built on Rack. The full Rack API is available for easy integration.
|
50
85
|
<br>
|
51
|
-
|
86
|
+
Databases – Supports SQLite3, PostgreSQL, MySQL, and more via the Sequel gem.
|
52
87
|
<br>
|
53
|
-
|
88
|
+
Views – JSON, ERB, and plain HTML out of the box.
|
54
89
|
<br>
|
55
|
-
|
90
|
+
React Ready – React is supported as a first-class Rubee view engine.
|
56
91
|
<br>
|
57
|
-
|
92
|
+
Bundlable – Charge your Rubee app with any gem you need. Update effortlessly via Bundler.
|
58
93
|
<br>
|
59
|
-
|
94
|
+
ORM-agnostic – Models are native ORM objects, but you can use them as blueprints for any data source.
|
60
95
|
<br>
|
61
|
-
|
96
|
+
Authenticatable – Easily add JWT authentication to any controller action.
|
62
97
|
<br>
|
63
|
-
|
98
|
+
Hooks – Add logic before, after, or around any controller action.
|
64
99
|
<br>
|
65
|
-
|
100
|
+
Testable – Run all or selected tests using fast, beloved Minitest.
|
66
101
|
<br>
|
67
|
-
|
102
|
+
Asyncable – Plug in async adapters and use any popular background job engine.
|
68
103
|
<br>
|
69
|
-
|
104
|
+
Console – Start an interactive console and reload on the fly.
|
70
105
|
<br>
|
71
|
-
|
106
|
+
Background Jobs – Schedule and process background jobs using your preferred async stack.
|
72
107
|
|
73
108
|
## Installation
|
74
109
|
|
75
|
-
1. Install
|
110
|
+
1. Install RUBEE
|
76
111
|
```bash
|
77
112
|
gem install ru.Bee
|
78
113
|
```
|
@@ -97,7 +132,7 @@ Make sure:
|
|
97
132
|
bundle install
|
98
133
|
```
|
99
134
|
|
100
|
-
4. Run
|
135
|
+
4. Run RUBEE server. Default port is 7000
|
101
136
|
```bash
|
102
137
|
rubee start # or rubee start_dev for development
|
103
138
|
|
@@ -158,7 +193,7 @@ This will generate the following files
|
|
158
193
|
[Back to content](#content)
|
159
194
|
|
160
195
|
## Model
|
161
|
-
Model in
|
196
|
+
Model in RUBEE is just simple ruby object that can be serilalized in the view
|
162
197
|
in the way it required (ie json).
|
163
198
|
Here below is a simple example on how it can be used by rendering json from in memory object
|
164
199
|
|
@@ -510,13 +545,13 @@ Will generate:
|
|
510
545
|
|
511
546
|
### Modualar application
|
512
547
|
|
513
|
-
You can also use
|
548
|
+
You can also use RUBEE to create modular applications.\
|
514
549
|
And attach as many subprojects you need.
|
515
550
|
Main philosophy of attach functinality is to keep the main project clean and easy to maintain. It will still\
|
516
551
|
share data with the main app. So where to define a border between the main app and subprojects is up to developer.
|
517
552
|
Howerver by attching new subproject you will get a new folder and files configured and namespaced respectively.
|
518
553
|
|
519
|
-
So if you need to extend your main app with a separate project, you can do it easily in
|
554
|
+
So if you need to extend your main app with a separate project, you can do it easily in RUBEE.
|
520
555
|
1. Attach new subrpoject
|
521
556
|
|
522
557
|
```bash
|
@@ -585,7 +620,7 @@ rubee start # or rubee start_dev for development
|
|
585
620
|
[Back to content](#content)
|
586
621
|
|
587
622
|
## Views
|
588
|
-
View in
|
623
|
+
View in RUBEE is just a plain html/erb/react file that can be rendered from the controller.
|
589
624
|
|
590
625
|
## Templates over erb
|
591
626
|
|
@@ -727,7 +762,7 @@ function Users() {
|
|
727
762
|
|
728
763
|
## Object hooks
|
729
764
|
|
730
|
-
In
|
765
|
+
In RUBEE by extending Hookable module any Ruby object can be charged with hooks (logic),
|
731
766
|
that can be executed before, after and around a specific method execution.
|
732
767
|
|
733
768
|
Here below a controller example. However it can be used in any Ruby object, like Model etc.
|
@@ -858,7 +893,7 @@ rubee test auth_tokenable_test.rb # run specific tests
|
|
858
893
|
[Back to content](#content)
|
859
894
|
|
860
895
|
|
861
|
-
If you want to run any
|
896
|
+
If you want to run any RUBEE command within a specific ENV make sure you added it before a command.
|
862
897
|
For instance if you want to run console in test environment you need to run the following command
|
863
898
|
|
864
899
|
```bash
|
@@ -990,9 +1025,11 @@ When you trigger the controller action, the logs will look like this:
|
|
990
1025
|
|
991
1026
|
[Back to content](#content)
|
992
1027
|
|
1028
|
+
</details>
|
1029
|
+
|
993
1030
|
### Contributing
|
994
1031
|
|
995
|
-
If you are interested in contributing to
|
1032
|
+
If you are interested in contributing to RUBEE,
|
996
1033
|
please read the [Contributing](https://github.com/nucleom42/rubee/blob/main/CONTRIBUTING.md) guide.
|
997
1034
|
Also feel free to open an [issue](https://github.com/nucleom42/rubee/issues) if you apot one.
|
998
1035
|
Have an idea or you wnat to discuss something?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ru.Bee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oleg Saltykov
|
@@ -47,7 +47,6 @@ files:
|
|
47
47
|
- lib/app/views/apples_.erb
|
48
48
|
- lib/app/views/index.html
|
49
49
|
- lib/app/views/layout.erb
|
50
|
-
- lib/app/views/s_.erb
|
51
50
|
- lib/app/views/utils/redirectToBackend.tsx
|
52
51
|
- lib/app/views/welcome_header.erb
|
53
52
|
- lib/app/views/welcome_show.erb
|
@@ -300,7 +299,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
300
299
|
- !ruby/object:Gem::Version
|
301
300
|
version: '0'
|
302
301
|
requirements: []
|
303
|
-
rubygems_version: 3.
|
302
|
+
rubygems_version: 3.7.0
|
304
303
|
specification_version: 4
|
305
304
|
summary: Fast and lightweight Ruby application server designed for minimalism and
|
306
305
|
flexibility
|
data/lib/app/views/s_.erb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
<h1>s_ View</h1>
|