spikard 0.15.6.pre.rc.7 → 0.15.6.pre.rc.9

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: a86ead89078e10c5fdc57c4beddb1cc95f9fab61d9ea7b4676f2fadca4bc355c
4
- data.tar.gz: d9fdf9d6aeca08bfaf284489fa402f6653868125f62dbede299f5706772ce171
3
+ metadata.gz: dc5e6e866bb0da62f9d639d600515d01ca002a31146a5f2b96bc46e3e0690a1c
4
+ data.tar.gz: '042081c88dd5b3efe999fa5c55ef077cab479dfe1fce715cb13c0dd2da759e27'
5
5
  SHA512:
6
- metadata.gz: fcde0f654b45cfca2019525acfdf60a43e8d60d3bee0c47542071d0f656eca2725228b7e2f408b929fbab37c540854f073faf3eb668ccfd8d46965054ad4b930
7
- data.tar.gz: 56b8191f1f798b88cfaf6454673ee3605446580ba37de567ddc13c238f7f6e893fd054157927efa99d8d6d17ed314a2904241911497a6a43eef6df5b0ebddd2b
6
+ metadata.gz: 7319a04c8312c8fcf660cf3197ee51eba7ff14087c3bcd2afcc20e72e469085b848e7f534973961fcf3ea351230d2a37c6f0fab907c00a1d00326e7542199645
7
+ data.tar.gz: 2c4bc7b96bfefc4776b17ef6c7c149efc1d96711f828e5794a95396a7d2996986104955f8221109cef6e19cce67e938f2a285a7b4e3be6b6f8b3f4e376388fc1
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Na'aman Hirschfeld
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,183 @@
1
+ # Spikard
2
+
3
+ <div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0;">
4
+ <!-- Built with -->
5
+ <a href="https://github.com/kreuzberg-dev/alef">
6
+ <img src="https://img.shields.io/badge/Bindings-alef%20%D7%90-007ec6" alt="Bindings">
7
+ </a>
8
+
9
+ <!-- Language Bindings -->
10
+ <a href="https://crates.io/crates/spikard">
11
+ <img src="https://img.shields.io/crates/v/spikard?label=Rust&color=007ec6" alt="Rust">
12
+ </a>
13
+ <a href="https://pypi.org/project/spikard/">
14
+ <img src="https://img.shields.io/pypi/v/spikard?label=Python&color=007ec6" alt="Python">
15
+ </a>
16
+ <a href="https://www.npmjs.com/package/@spikard/node">
17
+ <img src="https://img.shields.io/npm/v/@spikard/node?label=Node.js&color=007ec6" alt="Node.js">
18
+ </a>
19
+ <a href="https://www.npmjs.com/package/@spikard/node-wasm">
20
+ <img src="https://img.shields.io/npm/v/@spikard/node-wasm?label=WASM&color=007ec6" alt="WASM">
21
+ </a>
22
+ <a href="https://rubygems.org/gems/spikard">
23
+ <img src="https://img.shields.io/gem/v/spikard?label=Ruby&color=007ec6" alt="Ruby">
24
+ </a>
25
+ <a href="https://packagist.org/packages/goldziher/spikard">
26
+ <img src="https://img.shields.io/packagist/v/goldziher/spikard?label=PHP&color=007ec6" alt="PHP">
27
+ </a>
28
+ <a href="https://hex.pm/packages/spikard">
29
+ <img src="https://img.shields.io/hexpm/v/spikard?label=Elixir&color=007ec6" alt="Elixir">
30
+ </a>
31
+ <a href="https://central.sonatype.com/artifact/dev.spikard/spikard">
32
+ <img src="https://img.shields.io/maven-central/v/dev.spikard/spikard?label=Java&color=007ec6" alt="Java">
33
+ </a>
34
+ <a href="https://github.com/Goldziher/spikard/releases">
35
+ <img src="https://img.shields.io/github/v/tag/Goldziher/spikard?label=Go&color=007ec6" alt="Go">
36
+ </a>
37
+ <a href="https://www.nuget.org/packages/Spikard/">
38
+ <img src="https://img.shields.io/nuget/v/Spikard?label=C%23&color=007ec6" alt="C#">
39
+ </a>
40
+ <a href="https://central.sonatype.com/artifact/dev.spikard/spikard">
41
+ <img src="https://img.shields.io/maven-central/v/dev.spikard/spikard?label=Kotlin&color=007ec6" alt="Kotlin">
42
+ </a>
43
+ <a href="https://pub.dev/packages/spikard">
44
+ <img src="https://img.shields.io/pub/v/spikard?label=Dart&color=007ec6" alt="Dart">
45
+ </a>
46
+ <a href="https://github.com/Goldziher/spikard/tree/main/packages/swift">
47
+ <img src="https://img.shields.io/badge/Swift-Spikard-007ec6" alt="Swift">
48
+ </a>
49
+ <a href="https://github.com/Goldziher/spikard/tree/main/packages/zig">
50
+ <img src="https://img.shields.io/badge/Zig-spikard-007ec6" alt="Zig">
51
+ </a>
52
+ <a href="https://github.com/Goldziher/spikard/tree/main/crates/spikard-ffi">
53
+ <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C FFI">
54
+ </a>
55
+ <a href="https://github.com/Goldziher/homebrew-tap">
56
+ <img src="https://img.shields.io/badge/Homebrew-007ec6?logo=homebrew&logoColor=white" alt="Homebrew">
57
+ </a>
58
+
59
+ <!-- Project Info -->
60
+ <a href="https://github.com/Goldziher/spikard/blob/main/LICENSE">
61
+ <img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License">
62
+ </a>
63
+ <a href="https://github.com/Goldziher/spikard/tree/main/docs">
64
+ <img src="https://img.shields.io/badge/Docs-spikard-007ec6" alt="Documentation">
65
+ </a>
66
+ </div>
67
+
68
+ <div align="center" style="display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 24px;">
69
+ <a href="https://discord.gg/pXxagNK2zN">
70
+ <img height="22" src="https://img.shields.io/badge/Discord-Chat-007ec6?logo=discord&logoColor=white" alt="Join Discord">
71
+ </a>
72
+ </div>
73
+
74
+ Rust-centric polyglot HTTP framework with OpenAPI/AsyncAPI/GraphQL/JSON-RPC codegen, tower-http middleware, and fixture-driven cross-language testing. Ruby bindings via Magnus with idiomatic Ruby API.
75
+
76
+ ## What This Package Provides
77
+
78
+ - **HTTP application core** — typed routing, request data extraction, validation, lifecycle hooks, and Tower middleware from the Rust engine.
79
+ - **Spec-driven work** — OpenAPI, AsyncAPI, GraphQL SDL, JSON-RPC, and SQL-to-HTTP codegen are shared across bindings.
80
+ - **Cross-language parity** — generated bindings use the same DTOs, fixtures, and error model, so behavior does not drift between runtimes.
81
+ - **Native integration** — no sidecar server required; each package calls the Rust core through its language-native bridge.
82
+ - **Ruby package** — Magnus-backed native extension with Ruby route objects.
83
+
84
+ ## Installation
85
+
86
+ **gem:**
87
+
88
+ ```bash
89
+ gem install spikard
90
+ ```
91
+
92
+ **Bundler:**
93
+
94
+ ```ruby
95
+ gem 'spikard'
96
+ ```
97
+
98
+ ### System Requirements
99
+
100
+ - **Ruby 3.2+** required
101
+
102
+ ## Quick Start
103
+
104
+ ```ruby
105
+ require "spikard"
106
+
107
+ app = Spikard::App.new
108
+
109
+ app.get("/users/:id") do |params, _query, _body|
110
+ { id: params[:id].to_i, name: "Alice" }
111
+ end
112
+
113
+ app.post("/users") do |_params, _query, body|
114
+ user = body
115
+ { id: user["id"], name: user["name"] }
116
+ end
117
+
118
+ app.run(config: { port: 8000 })
119
+ ```
120
+
121
+ ## Features
122
+
123
+ - **HTTP routing** — type-safe route definitions with path, query, and body parameter validation
124
+ - **OpenAPI / AsyncAPI / GraphQL / JSON-RPC** — code generation and spec parsing built in
125
+ - **Tower middleware** — compression, rate limiting, timeouts, auth (JWT/API key), static files
126
+ - **Lifecycle hooks** — `onRequest`, `preValidation`, `preHandler`, `onResponse`, `onError`
127
+ - **Fixture-driven testing** — shared JSON fixtures drive tests across all language bindings
128
+ - **Polyglot** — single Rust core, thin bindings for Python, Node.js, Ruby, PHP, Elixir, Go, Java, C#, Kotlin, Dart, Gleam, WASM, Swift, Zig, and C FFI
129
+
130
+ ## Routing
131
+
132
+ ```ruby
133
+ require "spikard"
134
+
135
+ app = Spikard::App.new
136
+
137
+ app.get("/health") { |_params, _query, _body| { status: "ok" } }
138
+ app.post("/users") { |_params, _query, body| body }
139
+ ```
140
+
141
+ ## Validation
142
+
143
+ ```ruby
144
+ require "spikard"
145
+
146
+ PaymentSchema = Dry::Schema.Params do
147
+ required(:id).filled(:string)
148
+ required(:amount).filled(:float)
149
+ end
150
+
151
+ app = Spikard::App.new
152
+
153
+ app.post("/payments") do |_params, _query, body|
154
+ PaymentSchema.call(body)
155
+ end
156
+ ```
157
+
158
+ ## Middleware
159
+
160
+ ```ruby
161
+ require "spikard"
162
+
163
+ app = Spikard::App.new
164
+
165
+ app.on_request do |request|
166
+ puts "#{request[:method]} #{request[:path]}"
167
+ request
168
+ end
169
+ ```
170
+
171
+ ## Documentation
172
+
173
+ - **[Repository](https://github.com/Goldziher/spikard)** — source code, examples, and contributing guide
174
+ - **[Examples](https://github.com/Goldziher/spikard/tree/main/crates/spikard-http/examples)** — working server examples
175
+ - **[Issues](https://github.com/Goldziher/spikard/issues)** — bug reports and feature requests
176
+
177
+ ## Contributing
178
+
179
+ Contributions are welcome. See [CONTRIBUTING.md](https://github.com/Goldziher/spikard/blob/main/CONTRIBUTING.md).
180
+
181
+ ## License
182
+
183
+ MIT License — see [LICENSE](https://github.com/Goldziher/spikard/blob/main/LICENSE) for details.
@@ -266,7 +266,7 @@ dependencies = [
266
266
  "sha1",
267
267
  "sync_wrapper",
268
268
  "tokio",
269
- "tokio-tungstenite 0.29.0",
269
+ "tokio-tungstenite",
270
270
  "tower",
271
271
  "tower-layer",
272
272
  "tower-service",
@@ -294,9 +294,9 @@ dependencies = [
294
294
 
295
295
  [[package]]
296
296
  name = "axum-test"
297
- version = "20.0.0"
297
+ version = "20.1.0"
298
298
  source = "registry+https://github.com/rust-lang/crates.io-index"
299
- checksum = "3a86bfe2ef15bee102ac34912f7f4542b0bb37dc464fa55461763999c4d625e7"
299
+ checksum = "43c6a2f1d97ee33c39f13dacc0f84ae781a9c2ed373a75bad1129094f5a7c4bd"
300
300
  dependencies = [
301
301
  "anyhow",
302
302
  "axum",
@@ -318,7 +318,7 @@ dependencies = [
318
318
  "serde_json",
319
319
  "serde_urlencoded",
320
320
  "tokio",
321
- "tokio-tungstenite 0.28.0",
321
+ "tokio-tungstenite",
322
322
  "tower",
323
323
  "url",
324
324
  "uuid",
@@ -806,9 +806,9 @@ dependencies = [
806
806
 
807
807
  [[package]]
808
808
  name = "displaydoc"
809
- version = "0.2.5"
809
+ version = "0.2.6"
810
810
  source = "registry+https://github.com/rust-lang/crates.io-index"
811
- checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
811
+ checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
812
812
  dependencies = [
813
813
  "proc-macro2",
814
814
  "quote",
@@ -933,9 +933,9 @@ dependencies = [
933
933
 
934
934
  [[package]]
935
935
  name = "expect-json"
936
- version = "1.10.1"
936
+ version = "1.11.0"
937
937
  source = "registry+https://github.com/rust-lang/crates.io-index"
938
- checksum = "869f97f4abe8e78fc812a94ad6b721d72c4fb5532877c79610f2c238d7ccf6c4"
938
+ checksum = "5e80819dbfe83c8a651f5344b08910d0037dac72988aef27ee4e6bedd7ae2e33"
939
939
  dependencies = [
940
940
  "chrono",
941
941
  "email_address",
@@ -951,9 +951,9 @@ dependencies = [
951
951
 
952
952
  [[package]]
953
953
  name = "expect-json-macros"
954
- version = "1.10.1"
954
+ version = "1.11.0"
955
955
  source = "registry+https://github.com/rust-lang/crates.io-index"
956
- checksum = "6e6fdf550180a6c29a28cb9aac262dc0064c25735641d2317f670075e9a469d9"
956
+ checksum = "c0637949cd816934f3b7aab44ff98e7ec1fb903c379e07dcb9eac943ec33499e"
957
957
  dependencies = [
958
958
  "proc-macro2",
959
959
  "quote",
@@ -1882,9 +1882,9 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
1882
1882
 
1883
1883
  [[package]]
1884
1884
  name = "memchr"
1885
- version = "2.8.0"
1885
+ version = "2.8.1"
1886
1886
  source = "registry+https://github.com/rust-lang/crates.io-index"
1887
- checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
1887
+ checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
1888
1888
 
1889
1889
  [[package]]
1890
1890
  name = "micromap"
@@ -3026,9 +3026,9 @@ dependencies = [
3026
3026
 
3027
3027
  [[package]]
3028
3028
  name = "spikard"
3029
- version = "0.15.6-rc.7"
3029
+ version = "0.15.6-rc.9"
3030
3030
  source = "registry+https://github.com/rust-lang/crates.io-index"
3031
- checksum = "079a4d8e3afafb441a398b6a8a73cf5e206d5c28fc5d46ecae9cc7e0c2025576"
3031
+ checksum = "16feef8fff949bccef447296bc7f504bb08c24ead73b9e657d1d0707c68307f7"
3032
3032
  dependencies = [
3033
3033
  "anyhow",
3034
3034
  "axum",
@@ -3046,9 +3046,9 @@ dependencies = [
3046
3046
 
3047
3047
  [[package]]
3048
3048
  name = "spikard-core"
3049
- version = "0.15.6-rc.7"
3049
+ version = "0.15.6-rc.9"
3050
3050
  source = "registry+https://github.com/rust-lang/crates.io-index"
3051
- checksum = "89f4f72a93fcf4f39ba70dd06bfa72ee4407042fc508d0af5a673ee945fc8686"
3051
+ checksum = "cc1e8bafd019a774e6678cc1291e2a77cfe8fbc009ae9d1d5ffc03d0ffe3c105"
3052
3052
  dependencies = [
3053
3053
  "anyhow",
3054
3054
  "base64",
@@ -3072,9 +3072,9 @@ dependencies = [
3072
3072
 
3073
3073
  [[package]]
3074
3074
  name = "spikard-graphql"
3075
- version = "0.15.6-rc.7"
3075
+ version = "0.15.6-rc.9"
3076
3076
  source = "registry+https://github.com/rust-lang/crates.io-index"
3077
- checksum = "0876846dd66ee2ff2c0997843488419d36d698b74f52b4d89d91b5b9e089d291"
3077
+ checksum = "db1743fd403ebb0a0aefdf83ae722936881002b5da7f28831908e1f804d4c143"
3078
3078
  dependencies = [
3079
3079
  "async-graphql",
3080
3080
  "axum",
@@ -3093,9 +3093,9 @@ dependencies = [
3093
3093
 
3094
3094
  [[package]]
3095
3095
  name = "spikard-http"
3096
- version = "0.15.6-rc.7"
3096
+ version = "0.15.6-rc.9"
3097
3097
  source = "registry+https://github.com/rust-lang/crates.io-index"
3098
- checksum = "9d35491b4e6288ebbcc26208582801c927be6d15a8b6b1a9916b897d719a3c4d"
3098
+ checksum = "1d9452c13e5d8d61bc7a7aa453dd55c662d328b33e5a77390bf00fb4a2149e82"
3099
3099
  dependencies = [
3100
3100
  "ahash",
3101
3101
  "anyhow",
@@ -3135,7 +3135,7 @@ dependencies = [
3135
3135
  "tower_governor",
3136
3136
  "tracing",
3137
3137
  "tracing-subscriber",
3138
- "tungstenite 0.28.0",
3138
+ "tungstenite",
3139
3139
  "url",
3140
3140
  "urlencoding",
3141
3141
  "utoipa",
@@ -3146,7 +3146,7 @@ dependencies = [
3146
3146
 
3147
3147
  [[package]]
3148
3148
  name = "spikard-rb"
3149
- version = "0.15.6-rc.7"
3149
+ version = "0.15.6-rc.9"
3150
3150
  dependencies = [
3151
3151
  "magnus",
3152
3152
  "serde",
@@ -3398,18 +3398,6 @@ dependencies = [
3398
3398
  "tokio",
3399
3399
  ]
3400
3400
 
3401
- [[package]]
3402
- name = "tokio-tungstenite"
3403
- version = "0.28.0"
3404
- source = "registry+https://github.com/rust-lang/crates.io-index"
3405
- checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857"
3406
- dependencies = [
3407
- "futures-util",
3408
- "log",
3409
- "tokio",
3410
- "tungstenite 0.28.0",
3411
- ]
3412
-
3413
3401
  [[package]]
3414
3402
  name = "tokio-tungstenite"
3415
3403
  version = "0.29.0"
@@ -3419,7 +3407,7 @@ dependencies = [
3419
3407
  "futures-util",
3420
3408
  "log",
3421
3409
  "tokio",
3422
- "tungstenite 0.29.0",
3410
+ "tungstenite",
3423
3411
  ]
3424
3412
 
3425
3413
  [[package]]
@@ -3639,23 +3627,6 @@ version = "0.2.5"
3639
3627
  source = "registry+https://github.com/rust-lang/crates.io-index"
3640
3628
  checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
3641
3629
 
3642
- [[package]]
3643
- name = "tungstenite"
3644
- version = "0.28.0"
3645
- source = "registry+https://github.com/rust-lang/crates.io-index"
3646
- checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442"
3647
- dependencies = [
3648
- "bytes",
3649
- "data-encoding",
3650
- "http",
3651
- "httparse",
3652
- "log",
3653
- "rand 0.9.4",
3654
- "sha1",
3655
- "thiserror 2.0.18",
3656
- "utf-8",
3657
- ]
3658
-
3659
3630
  [[package]]
3660
3631
  name = "tungstenite"
3661
3632
  version = "0.29.0"
@@ -3756,12 +3727,6 @@ version = "2.1.3"
3756
3727
  source = "registry+https://github.com/rust-lang/crates.io-index"
3757
3728
  checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
3758
3729
 
3759
- [[package]]
3760
- name = "utf-8"
3761
- version = "0.7.6"
3762
- source = "registry+https://github.com/rust-lang/crates.io-index"
3763
- checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
3764
-
3765
3730
  [[package]]
3766
3731
  name = "utf8_iter"
3767
3732
  version = "1.0.4"
@@ -1,11 +1,11 @@
1
1
  [package]
2
2
  name = "spikard-rb"
3
- version = "0.15.6-rc.7"
3
+ version = "0.15.6-rc.9"
4
4
  edition = "2024"
5
5
  license = "MIT"
6
6
  description = "Rust-centric multi-language HTTP framework with polyglot bindings"
7
7
  readme = false
8
- keywords = ["http", "web", "framework", "polyglot", "rust"]
8
+ keywords = ["framework", "http", "polyglot", "rust", "web"]
9
9
  categories = ["text-processing"]
10
10
 
11
11
  [lib]
@@ -17,10 +17,10 @@ crate-type = ["cdylib"]
17
17
  magnus = "0.8"
18
18
  serde = { version = "1", features = ["derive"] }
19
19
  serde_json = "1"
20
- spikard = { version = "0.15.6-rc.7", features = ["di"] }
21
- spikard-core = { version = "0.15.6-rc.7" }
22
- spikard-graphql = { version = "0.15.6-rc.7" }
23
- spikard-http = { version = "0.15.6-rc.7" }
20
+ spikard = { version = "0.15.6-rc.9", features = ["di"] }
21
+ spikard-core = { version = "0.15.6-rc.9" }
22
+ spikard-graphql = { version = "0.15.6-rc.9" }
23
+ spikard-http = { version = "0.15.6-rc.9" }
24
24
  tokio = { version = "1", features = ["rt-multi-thread"] }
25
25
  [package.metadata.cargo-machete]
26
26
  ignored = ["tokio"]
@@ -1,10 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:fa235afa21c4cea5dfcc142a6b53f98d837817fa606ee930869616e61e78957b
2
+ # alef:hash:4a955e9e10ab7d7501c4157e7bf79dc4d0d2ea5e1d84ebf2b6acf6a960e2be3f
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # Issues & docs: https://github.com/kreuzberg-dev/alef
6
6
  # frozen_string_literal: true
7
7
 
8
8
  module Spikard
9
- VERSION = "0.15.6.pre.rc.7"
9
+ VERSION = "0.15.6.pre.rc.9"
10
10
  end
data/lib/spikard_rb.so CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spikard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.6.pre.rc.7
4
+ version: 0.15.6.pre.rc.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Na'aman Hirschfeld <nhirschfeld@gmail.com>
@@ -43,6 +43,8 @@ extensions:
43
43
  - ext/spikard_rb/extconf.rb
44
44
  extra_rdoc_files: []
45
45
  files:
46
+ - LICENSE
47
+ - README.md
46
48
  - Steepfile
47
49
  - ext/spikard_rb/extconf.rb
48
50
  - ext/spikard_rb/native/Cargo.lock
@@ -57,7 +59,7 @@ homepage: https://github.com/Goldziher/spikard
57
59
  licenses:
58
60
  - MIT
59
61
  metadata:
60
- keywords: http,web,framework,polyglot,rust
62
+ keywords: framework,http,polyglot,rust,web
61
63
  rubygems_mfa_required: 'true'
62
64
  rdoc_options: []
63
65
  require_paths: