Conduit 0.4 is here!

See what's new

Introducing Turbine Ruby

By  Jennifer Hudiono

 24 Jan 2023

Meroxa Love Ruby

We are excited to announce—software developers can now build Turbine data applications with Turbine Ruby. This addition expands the capabilities of our platform and allows for even greater flexibility in processing and analyzing data streams. 

The Turbine application framework is designed for software developers to build, test, and deploy their data streaming applications. Turbine streamlines this experience for software developers by abstracting the complexity associated with running and scaling a data application such as separate task-specific tooling, new and unfamiliar paradigms, and managing complex services. Combining Ruby’s simplicity and power with Turbine, Rubyists can now build, test, and deploy data streaming apps on Meroxa!

Turbine.rb

You can get started building your data streaming application in Ruby by creating a free Meroxa account and downloading our CLI. Set up will also require local installation of Git, the latest Ruby version. We also recommend downloading a Ruby version management tool of your choice.

Recommended Ruby version management tools:

If you have a Ruby version management tool installed, you can install ruby through your version management tool and specify which version you would like installed for your development use case.

Quickstart

Once setup and installation are complete, you can start building your stream processing app. Initialize the streaming app within the local directory you are currently in by running the following command:

Code snippet 1

You may define a different local directory path for the app project by using --path /your/local/path/ in your command.

A local app project directory will automatically be created on your local machine, complete with everything you need to build a streaming app with Tubrine.rb. The app project will include the following files:

Code snippet 2

The app.rb file is the core of your streaming app. Self-documented TurbineRb boilerplate code is already written to help you get started at /your/local/path/yourappname/app.rb. All that awaits is your creativity demonstrated through code.

Code snippet 3

In the next section, we will run the example app above to test its output.

Running Your Application

You can run your app locally without changing any of the TurbineRb boilerplate code provided in the local app project directory. Simply navigate to the root of the app project using cd /your/local/path/yourappname and use meroxa app run to run your streaming app locally. Running the example app provided, will take records provided by the fixtures which contain a message and output that exact message. You can include the commented out transformations to see that transformation applied to the record.

If you see the following output—Then you have successfully run a streaming app locally! 

Code snippet 4

Deploying Your Application

Before deploying your application, ensure the resources used by your Turbine data app exist on the Meroxa Platform. You can check using the Meroxa Dashboard or CLI by running the meroxa resources list command --this command lists all resources and their state. If the resources don't exist, you must configure your resources using the Meroxa Dashboard.

The Turbine framework uses git for version control. Upon initializing your application, git init is performed locally on your behalf. This creates a new repository in the project folder of your Turbine data app, which can be used to track your code. You will need to commit your code changes before deploying.

Using the Meroxa CLI, run the meroxa app deploy command in the project folder root of your Turbine data app, this will start the process of deployment. The Meroxa CLI will print out the steps taken and confirm once deployment is successful.

Code snippet 5

For a more detailed walkthrough of creating a Turbine Ruby application, refer to our documentation.

Have questions or feedback?

We love hearing from our customers! If you have questions or feedback, please feel free to contact us directly at support@meroxa.com or by joining our Discord community server.

🚀 We can’t wait to see what you build!

         Meroxa, Turbine, Ruby