rri 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +3 -0
- data/.gemtest +0 -0
- data/.rspec +1 -0
- data/.yardopts +1 -0
- data/ChangeLog.md +4 -0
- data/Gemfile +16 -0
- data/Guardfile +6 -0
- data/LICENSE.txt +20 -0
- data/README.md +131 -0
- data/Rakefile +66 -0
- data/examples/create_pdf.rb +18 -0
- data/examples/ggplot.rb +42 -0
- data/examples/simple.rb +19 -0
- data/gemspec.yml +11 -0
- data/lib/rri.rb +11 -0
- data/lib/rri/callback_objects.rb +1 -0
- data/lib/rri/callback_objects/r_engine_std_output.rb +6 -0
- data/lib/rri/engine.rb +390 -0
- data/lib/rri/java_gd.rb +23 -0
- data/lib/rri/jri.rb +24 -0
- data/lib/rri/r_converters.rb +4 -0
- data/lib/rri/r_converters/array_converter.rb +59 -0
- data/lib/rri/r_converters/float_converter.rb +28 -0
- data/lib/rri/r_converters/integer_converter.rb +28 -0
- data/lib/rri/r_converters/string_converter.rb +28 -0
- data/lib/rri/rexp.rb +8 -0
- data/lib/rri/rri_exception.rb +5 -0
- data/lib/rri/ruby_converters.rb +2 -0
- data/lib/rri/ruby_converters/double_converter.rb +28 -0
- data/lib/rri/ruby_converters/integer_converter.rb +28 -0
- data/lib/rri/version.rb +5 -0
- data/rri.gemspec +15 -0
- data/spec/rri/engine_spec.rb +203 -0
- data/spec/rri/r_converters/array_converter_spec.rb +56 -0
- data/spec/rri/r_converters/float_converter_spec.rb +19 -0
- data/spec/rri/r_converters/integer_converter_spec.rb +19 -0
- data/spec/rri/r_converters/string_converter_spec.rb +19 -0
- data/spec/rri/ruby_converters/double_converter.rb +20 -0
- data/spec/rri/ruby_converters/integer_converter_spec.rb +20 -0
- data/spec/rri_spec.rb +8 -0
- data/spec/spec_helper.rb +4 -0
- metadata +126 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rri'
|
3
|
+
require 'rri/r_converters/array_converter'
|
4
|
+
|
5
|
+
describe Rri::RConverters::ArrayConverter do
|
6
|
+
it "should correctly convert an Array of all Floats" do
|
7
|
+
ruby_value = [1.2, 3.4, -5.6]
|
8
|
+
success, value = subject.convert(ruby_value)
|
9
|
+
success.should be_true
|
10
|
+
value.class.should == Java::OrgRosudaREngine::REXPDouble
|
11
|
+
value.length.should == ruby_value.size
|
12
|
+
value.asDoubles.to_a.should == ruby_value
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should correctly convert an Array of all Integers" do
|
16
|
+
ruby_value = [1, 2, -4, 5]
|
17
|
+
success, value = subject.convert(ruby_value)
|
18
|
+
success.should be_true
|
19
|
+
value.class.should == Java::OrgRosudaREngine::REXPInteger
|
20
|
+
value.length.should == ruby_value.size
|
21
|
+
value.asIntegers.to_a.should == ruby_value
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should correctly convert an Array of all Strings" do
|
25
|
+
ruby_value = ["foo", "bar", "baz"]
|
26
|
+
success, value = subject.convert(ruby_value)
|
27
|
+
success.should be_true
|
28
|
+
value.class.should == Java::OrgRosudaREngine::REXPString
|
29
|
+
value.length.should == ruby_value.size
|
30
|
+
value.asStrings.to_a.should == ruby_value
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should fail to convert a non Array" do
|
34
|
+
success, value = subject.convert({:a =>1})
|
35
|
+
success.should be_false
|
36
|
+
success, value = subject.convert(1)
|
37
|
+
success.should be_false
|
38
|
+
success, value = subject.convert(1.2)
|
39
|
+
success.should be_false
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should fail to convert an Array with elements of mixed types" do
|
43
|
+
success, value = subject.convert([1, 1.2, "foo"])
|
44
|
+
success.should be_false
|
45
|
+
success, value = subject.convert([1, 1.2])
|
46
|
+
success.should be_false
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should fail to convert an Array with elements of same but unsupported types" do
|
50
|
+
class Foo
|
51
|
+
end
|
52
|
+
success, value = subject.convert([Foo.new, Foo.new])
|
53
|
+
success.should be_false
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rri'
|
3
|
+
require 'rri/r_converters/float_converter'
|
4
|
+
|
5
|
+
describe Rri::RConverters::FloatConverter do
|
6
|
+
it "should correctly convert a Float" do
|
7
|
+
ruby_input = 1.2
|
8
|
+
success, value = subject.convert(ruby_input)
|
9
|
+
success.should be_true
|
10
|
+
value.class.should == Java::OrgRosudaREngine::REXPDouble
|
11
|
+
value.asDouble.should == ruby_input
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should correctly fail for non Floats" do
|
15
|
+
ruby_input = 1
|
16
|
+
success, value = subject.convert(ruby_input)
|
17
|
+
success.should be_false
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rri'
|
3
|
+
require 'rri/r_converters/integer_converter'
|
4
|
+
|
5
|
+
describe Rri::RConverters::IntegerConverter do
|
6
|
+
it "should correctly convert an Integer" do
|
7
|
+
ruby_input = 1234
|
8
|
+
success, value = subject.convert(ruby_input)
|
9
|
+
success.should be_true
|
10
|
+
value.class.should == Java::OrgRosudaREngine::REXPInteger
|
11
|
+
value.asDouble.should == ruby_input
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should correctly fail for non Integers" do
|
15
|
+
ruby_input = 1.23
|
16
|
+
success, value = subject.convert(ruby_input)
|
17
|
+
success.should be_false
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rri'
|
3
|
+
require 'rri/r_converters/string_converter'
|
4
|
+
|
5
|
+
describe Rri::RConverters::StringConverter do
|
6
|
+
it "should correctly convert a String" do
|
7
|
+
ruby_input = "foobar"
|
8
|
+
success, value = subject.convert(ruby_input)
|
9
|
+
success.should be_true
|
10
|
+
value.class.should == Java::OrgRosudaREngine::REXPString
|
11
|
+
value.asString.should == ruby_input
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should correctly fail for non Strings" do
|
15
|
+
ruby_input = 1.23
|
16
|
+
success, value = subject.convert(ruby_input)
|
17
|
+
success.should be_false
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rri'
|
3
|
+
require 'rri/ruby_converters/double_converter'
|
4
|
+
|
5
|
+
describe Rri::RubyConverters::DoubleConverter do
|
6
|
+
it "should correctly convert a double" do
|
7
|
+
value = 1.234
|
8
|
+
rexp = REXPDouble.new(value)
|
9
|
+
success, obj = subject.convert(rexp)
|
10
|
+
success.should be_true
|
11
|
+
obj.should == value
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should correctly fail for non-doubles" do
|
15
|
+
value = 123
|
16
|
+
rexp = REXPInteger.new(value)
|
17
|
+
success, obj = subject.convert(rexp)
|
18
|
+
success.should be_false
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rri'
|
3
|
+
require 'rri/ruby_converters/integer_converter'
|
4
|
+
|
5
|
+
describe Rri::RubyConverters::IntegerConverter do
|
6
|
+
it "should correctly convert an integer" do
|
7
|
+
value = 1234
|
8
|
+
rexp = REXPInteger.new(value)
|
9
|
+
success, obj = subject.convert(rexp)
|
10
|
+
success.should be_true
|
11
|
+
obj.should == value
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should correctly fail for non integers" do
|
15
|
+
value = 1.23
|
16
|
+
rexp = REXPDouble.new(value)
|
17
|
+
success, obj = subject.convert(rexp)
|
18
|
+
success.should be_false
|
19
|
+
end
|
20
|
+
end
|
data/spec/rri_spec.rb
ADDED
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rri
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.1.0
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Patrik Sundberg
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-03-31 00:00:00 +01:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: bundler
|
18
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 1.0.0
|
24
|
+
requirement: *id001
|
25
|
+
prerelease: false
|
26
|
+
type: :development
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: yard
|
29
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.6.0
|
35
|
+
requirement: *id002
|
36
|
+
prerelease: false
|
37
|
+
type: :development
|
38
|
+
description: Ruby/R Interface - A wrapper of jri (Java/R Interface) for JRuby
|
39
|
+
email: []
|
40
|
+
|
41
|
+
executables: []
|
42
|
+
|
43
|
+
extensions: []
|
44
|
+
|
45
|
+
extra_rdoc_files:
|
46
|
+
- README.md
|
47
|
+
- ChangeLog.md
|
48
|
+
- LICENSE.txt
|
49
|
+
files:
|
50
|
+
- .document
|
51
|
+
- .gemtest
|
52
|
+
- .rspec
|
53
|
+
- .yardopts
|
54
|
+
- ChangeLog.md
|
55
|
+
- Gemfile
|
56
|
+
- Guardfile
|
57
|
+
- LICENSE.txt
|
58
|
+
- README.md
|
59
|
+
- Rakefile
|
60
|
+
- examples/create_pdf.rb
|
61
|
+
- examples/ggplot.rb
|
62
|
+
- examples/simple.rb
|
63
|
+
- gemspec.yml
|
64
|
+
- lib/rri.rb
|
65
|
+
- lib/rri/callback_objects.rb
|
66
|
+
- lib/rri/callback_objects/r_engine_std_output.rb
|
67
|
+
- lib/rri/engine.rb
|
68
|
+
- lib/rri/java_gd.rb
|
69
|
+
- lib/rri/jri.rb
|
70
|
+
- lib/rri/r_converters.rb
|
71
|
+
- lib/rri/r_converters/array_converter.rb
|
72
|
+
- lib/rri/r_converters/float_converter.rb
|
73
|
+
- lib/rri/r_converters/integer_converter.rb
|
74
|
+
- lib/rri/r_converters/string_converter.rb
|
75
|
+
- lib/rri/rexp.rb
|
76
|
+
- lib/rri/rri_exception.rb
|
77
|
+
- lib/rri/ruby_converters.rb
|
78
|
+
- lib/rri/ruby_converters/double_converter.rb
|
79
|
+
- lib/rri/ruby_converters/integer_converter.rb
|
80
|
+
- lib/rri/version.rb
|
81
|
+
- rri.gemspec
|
82
|
+
- spec/rri/engine_spec.rb
|
83
|
+
- spec/rri/r_converters/array_converter_spec.rb
|
84
|
+
- spec/rri/r_converters/float_converter_spec.rb
|
85
|
+
- spec/rri/r_converters/integer_converter_spec.rb
|
86
|
+
- spec/rri/r_converters/string_converter_spec.rb
|
87
|
+
- spec/rri/ruby_converters/double_converter.rb
|
88
|
+
- spec/rri/ruby_converters/integer_converter_spec.rb
|
89
|
+
- spec/rri_spec.rb
|
90
|
+
- spec/spec_helper.rb
|
91
|
+
has_rdoc: yard
|
92
|
+
homepage: http://rubygems.org/gems/rri
|
93
|
+
licenses:
|
94
|
+
- MIT
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options: []
|
97
|
+
|
98
|
+
require_paths:
|
99
|
+
- lib
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: "0"
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 1.3.6
|
112
|
+
requirements: []
|
113
|
+
|
114
|
+
rubyforge_project: rri
|
115
|
+
rubygems_version: 1.6.2
|
116
|
+
signing_key:
|
117
|
+
specification_version: 3
|
118
|
+
summary: Ruby/R Interface for JRuby
|
119
|
+
test_files:
|
120
|
+
- spec/rri_spec.rb
|
121
|
+
- spec/rri/engine_spec.rb
|
122
|
+
- spec/rri/ruby_converters/integer_converter_spec.rb
|
123
|
+
- spec/rri/r_converters/array_converter_spec.rb
|
124
|
+
- spec/rri/r_converters/float_converter_spec.rb
|
125
|
+
- spec/rri/r_converters/integer_converter_spec.rb
|
126
|
+
- spec/rri/r_converters/string_converter_spec.rb
|