Thanks to visit codestin.com
Credit goes to github.com

Skip to content

IxDay/mruby

 
 

Repository files navigation

MRuby distribution for everyday scripting

This project aims to provide a fully-featured scripting platform for all operating systems in a single, small binary.

Project Overview

The idea emerged from a quest to find the perfect scripting tool for my Golang projects (see blog post). I was dissatisfied with using Make and the heavy reliance on bash scripts (hello coreutils compat issues!) to handle all the essential tasks a software project requires. I ended up shipping the following requirements:

  1. Cross-Platform Compatibility: Ensuring the binary works consistently across different operating systems.
  2. CLI Primitives: The binary is built with support for optparse, glob patterns, and Windows path compatibility.
  3. Built-in HTTP/HTTPS and JSON/YAML Support: Ability to make HTTP/HTTPS calls and parse JSON/YAML directly in scripts.
  4. Small Self-Contained Binary: All-in-one executable without extra setup, with no additional dependencies.
  5. Support for Task Execution: With the included mrake library, you can organize and manage complex task workflows, similar to Makefile dependencies.

Getting started

Download the mrake and mruby binaries from the Releases page and place them in a folder within your $PATH. That’s it! You can now script using #!/usr/bin/env mruby or by creating a Rakefile. You can check out the examples folder for sample scripts that demonstrate MRuby’s capabilities.

Forking

If your project requires a different set of dependencies, feel free to fork this project. After forking, add or remove any dependencies in the build configuration file, then enable the GitHub Action to package your own release.

Releases

Find the latest binaries on the Releases page. Each release includes pre-packaged versions for different platforms (Linux, MacOS, Windows) so you can get up and running with minimal setup.)

License

This project is released under the MIT License, the same as the parent project, mruby.

About

Lightweight Ruby

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%