Project

ikura

0.0
No release in over 3 years
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.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 5.0
 Project Readme

Ikura

A minimal Turbo Stream toy built on Ruby Wasm and raw TCP sockets — 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 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.

Installation

gem install ikura

Or add to your Gemfile:

bundle add ikura

Usage

Start the server:

ikura

Then open http://localhost:8080 in your browser.

To use a custom port:

require "ikura"
Ikura::Server.start(port: 3000)

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt.

To install this gem onto your local machine:

bundle exec rake install

To release a new version, update lib/ikura/version.rb, then run:

bundle exec rake release

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/haruna-tsujita/ikura.