Run Ruby scripts online, with no server to keep
Write def main and Waiso runs it on Ruby’s own interpreter in an isolated sandbox. Each run keeps its inputs, output and logs, and the same method runs on a schedule, over HTTP or in a flow.
Defaults type the inputs
Inputs are matched by name to main’s parameters and typed by their defaults; keyword arguments work too. The hash main returns is the JSON result, and puts goes to the logs.
Learn more →def main(full_name = "Ada Lovelace", upcase: true)
initials = full_name.split.map { |part| part[0] }.join
initials = initials.upcase if upcase
puts "initials for #{full_name}"
{ name: full_name, initials: initials }
end
The standard library, no gems to install
Ruby scripts install no gems: they use Ruby’s standard library. The Waiso library is loaded for you, with Waiso.run, Waiso.flow and Waiso.state_get.
Learn more →A step in a bigger workflow
Publish the script and use it as a flow step between SQL queries, HTTP requests and e-mails, put it on a schedule, or turn on its HTTP endpoint.
Learn more →Questions
Can I add gems from RubyGems?
No. Ruby scripts run with the standard library and the Waiso library only.
Can I choose the Ruby version?
No. Ruby scripts run on the one version the worker carries and do not record a version.
Can a Ruby script keep data between runs?
Yes. Waiso.state_get reads the script’s state, a set of keys kept between runs, so a scheduled run can pick up where the last one stopped.