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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0421cfdff576c394312d131b716b781f0811ca24d8572386ac9a94a307759da6
4
- data.tar.gz: 706a40d9e4be0c54e888047cbd1f46d6131cf705d1457d6b1a52ee29b4a1c85d
3
+ metadata.gz: 17b383891b5d721514549cb49f7a78ee33b554bbce1def62b1c77234f2212f98
4
+ data.tar.gz: 27819c6c49283da23ba649613debdb2746f64039c244d6412e2f06e9ff364c4a
5
5
  SHA512:
6
- metadata.gz: 1d97840b9d9ef0bf1ef8a20abe93b3ceaeded0863d0e0f33056b373446c85d405fd3ea4a9e9f3cc76ec5277b58ce9a75f06e7767f0791e35ba1fdfcd6d368c79
7
- data.tar.gz: e79e8e83813610bf9c1e45de62e029ebfc85072e5ae2116c3e2431be4b1116c55d8e2f6cb739c4f7ddae06cfbceebec1cc98cb644ba731c1f3b99a00fabd979f
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
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 FastAPI Ruby contributors
3
+ Copyright (c) 2026 Jory Leech
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  ### A FastAPI-inspired framework for building typed Ruby APIs
4
4
 
5
+ [![Gem Version](https://img.shields.io/gem/v/rubst_api?logo=rubygems&logoColor=white)](https://rubygems.org/gems/rubst_api)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
7
+ [![OpenAPI 3.1](https://img.shields.io/badge/OpenAPI-3.1-6BA539?logo=openapiinitiative&logoColor=white)](https://spec.openapis.org/oas/v3.1.0)
8
+ [![GitHub](https://img.shields.io/badge/GitHub-joryleech%2FRubstApi-181717?logo=github)](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 WEBrick for the framework's HTTP interface and bundled CLI.
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. Add these server dependencies to your application:
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:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubstApi
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
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.0
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