rubst_api 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/CHANGELOG.md +5 -0
- data/LICENSE +1 -1
- data/README.md +15 -5
- data/lib/rubst_api/version.rb +1 -1
- metadata +21 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 17b383891b5d721514549cb49f7a78ee33b554bbce1def62b1c77234f2212f98
|
|
4
|
+
data.tar.gz: 27819c6c49283da23ba649613debdb2746f64039c244d6412e2f06e9ff364c4a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f99bd19b42c6e5838d8fe9ae9bae6ac982849080976c0b01af7398af0791c137f3ddc1a5c2dc5e48df6a2d0e9b30e63ba4090a20726df2a5cbc6888314c22767
|
|
7
|
+
data.tar.gz: 06acd1644f36239f13cd6f78d2f799576da093db8f7aeeb8c26f7d3bad83ad9f34dbef411605fd3354caae9f072d981c40114e0026d00388f22c204942fb8fed
|
data/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,11 @@ and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.ht
|
|
|
12
12
|
- Professional RubyGems package metadata and canonical repository links.
|
|
13
13
|
- FastAPI license attribution and third-party notices.
|
|
14
14
|
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Declare `base64` as a runtime dependency for Ruby 3.4 and newer, where it is
|
|
18
|
+
no longer available as a default gem.
|
|
19
|
+
|
|
15
20
|
## [0.1.0] - 2026-07-29
|
|
16
21
|
|
|
17
22
|
### Added
|
data/LICENSE
CHANGED
data/README.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
### A FastAPI-inspired framework for building typed Ruby APIs
|
|
4
4
|
|
|
5
|
+
[](https://rubygems.org/gems/rubst_api)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://spec.openapis.org/oas/v3.1.0)
|
|
8
|
+
[](https://github.com/joryleech/RubstApi)
|
|
9
|
+
|
|
5
10
|
RubstAPI is a Ruby REST API framework that brings the developer experience of
|
|
6
11
|
[Python FastAPI](https://fastapi.tiangolo.com/) to Rack applications. Define
|
|
7
12
|
typed request parameters and data models once, then receive validation,
|
|
@@ -60,13 +65,15 @@ through one cohesive, Rack-compatible API.
|
|
|
60
65
|
- **Rack compatible:** Mount RubstAPI beside existing Ruby and Rack
|
|
61
66
|
applications.
|
|
62
67
|
- **Focused operational footprint:** Runtime dependencies are limited to Rack,
|
|
63
|
-
Rackup, and
|
|
68
|
+
Rackup, WEBrick, and Base64 for the HTTP interface, bundled CLI, and
|
|
69
|
+
authentication helpers.
|
|
64
70
|
|
|
65
71
|
## Contents
|
|
66
72
|
|
|
67
73
|
- [Requirements](#requirements)
|
|
68
74
|
- [Installation](#installation)
|
|
69
75
|
- [Quick start](#quick-start)
|
|
76
|
+
- [Official sample project](#official-sample-project)
|
|
70
77
|
- [Parameters and validation](#parameters-and-validation)
|
|
71
78
|
- [Models](#models)
|
|
72
79
|
- [Dependency injection](#dependency-injection)
|
|
@@ -90,13 +97,11 @@ through one cohesive, Rack-compatible API.
|
|
|
90
97
|
- A Rack-compatible server for serving HTTP
|
|
91
98
|
|
|
92
99
|
The built-in `rubst_api run` and `rubst_api dev` commands use Rackup and
|
|
93
|
-
WEBrick.
|
|
100
|
+
WEBrick. These dependencies, along with Base64 for authentication helpers, are
|
|
101
|
+
installed automatically with RubstAPI:
|
|
94
102
|
|
|
95
103
|
```ruby
|
|
96
104
|
gem "rubst_api"
|
|
97
|
-
gem "rack", ">= 3.0"
|
|
98
|
-
gem "rackup", ">= 2.0"
|
|
99
|
-
gem "webrick", ">= 1.8"
|
|
100
105
|
```
|
|
101
106
|
|
|
102
107
|
## Installation
|
|
@@ -199,6 +204,11 @@ Invalid input receives a structured `422 Unprocessable Entity` response:
|
|
|
199
204
|
}
|
|
200
205
|
```
|
|
201
206
|
|
|
207
|
+
## Official sample project
|
|
208
|
+
|
|
209
|
+
For a complete, runnable example, see
|
|
210
|
+
[joryleech/RubstApi-Sample-Project](https://github.com/joryleech/RubstApi-Sample-Project).
|
|
211
|
+
|
|
202
212
|
## Parameters and validation
|
|
203
213
|
|
|
204
214
|
Declare where every input comes from:
|
data/lib/rubst_api/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubst_api
|
|
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
|
- Jory Leech
|
|
@@ -69,6 +69,26 @@ dependencies:
|
|
|
69
69
|
- - "<"
|
|
70
70
|
- !ruby/object:Gem::Version
|
|
71
71
|
version: '2.0'
|
|
72
|
+
- !ruby/object:Gem::Dependency
|
|
73
|
+
name: base64
|
|
74
|
+
requirement: !ruby/object:Gem::Requirement
|
|
75
|
+
requirements:
|
|
76
|
+
- - ">="
|
|
77
|
+
- !ruby/object:Gem::Version
|
|
78
|
+
version: '0.3'
|
|
79
|
+
- - "<"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '1.0'
|
|
82
|
+
type: :runtime
|
|
83
|
+
prerelease: false
|
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '0.3'
|
|
89
|
+
- - "<"
|
|
90
|
+
- !ruby/object:Gem::Version
|
|
91
|
+
version: '1.0'
|
|
72
92
|
- !ruby/object:Gem::Dependency
|
|
73
93
|
name: minitest
|
|
74
94
|
requirement: !ruby/object:Gem::Requirement
|