com.twineworks:ruby-for-pentaho-kettle

Scripting steps for Pentaho kettle.

License

License

Categories

Categories

Ruby Languages
GroupId

GroupId

com.twineworks
ArtifactId

ArtifactId

ruby-for-pentaho-kettle
Last Version

Last Version

1.3.6
Release Date

Release Date

Type

Type

jar
Description

Description

com.twineworks:ruby-for-pentaho-kettle
Scripting steps for Pentaho kettle.
Project URL

Project URL

https://github.com/twineworks/ruby-for-pentaho-kettle
Project Organization

Project Organization

Twineworks GmbH
Source Code Management

Source Code Management

https://github.com/twineworks/ruby-for-pentaho-kettle/tree/master

Download ruby-for-pentaho-kettle

How to add to project

<!-- https://jarcasting.com/artifacts/com.twineworks/ruby-for-pentaho-kettle/ -->
<dependency>
    <groupId>com.twineworks</groupId>
    <artifactId>ruby-for-pentaho-kettle</artifactId>
    <version>1.3.6</version>
</dependency>
// https://jarcasting.com/artifacts/com.twineworks/ruby-for-pentaho-kettle/
implementation 'com.twineworks:ruby-for-pentaho-kettle:1.3.6'
// https://jarcasting.com/artifacts/com.twineworks/ruby-for-pentaho-kettle/
implementation ("com.twineworks:ruby-for-pentaho-kettle:1.3.6")
'com.twineworks:ruby-for-pentaho-kettle:jar:1.3.6'
<dependency org="com.twineworks" name="ruby-for-pentaho-kettle" rev="1.3.6">
  <artifact name="ruby-for-pentaho-kettle" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.twineworks', module='ruby-for-pentaho-kettle', version='1.3.6')
)
libraryDependencies += "com.twineworks" % "ruby-for-pentaho-kettle" % "1.3.6"
[com.twineworks/ruby-for-pentaho-kettle "1.3.6"]

Dependencies

compile (4)

Group / Artifact Type Version
org.jruby : jruby-complete jar 9.2.5.0
pentaho-kettle » kettle-core jar 7.1.0.19-174
pentaho-kettle » kettle-engine jar 7.1.0.19-174
pentaho-kettle » kettle-ui-swt jar 7.1.0.19-174

test (5)

Group / Artifact Type Version
javax.servlet : servlet-api jar 2.5
org.assertj : assertj-core jar 2.8.0
junit : junit jar 4.12
com.h2database : h2 jar 1.2.131
org.codehaus.janino : janino jar 2.5.16

Project Modules

There are no modules declared in this project.

Ruby scripting for pentaho-kettle

Kettle 5.x Java 7+ License Maven Central Travis Build Status Appveyor Build status

An plugin for Pentaho kettle (PDI) allowing to include ruby scripts as transformation steps.

The elegance of the ruby language is paired with ultimate row processing flexibility. The step allows scripts to read, write, aggregate, consume and redirect rows to accomplish the most complex of data processing tasks in one place.

The implementation is based on JRuby. Thanks to JRuby's great Java interop, the scripting step also enables easy Java scripting in kettle.

Supported versions of pentaho-kettle

The plugin works with Kettle versions 5.x - 8.x.

How to get it?

Grab the latest release from the releases page. You can also get the plugin zip as a maven dependency from maven central.

How to install?

Decompress the release zip to <kettle-dir>/plugins and restart Spoon. The "Ruby Script" step will appear in the "Scripting" section of a transformation.

How do I write ruby scripts in kettle?

The ruby scripting step comes with a lot of samples. You can access them by opening a ruby step dialog and exploring the samples section on the left. Samples

Features at a glance

  • rows are represented as hashes, indexed by field name
  • automatic conversion between all kettle data types and ruby types
  • steps with no input can be used as row generators
  • can redirect rows to an error handling stream
  • can read from specific info steps
  • can write to specific target steps
  • can call your favorite Java libraries
  • can use ruby gems
  • kettle's step $step and transformation $trans objects are available in ruby scope for advanced scripting

Where do I report bugs and issues?

Just open issues on github.

What about ruby gems?

You can use gems, see the Ruby gems article on the project wiki. As long as JRuby likes the gem, which usually means that the gem has no unsupported native bindings, you may use gems as with any other ruby program.

How do I build the project?

mvn clean package

It creates the plugin zip in target/ruby-for-pentaho-kettle-{version}-plugin.zip.

How do I run the test suite?

Create a package, then run the tests. The packaging process unzips the plugin into target/ruby-for-pentaho-kettle, which enables kettle to find the plugin when running integration tests.

mvn clean package
mvn -DskipTests=false test

How can I contribute?

If you'd like to contribute please fork the project, add the feature or bugfix and send a pull request. If your change majorly alters the way the plugin works, we should discuss it via an open issue first.

License

The ruby-for-pentaho-kettle plugin uses the LGPL 2.1 license.

Support

Open source does not mean you're on your own. The ruby-for-pentaho-kettle plugin is developed by Twineworks GmbH. Twineworks offers commercial support and consulting services. Contact us if you'd like us to help with a project.

com.twineworks

Twineworks GmbH

Versions

Version
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0