<commit_before>ruby4knime
==========

[![Join the chat at https://gitter.im/rssdev10/ruby4knime](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/rssdev10/ruby4knime?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Intro
Ruby scripting extension for [KNIME](http://knime.org)

This is preliminary support of Ruby scripting language for Knime.

Now realized following node types:

* Ruby Generator allows to generate any string or numeric data. Or process any external sources using Ruby.
* Ruby Script allows to process input DataTable into output DataTable.
* Ruby Script 2x2 allows to process 2 input DataTable into 2 output DataTable.
* Ruby Snippet allows to process input DataTable into output DataTable by writing code only for one row processing.

It is possible to configure an Output table with any types of columns.

See [Ruby wrapper](RubyScript/rb/README.rdoc)


![Ruby4KNIME code tab](doc/pics/r4k_script.png)

## Installation
[Download binary](https://drive.google.com/folderview?id=0Bwx0cbtdU5K6TklLRG90cm5HbFk)

Current version - 0.0.6 2015/01/11. See [changelog](CHANGELOG.md).



Install this archive as [KNIME extension](http://www.knime.org/downloads/update).

## Sample workflow
[Download sample workflow](samples/KNIME_Ruby_Test.zip)

This is simple workflow for ruby4knime testing only. It includes all realized node types.

![Ruby test workflow](doc/pics/workflow.png)

Now some details.

Node 1 contains the following code:

```ruby
0.step(6 * Math::PI, 0.01) do |x|
  $out_data_0 << Cells.new.double(x).
                           double(Math.sin(x)).
                           double(Math.sin(x + Math::PI/3))
end
```
<commit_msg>updated changelog and primary page<commit_after>ruby4knime
==========

[![Join the chat at https://gitter.im/rssdev10/ruby4knime](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/rssdev10/ruby4knime?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Intro
Ruby scripting extension for [KNIME](http://knime.org)

This is preliminary support of Ruby scripting language for Knime.

Now realized following node types:

* Ruby Generator allows to generate any string or numeric data. Or process any external sources using Ruby.
* Ruby Script allows to process input DataTable into output DataTable.
* Ruby Script 2x2 allows to process 2 input DataTable into 2 output DataTable.
* Ruby Snippet allows to process input DataTable into output DataTable by writing code only for one row processing.

It is possible to configure an Output table with any types of columns.

See [Ruby wrapper](RubyScript/rb/README.rdoc)


![Ruby4KNIME code tab](doc/pics/r4k_script.png)

## Installation
[Download binary](releases/)

See [changelog](CHANGELOG.md).



Install this archive as [KNIME extension](http://www.knime.org/downloads/update).

## Sample workflow
[Download sample workflow](samples/KNIME_Ruby_Test.zip)

This is simple workflow for ruby4knime testing only. It includes all realized node types.

![Ruby test workflow](doc/pics/workflow.png)

Now some details.

Node 1 contains the following code:

```ruby
0.step(6 * Math::PI, 0.01) do |x|
  $out_data_0 << Cells.new.double(x).
                           double(Math.sin(x)).
                           double(Math.sin(x + Math::PI/3))
end
```

{'fraction_non_alphanumeric': 0.1073038773669973, 'fraction_numerical': 0.019837691614066726, 'mean_word_length': 4.265822784810126, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 7, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '843015', 'n_tokens_mistral': 1129, 'n_tokens_neox': 1031, 'n_words': 324}