Embracing Ruby - Bridging the gap to the automated tomorrow

The evolution of Ruby, a programming language in InfoWorks and InfoAsset.

Jonathan Dowen discusses how Ruby, has evolved over the years into an incredibly powerful automation platform to aid the Wastewater industry.

25 Nov 2020

In an age where budgets are becoming tighter, processes more complex and the data we work with grows larger; the need to reach outcomes faster and more precisely continues to become more important. It is now clearer than ever the traditional approaches to solving our problems are becoming fast outdated; unable to keep up with modern issues and expectations.

Ruby is a programming language which extends the functionality and interactivity of InfoWorks ICM and InfoAsset. This is water industry standard software.

Ruby has been a continuously evolving feature of InfoWorks and InfoAsset for many years that has progressed into an incredibly powerful automation platform. Up until recently, implementations of Ruby were rare and generally, only simple tasks were performed where SQL queries were unreliable or impractical, with higher level manipulation of features unused.

Delving deeper into what Ruby is capable of, it became evident that we had only scratched the surface of what is possible, leaving the platform vastly underutilised. Understanding Ruby’s place in the applications unveiled a huge potential that was key to how processes could be developed going forward and core to tackling these modern problems.

Utilising Ruby, it is now possible to create links to applications elsewhere, extending into other platforms and frameworks that can be derived from a variety of software programming languages. Such an implementation is able take a previously entirely manual process and automate it from start to finish. This could fully encompass common time-consuming tasks such as data import, export, mass manipulation, simulation and analysis.

Ruby not only opens up new possibilities, it shows its strength when tasked with repeatable, pattern-based processes. When pitted against an SQL script equivalent, Ruby has been able to work far more efficiently, undertaking the same calculations substantially quicker, cutting down times to reaching an output by more than 80%.

While the processing performance benefits are evident, Ruby also excels in the creation and development phase due to it’s easy to learn syntax and massive online support as one of the most used programming languages in the world. Due to its popularity, it is also supported by a wide range of development tools, such as Visual Studio Code that further enhances how quickly Ruby processes can be created, upgraded and maintained.

In the last 12 months we’ve seen the most significant change in mindset around automated solutions and demand is growing substantially. To address demand we’ve created highly detailed, bespoke external interfaces that extend and enhance the typical offerings. These interfaces have allowed us to offer rich visualisations, connected to functionality that allows for manipulating entire databases right down to individual objects. Networks and objects can be created or amended in bulk, with the data they contain being opened up for a variety of calculations and analysis.

Through this, embracing Ruby for automation allows for running processes on an unprecedented scale, driving efficiencies and achieving levels of precision against timescales that we previously deemed unfeasible. The potential of what can be achieved with Ruby is huge, taking advantage of it will undoubtedly help us bridge the gap to addressing modern issues and expectations.

Embracing Ruby for automation allows for running processes on an unprecedented scale, driving efficiencies and achieving levels of precision against timescales that we previously deemed unfeasible.

Jonathan Dowen

Developer

Testimonial

Get in touch

Your contact information:

All fields are mandatory *

Message:

Get in touch

Your contact information:

All fields are mandatory *

Message: