Funicular
π΅Funicu-lΓ¬, Funicu-lΓ !πππ
π΅Funicu-lΓ¬, Funicu-lΓ !πππ
Funicular is a single-page application (SPA) framework powered by PicoRuby.wasm.
Features
- Write client-side code in Ruby instead of JavaScript
- Seamless Rails integration
Combined Gem
This repository consists of three relevant projects:
- PicoGem "picoruby-funicular" ... Core implementation
- CRubyGem "funicular" ... Rails integration
- Chrome extension "PicoRuby Debugger"
PicoGem "picoruby-funicular"
.
βββ mrbgem.rake
βββ mrblib/
βββ test/
CRubyGem "funicular"
.
βββ bin/
βββ exe/
βββ funicular.gemspec
βββ Gemfile
βββ Gemfile.lock
βββ lib/
βββ minitest/
βββ Rakefile
Chrome extention "PicoRuby.wasm debugger"
.
βββ debugger/
The others are common resources.
Documentation
You may want to see Tic-Tac-Toe tutorial first: https://picoruby.org/funicular
Then, dig docs/.
Development
This repository is a submodule of picoruby/picoruby. Do not check it out standalone. Instead, clone the parent repository and work from there:
git clone --recurse-submodules https://github.com/picoruby/picoruby.git
cd picoruby/mrbgems/picoruby-funicular
The CRubyGem side (lib/, funicular.gemspec, etc.) can be developed and tested independently inside that directory, but rake copy_wasm β which vendorsthe PicoRuby.wasm and picorbc wasm artifacts into the gem β relies on sibling directories within the picoruby repository (mrbgems/picoruby-wasm/npm/).
Running it from a standalone checkout will fail.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/picoruby/funicular.
License
Copyright Β© 2025- HASUMI Hitoshi. See MIT-LICENSE for further details.