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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67b4b7a2e0717e400e958cabecbab8ad3fd47725015ba3ef1ee9245fe1ea9e12
4
- data.tar.gz: 51de37c21accea30e09def16555077af3a6076110c69746a6245e2a79e242f94
3
+ metadata.gz: 5259ec5377cfbd7a49693fa00e3d472725a7c95ee573dad1cc76ac883fe2e276
4
+ data.tar.gz: 1e81a561bcd800bbced87c9efc0ff1d7795e248d52f37463d054c7bd19445157
5
5
  SHA512:
6
- metadata.gz: 9453e184e417bd47d87729d307c171cdf35d1f482f0a326432dd5a4d740ea007995420f4d9163b3c82b1d0e297bfcc133479ec4127d9b0520b1a7fc81969c8a9
7
- data.tar.gz: e45a5a0ac96acb7306788bd95d760231494b1db18ebc4439fed99bd6571876c83579187b3836a54f869afcef1be9383af88d1d7d89766063c22b19c729fbc061
6
+ metadata.gz: b745d2eb4ff623ab0c16cd6c972a656f981691afbfb6daeebc774cf2a0e2989f904cc00ccd277485599e64f6aa273663176e2dc36993067815f25059269b1d64
7
+ data.tar.gz: 6e9a8cb3555237fd765e8a8e0eb5ffe959bbd3f075ab6e67b0b91093491ee2203d05f15b4c4308c8800196b2bdbe07f593d7fed8cd9fd15c739455328f05639e
@@ -22,6 +22,14 @@ module Rubee
22
22
  exec('npm run watch')
23
23
  end
24
24
  end
25
+
26
+ def build(_argv)
27
+ if Rubee::PROJECT_NAME == 'rubee'
28
+ exec('cd ./lib && npm run build')
29
+ else
30
+ exec('npm run build')
31
+ end
32
+ end
25
33
  end
26
34
  end
27
35
  end
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.13'
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
  ![GitHub Repo stars](https://img.shields.io/github/stars/nucleom42/rubee?style=social)
7
7
 
8
8
 
9
- # <img src="lib/images/rubee.svg" alt="ruBee" height="40"> ... ruBee
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
  [![Watch the demo](https://img.youtube.com/vi/ko7H70s7qq0/hqdefault.jpg)](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
- 🐝 Lightweight – A minimal footprint focused on serving Ruby applications efficiently.
75
+ Lightweight – A minimal footprint focused on serving Ruby applications efficiently.
41
76
  <br>
42
- 🧩 Modular – A modular approach to application development. Build modular monoliths with ease by attaching \
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
- 📜 Contract-driven – Define your API contracts in a simple, declarative way, then generate all the boilerplate you need.
80
+ Contract-driven – Define your API contracts in a simple, declarative way, then generate all the boilerplate you need.
46
81
  <br>
47
- Fast – Optimized for speed, providing quick responses. (Everything is relative, we know! 😄)
82
+ Fast – Optimized for speed, providing quick responses. (Everything is relative, we know! 😄)
48
83
  <br>
49
- 🧱 Rack-powered – Built on Rack. The full Rack API is available for easy integration.
84
+ Rack-powered – Built on Rack. The full Rack API is available for easy integration.
50
85
  <br>
51
- 🗄️ Databases – Supports SQLite3, PostgreSQL, MySQL, and more via the Sequel gem.
86
+ Databases – Supports SQLite3, PostgreSQL, MySQL, and more via the Sequel gem.
52
87
  <br>
53
- 🖼️ Views – JSON, ERB, and plain HTML out of the box.
88
+ Views – JSON, ERB, and plain HTML out of the box.
54
89
  <br>
55
- ⚛️ React Ready – React is supported as a first-class Rubee view engine.
90
+ React Ready – React is supported as a first-class Rubee view engine.
56
91
  <br>
57
- 📦 Bundlable – Charge your Rubee app with any gem you need. Update effortlessly via Bundler.
92
+ Bundlable – Charge your Rubee app with any gem you need. Update effortlessly via Bundler.
58
93
  <br>
59
- 🧬 ORM-agnostic – Models are native ORM objects, but you can use them as blueprints for any data source.
94
+ ORM-agnostic – Models are native ORM objects, but you can use them as blueprints for any data source.
60
95
  <br>
61
- 🔐 Authenticatable – Easily add JWT authentication to any controller action.
96
+ Authenticatable – Easily add JWT authentication to any controller action.
62
97
  <br>
63
- 🪝 Hooks – Add logic before, after, or around any controller action.
98
+ Hooks – Add logic before, after, or around any controller action.
64
99
  <br>
65
- 🧪 Testable – Run all or selected tests using fast, beloved Minitest.
100
+ Testable – Run all or selected tests using fast, beloved Minitest.
66
101
  <br>
67
- 👷 Asyncable – Plug in async adapters and use any popular background job engine.
102
+ Asyncable – Plug in async adapters and use any popular background job engine.
68
103
  <br>
69
- ⌨️ Console – Start an interactive console and reload on the fly.
104
+ Console – Start an interactive console and reload on the fly.
70
105
  <br>
71
- ⚙️ Background Jobs – Schedule and process background jobs using your preferred async stack.
106
+ Background Jobs – Schedule and process background jobs using your preferred async stack.
72
107
 
73
108
  ## Installation
74
109
 
75
- 1. Install ruBee
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 ruBee server. Default port is 7000
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 ruBee is just simple ruby object that can be serilalized in the view
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 ruBee to create modular applications.\
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 ruBee.
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 ruBee is just a plain html/erb/react file that can be rendered from the controller.
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 ruBee by extending Hookable module any Ruby object can be charged with hooks (logic),
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 ruBee command within a specific ENV make sure you added it before a command.
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 ruBee,
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.13
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.6.9
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>