melt 0.2-java

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: fe9b177c0b8f0e3f8a7b2ca86f0bb4f1cb9d5906
4
+ data.tar.gz: cb4b49cae8582eed582d27c1c72fe25443116508
5
+ SHA512:
6
+ metadata.gz: 824d25676f6c0e80063f916fbc7131982549b3c90092cb9a382936a10ef1814ab97880f0170a54144cc377d5894aa8a8a6a02eae3b9d347be88643e8f96910ff
7
+ data.tar.gz: 853c87b098ab279c9942e43d69f4d4531c8d5db80c8b51e6c69936f720f53cce3e9ebe0e5ce659eaa41703616c0e141ac6a97be93bcf1265d22d3d05970a3c7a
@@ -0,0 +1,46 @@
1
+ package org.zizkovrb.melt;
2
+
3
+ import java.io.IOException;
4
+
5
+ import org.jruby.Ruby;
6
+ import org.jruby.RubyClass;
7
+ import org.jruby.RubyModule;
8
+ import org.jruby.RubyObject;
9
+ import org.jruby.anno.JRubyMethod;
10
+ import org.jruby.runtime.ObjectAllocator;
11
+ import org.jruby.runtime.ThreadContext;
12
+ import org.jruby.runtime.builtin.IRubyObject;
13
+ import org.jruby.runtime.load.BasicLibraryService;
14
+
15
+ public class MeltService implements BasicLibraryService {
16
+ private Ruby runtime;
17
+
18
+ public boolean basicLoad(Ruby runtime) throws IOException {
19
+ this.runtime = runtime;
20
+ RubyModule melt = runtime.defineModule("Melt");
21
+
22
+ RubyClass down = melt.defineClassUnder("Down", runtime.getObject(), new ObjectAllocator() {
23
+ public IRubyObject allocate(Ruby runtime, RubyClass rubyClass) {
24
+ return new MeltDown(runtime, rubyClass);
25
+ }
26
+
27
+ });
28
+
29
+ down.defineAnnotatedMethods(MeltDown.class);
30
+ return true;
31
+ }
32
+
33
+ public class MeltDown extends RubyObject {
34
+ public MeltDown(final Ruby runtime, RubyClass rubyClass) {
35
+ super(runtime, rubyClass);
36
+ }
37
+
38
+ @JRubyMethod
39
+ public IRubyObject execute(ThreadContext context, IRubyObject target) {
40
+ if(target.isFrozen()) {
41
+ target.setFrozen(false);
42
+ }
43
+ return target;
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,3 @@
1
+ require "mkmf"
2
+
3
+ create_makefile("melt/melt")
data/ext/melt/melt.c ADDED
@@ -0,0 +1,10 @@
1
+ #include "melt.h"
2
+
3
+ VALUE melt(VALUE self) {
4
+ RBASIC(self)->flags ^= FL_FREEZE;
5
+ return self;
6
+ }
7
+
8
+ void Init_melt(void) {
9
+ rb_define_method(rb_cObject, "melt", melt, 0);
10
+ }
data/lib/melt.rb ADDED
@@ -0,0 +1,11 @@
1
+ require "melt/melt"
2
+
3
+ if RUBY_PLATFORM =~ /java/
4
+ class Object
5
+ def melt
6
+ require 'jruby'
7
+ org.zizkovrb.melt.MeltService.new.basicLoad(JRuby.runtime)
8
+ Melt::Down.new.execute(self)
9
+ end
10
+ end
11
+ end
data/lib/melt/melt.jar ADDED
Binary file
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: melt
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.2'
5
+ platform: java
6
+ authors:
7
+ - Josef Šimánek
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ~>
23
+ - !ruby/object:Gem::Version
24
+ version: '1.7'
25
+ prerelease: false
26
+ type: :development
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: '10.0'
39
+ prerelease: false
40
+ type: :development
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake-compiler
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ prerelease: false
54
+ type: :development
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ prerelease: false
68
+ type: :development
69
+ description: Have you ever heard about icebergs or icicles? What about melting?
70
+ email:
71
+ - josef.simanek@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ext/melt/melt.c
77
+ - ext/melt/MeltService.java
78
+ - ext/melt/extconf.rb
79
+ - lib/melt.rb
80
+ - lib/melt/melt.jar
81
+ homepage: https://github.com/zizkovrb/melt
82
+ licenses:
83
+ - MIT
84
+ metadata:
85
+ allowed_push_host: https://rubygems.org
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubyforge_project:
102
+ rubygems_version: 2.1.9
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: There is no way to unfreeze a frozen object. Really?
106
+ test_files: []