infraruby-shim 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e8cff7e460cc859c8b703028fe7617ae9d578dcc
4
+ data.tar.gz: c3cdace46988d6043515237df6094f922a7b2b95
5
+ SHA512:
6
+ metadata.gz: b664d75c77887bb485e3a337f677fb6a645059f79b240b12e2aec77070f2caa0e401c55d77df600962865f02c13ed3d4387de4d9aeb01771a06875eb0116805f
7
+ data.tar.gz: 0383e6869687be27aa1caa17736c76b5ef0ea5694065ed68282ec81d49513d273bd34dee558876a9b8b31571c14b8fd64fbf28325c80ad8347b14420698cf923
data/MIT-LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (C) 2011-2015 InfraRuby Vision
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a
4
+ copy of this software and associated documentation files (the "Software"),
5
+ to deal in the Software without restriction, including without limitation
6
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
7
+ and/or sell copies of the Software, and to permit persons to whom the
8
+ Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19
+ DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,25 @@
1
+ InfraRuby shim for Ruby interpreters
2
+ ====================================
3
+
4
+ This gem provides the InfraRuby shim for Ruby interpreters.
5
+
6
+
7
+ Example
8
+ -------
9
+
10
+ require "infraruby-shim"
11
+
12
+ sb = InfraRuby::StringBuilder.new
13
+ sb.append("hello")
14
+ puts sb.to_s
15
+
16
+
17
+ Support
18
+ -------
19
+
20
+ InfraRuby Vision
21
+ rubygems@infraruby.com
22
+
23
+ http://infraruby.com/
24
+ https://github.com/InfraRuby
25
+ https://twitter.com/InfraRuby
@@ -0,0 +1,16 @@
1
+ Gem::Specification.new do |s|
2
+ s.platform = "ruby"
3
+ s.name = "infraruby-shim"
4
+ s.version = "3.7.0"
5
+ s.licenses = ["MIT"]
6
+ s.author = "InfraRuby Vision"
7
+ s.email = "rubygems@infraruby.com"
8
+ s.homepage = "http://infraruby.com/"
9
+ s.summary = "InfraRuby shim for Ruby interpreters"
10
+ s.description = "InfraRuby shim for Ruby interpreters"
11
+ s.files = Dir["**/*"]
12
+ s.add_runtime_dependency "infraruby-base", "~> 3.7"
13
+ s.add_runtime_dependency "infraruby-java", "~> 3.7"
14
+ s.add_development_dependency "infraruby-task", "~> 3.7"
15
+ s.add_development_dependency "rspec", "~> 3.0"
16
+ end
@@ -0,0 +1,3 @@
1
+ require "infraruby-java"
2
+
3
+ InfraRuby.load_parent_library(__dir__)
data/ruby/Array.rb ADDED
@@ -0,0 +1,25 @@
1
+ class Array
2
+ def size_as_int32
3
+ return size.to_int32!
4
+ end
5
+
6
+ def first!
7
+ raise IndexError if empty?
8
+ return first
9
+ end
10
+
11
+ def last!
12
+ raise IndexError if empty?
13
+ return last
14
+ end
15
+
16
+ def pop!
17
+ raise IndexError if empty?
18
+ return pop
19
+ end
20
+
21
+ def shift!
22
+ raise IndexError if empty?
23
+ return shift
24
+ end
25
+ end
data/ruby/Bignum.rb ADDED
@@ -0,0 +1,10 @@
1
+ class Bignum
2
+ class << self
3
+ def ===(o)
4
+ if o.is_a?(Integer)
5
+ return o < -0x8000000000000000 || 0x7FFFFFFFFFFFFFFF < o
6
+ end
7
+ return false
8
+ end
9
+ end
10
+ end
data/ruby/Date.rb ADDED
@@ -0,0 +1,11 @@
1
+ class Date
2
+ class << self
3
+ def today_in_utc
4
+ return Time.now_in_utc.to_date
5
+ end
6
+ end
7
+
8
+ def to_time_in_utc
9
+ return Time.utc(year, month, day)
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ module Enumerable
2
+ def first!
3
+ each do |e|
4
+ return e
5
+ end
6
+ raise IndexError
7
+ end
8
+ end
data/ruby/Fixnum.rb ADDED
@@ -0,0 +1,10 @@
1
+ class Fixnum
2
+ class << self
3
+ def ===(o)
4
+ if o.is_a?(Integer)
5
+ return -0x8000000000000000 <= o && o <= 0x7FFFFFFFFFFFFFFF
6
+ end
7
+ return false
8
+ end
9
+ end
10
+ end
data/ruby/Float.rb ADDED
@@ -0,0 +1,5 @@
1
+ class Float
2
+ def to_fixnum!
3
+ return to_i.to_fixnum!
4
+ end
5
+ end
data/ruby/Hash.rb ADDED
@@ -0,0 +1,15 @@
1
+ class Hash
2
+ def size_as_int32
3
+ return size.to_int32!
4
+ end
5
+
6
+ def first!
7
+ raise IndexError if empty?
8
+ return first
9
+ end
10
+
11
+ def shift!
12
+ raise IndexError if empty?
13
+ return shift
14
+ end
15
+ end
data/ruby/InfraRuby.rb ADDED
@@ -0,0 +1,2 @@
1
+ module InfraRuby
2
+ end
@@ -0,0 +1,29 @@
1
+ module InfraRuby
2
+ class Condition
3
+ def initialize(mutex)
4
+ super()
5
+ @cv = ConditionVariable.new
6
+ @mutex = mutex
7
+ return
8
+ end
9
+
10
+ def await(timeout = nix)
11
+ if timeout.nix?
12
+ @cv.wait(@mutex)
13
+ else
14
+ @cv.wait(@mutex, timeout)
15
+ end
16
+ return
17
+ end
18
+
19
+ def broadcast
20
+ @cv.broadcast
21
+ return
22
+ end
23
+
24
+ def signal
25
+ @cv.signal
26
+ return
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,8 @@
1
+ module InfraRuby
2
+ module IO
3
+ end
4
+ end
5
+
6
+ class IO
7
+ include InfraRuby::IO
8
+ end
@@ -0,0 +1,99 @@
1
+ module InfraRuby
2
+ class StringBuilder
3
+ include InfraRuby::IO
4
+
5
+ def initialize
6
+ super()
7
+ @m = Java::byte[0x20].new
8
+ @n = 0.i32
9
+ return
10
+ end
11
+
12
+ def __copy(n)
13
+ m = Java::byte[n.as_i].new
14
+ Java::ARRAYCOPY(@m, 0, m, 0, @n.as_i)
15
+ return m
16
+ end
17
+
18
+ def __write_byte(b)
19
+ nn = @n + 1
20
+ raise RuntimeError if nn < 0
21
+ if nn > @m.length
22
+ nnn = nn + nn / 2
23
+ raise RuntimeError if nnn < 0
24
+ @m = __copy(nnn)
25
+ end
26
+ @m[@n.as_i] = b.as_i
27
+ @n = nn
28
+ return
29
+ end
30
+
31
+ def __write_array(m)
32
+ n = m.length.i32
33
+ if n > 0
34
+ nn = @n + n
35
+ raise RuntimeError if nn < 0
36
+ if nn > @m.length
37
+ nnn = nn + nn / 2
38
+ raise RuntimeError if nnn < 0
39
+ @m = __copy(nnn)
40
+ end
41
+ Java::ARRAYCOPY(m, 0, @m, @n.as_i, n.as_i)
42
+ @n = nn
43
+ end
44
+ return
45
+ end
46
+
47
+ def to_java_bytes
48
+ return __copy(@__n)
49
+ end
50
+
51
+ def to_s(encoding = nix)
52
+ if encoding.nix?
53
+ encoding = Encoding::UTF_8
54
+ end
55
+ return String.from_java_bytes_unsafe(__copy(@n), encoding)
56
+ end
57
+
58
+ def read(o = nix)
59
+ raise NotImplementedError
60
+ end
61
+
62
+ def write(o)
63
+ case o
64
+ when Java::byte[]
65
+ __write_array(o)
66
+ return
67
+ when String
68
+ __write_array(o.to_java_bytes_unsafe)
69
+ return
70
+ else
71
+ raise TypeError
72
+ end
73
+ end
74
+
75
+ def <<(o)
76
+ write(o)
77
+ return self
78
+ end
79
+
80
+ def flush
81
+ return
82
+ end
83
+
84
+ def close
85
+ return
86
+ end
87
+
88
+ def append(o)
89
+ case o
90
+ when Byte
91
+ __write_byte(o)
92
+ return
93
+ else
94
+ write(o)
95
+ return
96
+ end
97
+ end
98
+ end
99
+ end
data/ruby/Integer.rb ADDED
@@ -0,0 +1,20 @@
1
+ class Integer
2
+ def is_a?(c)
3
+ return c === self
4
+ end
5
+
6
+ def to_fixnum!
7
+ if is_a?(Fixnum)
8
+ return self
9
+ end
10
+ raise RangeError
11
+ end
12
+
13
+ def signum
14
+ return self <=> 0
15
+ end
16
+
17
+ def signum_as_int32
18
+ return signum.to_int32
19
+ end
20
+ end
data/ruby/MatchData.rb ADDED
@@ -0,0 +1,7 @@
1
+ class MatchData
2
+ def fetch(o)
3
+ s = self[o]
4
+ raise KeyError if s.nil?
5
+ return s
6
+ end
7
+ end
data/ruby/Object.rb ADDED
@@ -0,0 +1,5 @@
1
+ class Object
2
+ def cast(s)
3
+ return self
4
+ end
5
+ end
@@ -0,0 +1,36 @@
1
+ module SecureRandom
2
+ class << self
3
+ def random_java_bytes(o = nix)
4
+ if o.nix?
5
+ s = random_bytes
6
+ else
7
+ s = random_bytes(o.as_i)
8
+ end
9
+ return s.to_java_bytes_unsafe
10
+ end
11
+
12
+ def random_number_as_int32(o = nix)
13
+ if o.nix?
14
+ return Int32[random_number(1 << 32)]
15
+ else
16
+ return Int32[random_number(o.as_i)]
17
+ end
18
+ end
19
+
20
+ def random_number_as_int64(o = nix)
21
+ if o.nix?
22
+ return Int64[random_number(1 << 64)]
23
+ else
24
+ return Int64[random_number(o.as_i)]
25
+ end
26
+ end
27
+
28
+ def random_number_as_float32
29
+ return Float32[random_number]
30
+ end
31
+
32
+ def random_number_as_float64
33
+ return Float64[random_number]
34
+ end
35
+ end
36
+ end
data/ruby/Set.rb ADDED
@@ -0,0 +1,10 @@
1
+ class Set
2
+ def size_as_int32
3
+ return size.to_int32!
4
+ end
5
+
6
+ def first!
7
+ raise IndexError if empty?
8
+ return first
9
+ end
10
+ end
data/ruby/String.rb ADDED
@@ -0,0 +1,23 @@
1
+ class String
2
+ def to_fixnum!
3
+ return to_i.to_fixnum!
4
+ end
5
+
6
+ def with_encoding(encoding)
7
+ return dup.force_encoding(encoding)
8
+ end
9
+
10
+ def size_as_int32
11
+ return size.to_int32!
12
+ end
13
+
14
+ def bytesize_as_int32
15
+ return bytesize.to_int32!
16
+ end
17
+
18
+ def fetch(o)
19
+ s = self[o]
20
+ raise KeyError if s.nil?
21
+ return s
22
+ end
23
+ end
data/ruby/Time.rb ADDED
@@ -0,0 +1,11 @@
1
+ class Time
2
+ class << self
3
+ def at_in_utc(n)
4
+ return at(n).utc
5
+ end
6
+
7
+ def now_in_utc
8
+ return now.utc
9
+ end
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: infraruby-shim
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.7.0
5
+ platform: ruby
6
+ authors:
7
+ - InfraRuby Vision
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: infraruby-base
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: infraruby-java
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: infraruby-task
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.7'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ description: InfraRuby shim for Ruby interpreters
70
+ email: rubygems@infraruby.com
71
+ executables: []
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - MIT-LICENSE
76
+ - README.md
77
+ - infraruby-shim.gemspec
78
+ - lib/infraruby-shim.rb
79
+ - ruby/Array.rb
80
+ - ruby/Bignum.rb
81
+ - ruby/Date.rb
82
+ - ruby/Enumerable.rb
83
+ - ruby/Fixnum.rb
84
+ - ruby/Float.rb
85
+ - ruby/Hash.rb
86
+ - ruby/InfraRuby.rb
87
+ - ruby/InfraRuby/Condition.rb
88
+ - ruby/InfraRuby/IO.rb
89
+ - ruby/InfraRuby/StringBuilder.rb
90
+ - ruby/Integer.rb
91
+ - ruby/MatchData.rb
92
+ - ruby/Object.rb
93
+ - ruby/SecureRandom.rb
94
+ - ruby/Set.rb
95
+ - ruby/String.rb
96
+ - ruby/Time.rb
97
+ homepage: http://infraruby.com/
98
+ licenses:
99
+ - MIT
100
+ metadata: {}
101
+ post_install_message:
102
+ rdoc_options: []
103
+ require_paths:
104
+ - lib
105
+ required_ruby_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ requirements: []
116
+ rubyforge_project:
117
+ rubygems_version: 2.2.2
118
+ signing_key:
119
+ specification_version: 4
120
+ summary: InfraRuby shim for Ruby interpreters
121
+ test_files: []