Logo

dev-resources.site

for different kinds of informations.

ruby -run

Published at
1/15/2025
Categories
ruby
tooling
beginners
tutorial
Author
delonnewman
Categories
4 categories in total
ruby
open
tooling
open
beginners
open
tutorial
open
Author
11 person written this
delonnewman
open
ruby -run

Ruby is well known as a language that is easy to use from the surface but is very deep and complex underneath. That's what we know and love about it. Its standard library has a similar design and contains many hidden gems. One of the gems I've learned about recently is un. It's designed to be a command line utility executed directly from ruby. This is its usage description:

ruby -run -e cp -- [OPTION] SOURCE DEST<br>
ruby -run -e ln -- [OPTION] TARGET LINK_NAME<br>
ruby -run -e mv -- [OPTION] SOURCE DEST<br>
ruby -run -e rm -- [OPTION] FILE<br>
ruby -run -e mkdir -- [OPTION] DIRS<br>
ruby -run -e rmdir -- [OPTION] DIRS<br>
ruby -run -e install -- [OPTION] SOURCE DEST<br>
ruby -run -e chmod -- [OPTION] OCTAL-MODE FILE<br>
ruby -run -e touch -- [OPTION] FILE<br>
ruby -run -e wait_writable -- [OPTION] FILE<br>
ruby -run -e mkmf -- [OPTION] EXTNAME [OPTION]<br>
ruby -run -e httpd -- [OPTION] [DocumentRoot]<br>
ruby -run -e colorize -- [FILE]<br>
ruby -run -e help [COMMAND]

This means that if you type

ruby -run -e help httpd
Enter fullscreen mode Exit fullscreen mode

you'll see a help message that will describe how that command works.

Most of the commands have pretty limited utility. They seem to be portable UNIX utilities for use when Ruby is present but a UNIX environment is not. In fact, the package is described as "Utilities to replace common UNIX commands in Makefiles etc." Perhaps they're useful in embedded systems (I understand that Ruby is commonly
used for embedded systems in Japan).

The two that stand out to me are httpd and colorize. httpd is very useful. It's become my go-to utility when I need to quickly serve files over HTTP.

Just type

ruby -run -e httpd .
Enter fullscreen mode Exit fullscreen mode

press "Enter" and boom you're done! You should see something like this on your screen:

[2025-01-12 13:43:26] INFO  WEBrick 1.6.1<br>
[2025-01-12 13:43:26] INFO  ruby 2.7.5 (2021-11-24) [arm64-darwin24]<br>
[2025-01-12 13:43:26] INFO  WEBrick::HTTPServer#start: pid=27808 port=8080

Now you can open localhost:8080 in your browser and see the files you've served.

colorize prints out the Ruby code of any file you give it with syntax highlighting. I've not used it in a practical setting yet. But it might be useful when looking through Ruby files in a terminal as an alternative to cat.

tutorial Article's
30 articles in total
Tutorials offer step-by-step instructions to help learners grasp concepts and complete tasks in various domains.
Favicon
Creating a live HTML, CSS and JS displayer
Favicon
Build Your First AI Application Using LlamaIndex!
Favicon
Creating Arrays with Reference Variables
Favicon
How To Build Beautiful Terminal UIs (TUIs) in JavaScript 2: forms!
Favicon
Chronicles of Supermarket website
Favicon
Easy development environments with Nix and Nix flakes!
Favicon
ruby -run
Favicon
Основы изучения Python: Руководство для начинающих
Favicon
How to Use JavaScript to Reduce HTML Code: A Simple Example
Favicon
SQL Performance Tuning: Best Practices for Faster Queries
Favicon
Php Base64 encode/decode – best practices and use cases
Favicon
10 Must-Bookmark Open Source Projects for Developers
Favicon
Easy 301 Redirects For SEO
Favicon
ruby -run, again
Favicon
🚀 New Book Release: "Navigate the Automation Seas" – A Practical Guide to Building Automation Frameworks
Favicon
Top Kubernetes CI/CD Tools in 2025
Favicon
340+ Websites every developer should know
Favicon
Survival Manual: How to Create and Manage a Project in Git
Favicon
Strong Female Role Models in the Sector: Oya Narin
Favicon
Test Scenarios vs. Test Cases: Understanding the Differences
Favicon
Angular validation common functions
Favicon
KDE vs GNOME vs Others: Choosing the Best Linux Desktop Environment in 2025
Favicon
NXP i.MX8MP Platform Porting Driver Tutorial
Favicon
Response Handling Best Practices
Favicon
Why AWS Matters: A Beginner's View
Favicon
How the Internet Works: OSI Model, DNS, TCP vs. UDP, and Essential Concepts for Beginners
Favicon
Resolving Auto-Scroll issues for overflow container in a Nuxt app
Favicon
#131 — Use Association Table to Handle Interval Association
Favicon
Deferred loading with @defer: Optimize Your App's Performance
Favicon
Psychotherapy Technology Advancements

Featured ones: