rage-rb 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +6 -3
- data/lib/rage/templates/Gemfile +1 -1
- data/lib/rage/version.rb +1 -1
- data/lib/rage-rb.rb +40 -0
- data/lib/rage.rb +1 -40
- data/rage.gemspec +2 -2
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88726c2fad086904077b7822723c8f840fee5beac920f21d08862c637c2c4b42
|
4
|
+
data.tar.gz: 37520e426a1036244dab498bbc3bb7c4155c2886ad3ecc3293f376d4dbcd6390
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d635e49fc41cc68889ff1605ee1055e5ef443987b310730d91c675ca96083115f8de871a7f6d738535ee98790d2bd8b540aa476f18676fcbf6592dc719e60db
|
7
|
+
data.tar.gz: cdd975b3be0832d841455d736bdf1caa23d916e357ad8d20b641303b00d34dd2711fc8de34cb9a5488020ec59ec283aafc1aacb990119c075565b7c35dbfcfdd
|
data/README.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
# Rage
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/rage-rb)
|
4
|
+

|
5
|
+
|
3
6
|
Inspired by [Deno](https://deno.com) and built on top of [Iodine](https://github.com/rage-rb/iodine), this is a Ruby web framework that is based on the following design principles:
|
4
7
|
|
5
8
|
* **Rails compatible API** - Rails' API is clean, straightforward, and simply makes sense. I believe it was one of the reasons why Rails was so successful in the past.
|
6
9
|
|
7
10
|
* **High performance** - some think performance is not a major metric for a framework, but I don't believe it's true. Poor performance is a risk, and in today's world, companies refuse to use risky technologies.
|
8
11
|
|
9
|
-
* **API-only** - the only technology we should
|
12
|
+
* **API-only** - the only technology we should be using to create web UI is JavaScript. I recommend checking out [Vite](https://vitejs.dev) if you don't know where to start.
|
10
13
|
|
11
14
|
* **Acceptance of modern Ruby** - the framework includes a fiber scheduler, which means your code never blocks while waiting on IO.
|
12
15
|
|
@@ -16,7 +19,7 @@ This framework results from reflecting on [Ruby's declining popularity](https://
|
|
16
19
|
|
17
20
|
Install the gem:
|
18
21
|
```
|
19
|
-
$ gem install rage
|
22
|
+
$ gem install rage-rb
|
20
23
|
```
|
21
24
|
|
22
25
|
Create a new app:
|
@@ -64,7 +67,7 @@ end
|
|
64
67
|
```
|
65
68
|

|
66
69
|
|
67
|
-
##
|
70
|
+
## Upcoming releases
|
68
71
|
|
69
72
|
Version | Changes
|
70
73
|
------- |------------
|
data/lib/rage/templates/Gemfile
CHANGED
data/lib/rage/version.rb
CHANGED
data/lib/rage-rb.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rack"
|
4
|
+
require "json"
|
5
|
+
require "iodine"
|
6
|
+
|
7
|
+
module Rage
|
8
|
+
def self.application
|
9
|
+
Application.new(__router)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.routes
|
13
|
+
Rage::Router::DSL.new(__router)
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.__router
|
17
|
+
@__router ||= Rage::Router::Backend.new
|
18
|
+
end
|
19
|
+
|
20
|
+
module Router
|
21
|
+
module Strategies
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
module RageController
|
27
|
+
end
|
28
|
+
|
29
|
+
require_relative "rage/application"
|
30
|
+
require_relative "rage/fiber"
|
31
|
+
require_relative "rage/fiber_scheduler"
|
32
|
+
|
33
|
+
require_relative "rage/router/strategies/host"
|
34
|
+
require_relative "rage/router/backend"
|
35
|
+
require_relative "rage/router/constrainer"
|
36
|
+
require_relative "rage/router/dsl"
|
37
|
+
require_relative "rage/router/handler_storage"
|
38
|
+
require_relative "rage/router/node"
|
39
|
+
|
40
|
+
require_relative "rage/controller/api"
|
data/lib/rage.rb
CHANGED
@@ -1,40 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require "rack"
|
4
|
-
require "json"
|
5
|
-
require "iodine"
|
6
|
-
|
7
|
-
module Rage
|
8
|
-
def self.application
|
9
|
-
Application.new(__router)
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.routes
|
13
|
-
Rage::Router::DSL.new(__router)
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.__router
|
17
|
-
@__router ||= Rage::Router::Backend.new
|
18
|
-
end
|
19
|
-
|
20
|
-
module Router
|
21
|
-
module Strategies
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
module RageController
|
27
|
-
end
|
28
|
-
|
29
|
-
require_relative "rage/application"
|
30
|
-
require_relative "rage/fiber"
|
31
|
-
require_relative "rage/fiber_scheduler"
|
32
|
-
|
33
|
-
require_relative "rage/router/strategies/host"
|
34
|
-
require_relative "rage/router/backend"
|
35
|
-
require_relative "rage/router/constrainer"
|
36
|
-
require_relative "rage/router/dsl"
|
37
|
-
require_relative "rage/router/handler_storage"
|
38
|
-
require_relative "rage/router/node"
|
39
|
-
|
40
|
-
require_relative "rage/controller/api"
|
1
|
+
require "rage-rb"
|
data/rage.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = "Fast web framework compatible with Rails."
|
12
12
|
spec.homepage = "https://github.com/rage-rb/rage"
|
13
13
|
spec.license = "MIT"
|
14
|
-
spec.required_ruby_version = ">= 3.
|
14
|
+
spec.required_ruby_version = ">= 3.1.0"
|
15
15
|
|
16
16
|
spec.metadata["homepage_uri"] = spec.homepage
|
17
17
|
spec.metadata["source_code_uri"] = "https://github.com/rage-rb/rage"
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = ["rage"]
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
spec.add_dependency "thor"
|
30
|
+
spec.add_dependency "thor", "~> 1.0"
|
31
31
|
spec.add_dependency "rack", "~> 2.0"
|
32
32
|
spec.add_dependency "rage-iodine", "~> 1.0"
|
33
33
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rage-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roman Samoilov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-09-
|
11
|
+
date: 2023-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- README.md
|
69
69
|
- Rakefile
|
70
70
|
- exe/rage
|
71
|
+
- lib/rage-rb.rb
|
71
72
|
- lib/rage.rb
|
72
73
|
- lib/rage/application.rb
|
73
74
|
- lib/rage/cli.rb
|
@@ -106,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
107
|
requirements:
|
107
108
|
- - ">="
|
108
109
|
- !ruby/object:Gem::Version
|
109
|
-
version: 3.
|
110
|
+
version: 3.1.0
|
110
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
112
|
requirements:
|
112
113
|
- - ">="
|