spikard 0.1.2 → 0.2.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.
@@ -0,0 +1,5 @@
1
+ [tools]
2
+ ruby = "3.4"
3
+
4
+ [env]
5
+ MAINTENANCE = "true"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spikard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Na'aman Hirschfeld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-11-23 00:00:00.000000000 Z
11
+ date: 2025-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: websocket-client-simple
@@ -25,8 +25,21 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.8'
27
27
  description: |
28
- Spikard provides a high-performance HTTP toolkit with a Rust core and thin language bindings.
29
- This gem bundles the Ruby bridge implemented with Magnus.
28
+ Spikard is a Rust-centric multi-language HTTP toolkit providing a high-performance core library
29
+ and language bindings (Python, Node.js, Ruby, PHP, WebAssembly) to build and validate typed web services.
30
+
31
+ The Ruby binding uses Magnus for zero-overhead FFI, providing Sinatra-style routing, full async/await support,
32
+ WebSockets, Server-Sent Events, request validation with JSON Schema and dry-schema, lifecycle hooks,
33
+ dependency injection, and comprehensive middleware stack (compression, rate limiting, authentication).
34
+
35
+ Features:
36
+ - Zero-copy Rust-to-Ruby serialization via Magnus
37
+ - Async-first with Tokio and Axum backing
38
+ - Type-safe RBS type definitions for Steep
39
+ - Tower-HTTP middleware stack
40
+ - Lifecycle hooks (onRequest, preValidation, preHandler, onResponse, onError)
41
+ - Built-in WebSocket and SSE support
42
+ - Request validation with JSON Schema
30
43
  email:
31
44
  - nhirschfeld@gmail.com
32
45
  executables: []
@@ -45,6 +58,7 @@ files:
45
58
  - lib/spikard/config.rb
46
59
  - lib/spikard/converters.rb
47
60
  - lib/spikard/handler_wrapper.rb
61
+ - lib/spikard/provide.rb
48
62
  - lib/spikard/response.rb
49
63
  - lib/spikard/schema.rb
50
64
  - lib/spikard/sse.rb
@@ -54,6 +68,7 @@ files:
54
68
  - lib/spikard/version.rb
55
69
  - lib/spikard/websocket.rb
56
70
  - sig/spikard.rbs
71
+ - vendor/bundle/ruby/3.3.0/gems/diff-lcs-1.6.2/mise.toml
57
72
  homepage: https://github.com/Goldziher/spikard
58
73
  licenses:
59
74
  - MIT
@@ -61,6 +76,9 @@ metadata:
61
76
  homepage_uri: https://github.com/Goldziher/spikard
62
77
  source_code_uri: https://github.com/Goldziher/spikard
63
78
  changelog_uri: https://github.com/Goldziher/spikard/blob/main/CHANGELOG.md
79
+ documentation_uri: https://github.com/Goldziher/spikard/tree/main/packages/ruby#documentation
80
+ bug_tracker_uri: https://github.com/Goldziher/spikard/issues
81
+ funding_uri: https://github.com/Goldziher/spikard
64
82
  rubygems_mfa_required: 'true'
65
83
  post_install_message:
66
84
  rdoc_options: []
@@ -80,5 +98,5 @@ requirements: []
80
98
  rubygems_version: 3.5.22
81
99
  signing_key:
82
100
  specification_version: 4
83
- summary: Ruby bindings for the Spikard HTTP toolkit
101
+ summary: High-performance HTTP toolkit with Rust core and Ruby bindings
84
102
  test_files: []