ikura 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: 18b5d492ca45d8e35c47fc6ae5b776465b1c97bbbea3c6bc8685860ff006b638
4
- data.tar.gz: 48a96a16a338ff94097e3b17c8435ec13c2746568fa5e5cade896cf158e2d623
3
+ metadata.gz: 1bb2349181cc4df0d6b283dd60cad31479b35fa9aaa4fd2706857e05ffe6aec8
4
+ data.tar.gz: 42630b8463ae9d1831526b6d848bf02e203efb7c56cc9ab6d2cd11345d05426a
5
5
  SHA512:
6
- metadata.gz: b28cb7014d7a2896230d81e19b24685f75a625164f48fb289146b27c4d29b06b0759d173d6421da7634b57c07c32c7838b9f918f7f9accba90dd0cad70b38dbe
7
- data.tar.gz: 541e6c46e6a8708e03610caa899d511caa15db2a191423c2de5f8c9a8306682c803c69af68f4c9e53d198b3b875a6c4181d799d0896dfcd3e3e14b4b02e8e97a
6
+ metadata.gz: 1e69c4800ad5ab641ce70548356e9d83119b7b88d7bce07bae3dd6475f4921d64d4783bef0db92a8ff855265bf70ca63cbe41bba2fc2f0ca43062654e52a3479
7
+ data.tar.gz: 24cbd3a99b3c9505bd9d4ca0c77155e206ae000ffdc35014245e564f9ae1fee17b6cdde1dbbccc8d442e9b253b888ed914a4347a12cc9697de8133a26c4e63c2
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 haruna-tsujita
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 CHANGED
@@ -1,10 +1,8 @@
1
1
  # Ikura
2
2
 
3
- An interactive gunkan-maki sushi toy server powered by Ruby Wasm.
3
+ A minimal Turbo Stream toy built on Ruby Wasm and raw TCP sockets — no Rails, no frontend framework, no external runtime dependencies.
4
4
 
5
- Click anywhere on the sushi in the browser to place ikura (salmon roe). The click handling runs entirely in Ruby via WebAssembly, and DOM updates are delivered as Turbo Streams no frontend framework required.
6
-
7
- The server is built on Ruby's built-in `socket` library (TCPServer), so there are **no external runtime dependencies**.
5
+ Click anywhere on the gunkan-maki sushi in the browser to place ikura (salmon roe). Click handling runs entirely in Ruby via WebAssembly, and DOM updates are delivered as Turbo Streams. The server is built on Ruby's built-in `TCPServer`.
8
6
 
9
7
  ## Installation
10
8
 
data/ikura.gemspec ADDED
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/ikura/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "ikura"
7
+ spec.version = Ikura::VERSION
8
+ spec.authors = ["haruna-tsujita"]
9
+ spec.email = ["snwxxx29@gmail.com"]
10
+
11
+ spec.summary = "A minimal Turbo Stream toy built on Ruby Wasm and raw TCP sockets."
12
+ spec.description = "Ikura is a minimal Turbo Stream implementation built from scratch using Ruby Wasm and Ruby's built-in TCPServer — no Rails, no frontend framework, no external runtime dependencies. Click anywhere on the gunkan-maki sushi in the browser to place ikura (salmon roe); click events run in Ruby via WebAssembly and DOM updates arrive as Turbo Streams."
13
+ spec.homepage = "https://github.com/haruna-tsujita/ikura"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 4.0.2"
16
+
17
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
+
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = "https://github.com/haruna-tsujita/ikura/tree/master"
21
+ spec.metadata["changelog_uri"] = "https://github.com/haruna-tsujita/ikura/blob/master/CHANGELOG.md"
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(__dir__) do
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
+ end
29
+ end
30
+ spec.bindir = "exe"
31
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ["lib"]
33
+
34
+ spec.add_development_dependency "minitest", "~> 5.0"
35
+
36
+ # For more information and examples about making a new gem, check out our
37
+ # guide at: https://bundler.io/guides/creating_gem.html
38
+ end
data/lib/ikura/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ikura
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: ikura
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
  - haruna-tsujita
@@ -23,9 +23,11 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '5.0'
26
- description: Ikura is a tiny HTTP server that renders an interactive gunkan-maki sushi
27
- in the browser. Click anywhere on the sushi to place ikura (salmon roe) using Ruby
28
- running in WebAssembly.
26
+ description: Ikura is a minimal Turbo Stream implementation built from scratch using
27
+ Ruby Wasm and Ruby's built-in TCPServer no Rails, no frontend framework, no external
28
+ runtime dependencies. Click anywhere on the gunkan-maki sushi in the browser to
29
+ place ikura (salmon roe); click events run in Ruby via WebAssembly and DOM updates
30
+ arrive as Turbo Streams.
29
31
  email:
30
32
  - snwxxx29@gmail.com
31
33
  executables:
@@ -36,9 +38,11 @@ files:
36
38
  - ".ruby-version"
37
39
  - CHANGELOG.md
38
40
  - Gemfile
41
+ - LICENSE.txt
39
42
  - README.md
40
43
  - Rakefile
41
44
  - exe/ikura
45
+ - ikura.gemspec
42
46
  - lib/ikura.rb
43
47
  - lib/ikura/builder.rb
44
48
  - lib/ikura/server.rb
@@ -69,5 +73,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
73
  requirements: []
70
74
  rubygems_version: 4.0.6
71
75
  specification_version: 4
72
- summary: An interactive gunkan-maki sushi toy server powered by Ruby Wasm
76
+ summary: A minimal Turbo Stream toy built on Ruby Wasm and raw TCP sockets.
73
77
  test_files: []