jruby-win32ole 0.8.0 → 0.8.1

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/.gitignore CHANGED
File without changes
data/Gemfile CHANGED
File without changes
data/Rakefile CHANGED
File without changes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.8.1
data/bin/make_data.rb CHANGED
File without changes
data/bin/sample CHANGED
File without changes
data/build.xml CHANGED
File without changes
File without changes
@@ -10,25 +10,11 @@ require 'racob.jar'
10
10
  require 'win32ole/win32ole' # <- java native impl of WIN32OLE
11
11
  require 'win32ole/win32ole_ruby' # <- ruby impl of WIN32OLE
12
12
 
13
- java_import java.util.Calendar
14
-
15
- java_import org.racob.com.Variant
16
- java_import org.racob.com.Automation
17
- java_import org.racob.com.ComFailException
18
- java_import org.racob.com.ComThread
19
- java_import org.racob.com.Dispatch
20
- java_import org.racob.com.DispatchEvents
21
- java_import org.racob.com.EnumVariant
22
- java_import org.racob.com.FuncDesc
23
- java_import org.racob.com.TypeInfo
24
- java_import org.racob.com.TypeLib
25
- java_import org.racob.com.VarDesc
26
- java_import org.racob.com.VariantUtilities
13
+ java_import org.racob.com.Variant # Needed for static native initializer :(
27
14
 
28
15
  java_import org.jruby.ext.win32ole.RubyWIN32OLE
29
16
  java_import org.jruby.ext.win32ole.RubyInvocationProxy
30
17
 
31
-
32
18
  require 'win32ole/win32ole_error'
33
19
  require 'win32ole/win32ole_method'
34
20
  require 'win32ole/win32ole_variant'
@@ -1,5 +1,5 @@
1
1
  module JRuby
2
2
  module WIN32OLE
3
- VERSION = "0.8.0"
3
+ VERSION = "0.8.1"
4
4
  end
5
5
  end
data/lib/racob-x64.dll CHANGED
Binary file
data/lib/racob-x86.dll CHANGED
Binary file
data/lib/racob.jar CHANGED
Binary file
@@ -2,8 +2,8 @@ require 'win32ole/win32ole_variant'
2
2
 
3
3
  class WIN32OLE
4
4
  module Utils
5
- # FIXME: I don't know specifically if this is a GMT or local date?
6
- OUT_OF_RANGE_DATE = Time.local(1899, 12, 30)
5
+ java_import org.racob.com.ComFailException
6
+ java_import org.racob.com.Dispatch
7
7
 
8
8
  def SafeStringValue(str)
9
9
  return str if str.kind_of?(::String)
@@ -19,44 +19,6 @@ class WIN32OLE
19
19
  value
20
20
  end
21
21
 
22
- # Convert the supplied variant value to an equivalent Ruby value.
23
- # If dispose is true then also dispose the variant itself.
24
- def from_variant(value)
25
- object = VariantUtilities.variant_to_object(value)
26
- case object
27
- when Dispatch then
28
- object = WIN32OLE.new(object)
29
- when java.util.Date then
30
- object = java_date2ruby_time(object)
31
- end
32
-
33
- # Jacob will return null on out of bound dates whereas MRI returns
34
- # some date windows normally returns. We will match this.
35
- if object.nil? && !value.nil?
36
- case value.getvt
37
- when Variant::VariantDate, (Variant::VariantDate|Variant::VariantByref) then
38
- object = OUT_OF_RANGE_DATE
39
-
40
- end
41
- end
42
-
43
- object
44
- end
45
-
46
- # Simliar to MRI:vtdate2rbtime but we work with Java date instead of
47
- # raw variant type
48
- def java_date2ruby_time(date)
49
- calendar = Calendar.get_instance
50
- calendar.time = date
51
-
52
- Time.local(calendar.get(Calendar::YEAR),
53
- calendar.get(Calendar::MONTH),
54
- calendar.get(Calendar::DAY_OF_MONTH),
55
- calendar.get(Calendar::HOUR_OF_DAY),
56
- calendar.get(Calendar::MINUTE),
57
- calendar.get(Calendar::SECOND))
58
- end
59
-
60
22
  def methods_with_flag(flag)
61
23
  members = []
62
24
  all_methods(typeinfo_from_ole) do |typeinfo, old_typeinfo, desc, docs, i|
@@ -123,7 +85,7 @@ class WIN32OLE
123
85
  path = path_reg.open(arch) { |r| r.read(nil) }[1]
124
86
  # puts "PATH = #{path}"
125
87
  begin
126
- Automation.loadTypeLib(path)
88
+ org.racob.com.Automation.loadTypeLib(path)
127
89
  rescue ComFailException => e
128
90
  # puts "Failed to load #{name} fom #{path} because: #{e}"
129
91
  nil
@@ -211,20 +173,5 @@ class WIN32OLE
211
173
 
212
174
  type_details ? type_details : type_string
213
175
  end
214
-
215
- def variable_kind_string(varkind)
216
- case varkind
217
- when VarDesc::VAR_PERINSTANCE then
218
- "PERINSTANCE"
219
- when VarDesc::VAR_STATIC then
220
- "STATIC"
221
- when VarDesc::VAR_CONST then
222
- "CONSTANT"
223
- when VarDesc::VAR_DISPATCH then
224
- "DISPATCH"
225
- else
226
- "UNKNOWN"
227
- end
228
- end
229
176
  end
230
177
  end
Binary file
@@ -1,4 +1,6 @@
1
1
  class WIN32OLE_EVENT
2
+ java_import org.racob.com.DispatchEvents
3
+
2
4
  def initialize(ole, event_name=nil)
3
5
  @event_handlers = {}
4
6
 
@@ -1,4 +1,7 @@
1
1
  class WIN32OLE_METHOD
2
+ java_import org.racob.com.FuncDesc
3
+ java_import org.racob.com.TypeInfo
4
+
2
5
  attr_accessor :oletype, :typeinfo
3
6
 
4
7
  def initialize(*args)
File without changes
File without changes
@@ -1,4 +1,6 @@
1
1
  class WIN32OLE_TYPE
2
+ java_import org.racob.com.TypeInfo
3
+
2
4
  attr_reader :typeinfo
3
5
 
4
6
  def initialize(*args)
@@ -1,6 +1,8 @@
1
1
  require 'win32/registry'
2
2
 
3
3
  class WIN32OLE_TYPELIB
4
+ java_import org.racob.com.TypeLib
5
+
4
6
  attr_reader :typelib
5
7
  attr_reader :name
6
8
  alias :to_s :name
@@ -1,4 +1,6 @@
1
1
  class WIN32OLE_VARIABLE
2
+ java_import org.racob.com.VarDesc
3
+
2
4
  attr_reader :name
3
5
 
4
6
  def initialize(type, var_desc, name)
@@ -15,11 +17,22 @@ class WIN32OLE_VARIABLE
15
17
  end
16
18
 
17
19
  def value
18
- from_variant(@var_desc.constant)
20
+ RubyWIN32OLE.from_variant(JRuby.runtime, @var_desc.constant)
19
21
  end
20
22
 
21
23
  def variable_kind
22
- variable_kind_string(varkind)
24
+ case varkind
25
+ when VarDesc::VAR_PERINSTANCE then
26
+ "PERINSTANCE"
27
+ when VarDesc::VAR_STATIC then
28
+ "STATIC"
29
+ when VarDesc::VAR_CONST then
30
+ "CONSTANT"
31
+ when VarDesc::VAR_DISPATCH then
32
+ "DISPATCH"
33
+ else
34
+ "UNKNOWN"
35
+ end
23
36
  end
24
37
 
25
38
  def varkind
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,7 +1,7 @@
1
1
  application.title=win32ole
2
2
  application.vendor=Fuebo
3
3
  build.classes.dir=${build.dir}/classes
4
- build.classes.excludes=**/*.java,**/*.form
4
+ build.classes.excludes=**/*.java,**/*.form,**/*.jar
5
5
  # This directory is removed when the project is cleaned:
6
6
  build.dir=build
7
7
  build.generated.dir=${build.dir}/generated
@@ -22,7 +22,7 @@ dist.jar=${dist.dir}/win32ole.jar
22
22
  dist.javadoc.dir=${dist.dir}/javadoc
23
23
  endorsed.classpath=
24
24
  excludes=**.dll
25
- file.reference.jruby.jar=../../jruby-1.5.1/lib/jruby.jar
25
+ file.reference.jruby.jar=../jruby/lib/jruby.jar
26
26
  file.reference.jrwin32ole-lib=lib
27
27
  file.reference.jrwin32ole-src=src
28
28
  file.reference.racob.jar=lib/racob.jar
File without changes
File without changes
File without changes
data/samples/dump.rb ADDED
@@ -0,0 +1,20 @@
1
+ require 'win32ole'
2
+
3
+ name = proc {|a, b| a.name <=> b.name }
4
+ WIN32OLE_TYPELIB.typelibs.sort(&name).each do |typelib|
5
+ puts "TYPELIB: #{typelib.name}"
6
+ typelib.ole_classes.sort(&name).each do |ole_class|
7
+ puts " CLASS: #{ole_class.name}"
8
+ puts " GUID : #{ole_class.guid}"
9
+ puts " PROGID : #{ole_class.progid}"
10
+ puts " DESCR : #{ole_class.helpstring}"
11
+
12
+ ole_class.ole_methods.sort(&name).each do |ole_method|
13
+ print " #{ole_method.return_type} #{ole_method.name}("
14
+ print ole_method.params.to_a.inject([]) { |sum, param|
15
+ sum << "#{param.ole_type} #{param.name}"
16
+ }.join(", ")
17
+ puts ")"
18
+ end
19
+ end
20
+ end
data/samples/fs.rb CHANGED
File without changes
File without changes
File without changes
@@ -63,6 +63,7 @@ public class RubyWIN32OLE extends RubyObject {
63
63
  Variant value = enumVariant.nextElement();
64
64
  block.yield(context, fromVariant(runtime, value));
65
65
  }
66
+ enumVariant.safeRelease();
66
67
 
67
68
  return runtime.getNil();
68
69
  }
@@ -275,4 +276,4 @@ public class RubyWIN32OLE extends RubyObject {
275
276
 
276
277
  return id;
277
278
  }
278
- }
279
+ }
File without changes
metadata CHANGED
@@ -1,80 +1,80 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jruby-win32ole
3
3
  version: !ruby/object:Gem::Version
4
- hash: 63
5
4
  prerelease: false
6
5
  segments:
7
- - 0
8
- - 8
9
- - 0
10
- version: 0.8.0
6
+ - 0
7
+ - 8
8
+ - 1
9
+ version: 0.8.1
11
10
  platform: ruby
12
11
  authors:
13
- - Thomas E. Enebo
12
+ - Thomas E. Enebo
14
13
  autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-10-21 00:00:00 -05:00
17
+ date: 2010-11-09 00:00:00 -06:00
19
18
  default_executable:
20
19
  dependencies: []
21
20
 
22
21
  description: A Gem for win32ole support on JRuby
23
22
  email: tom.enebo@gmail.com
24
23
  executables:
25
- - make_data.rb
26
- - sample
24
+ - make_data.rb
25
+ - sample
27
26
  extensions: []
28
27
 
29
28
  extra_rdoc_files: []
30
29
 
31
30
  files:
32
- - .gitignore
33
- - Gemfile
34
- - README
35
- - Rakefile
36
- - VERSION
37
- - bin/make_data.rb
38
- - bin/sample
39
- - build.xml
40
- - jruby-win32ole.gemspec
41
- - lib/jruby-win32ole.rb
42
- - lib/jruby-win32ole/version.rb
43
- - lib/racob-x64.dll
44
- - lib/racob-x86.dll
45
- - lib/racob.jar
46
- - lib/win32ole/utils.rb
47
- - lib/win32ole/win32ole.jar
48
- - lib/win32ole/win32ole_error.rb
49
- - lib/win32ole/win32ole_event.rb
50
- - lib/win32ole/win32ole_method.rb
51
- - lib/win32ole/win32ole_param.rb
52
- - lib/win32ole/win32ole_ruby.rb
53
- - lib/win32ole/win32ole_type.rb
54
- - lib/win32ole/win32ole_typelib.rb
55
- - lib/win32ole/win32ole_variable.rb
56
- - lib/win32ole/win32ole_variant.rb
57
- - nbproject/build-impl.xml
58
- - nbproject/genfiles.properties
59
- - nbproject/private/config.properties
60
- - nbproject/private/private.properties
61
- - nbproject/private/private.xml
62
- - nbproject/project.properties
63
- - nbproject/project.xml
64
- - samples/browser_connect.rb
65
- - samples/const_load.rb
66
- - samples/dir_enum_bench.rb
67
- - samples/dispatch_bench.rb
68
- - samples/file_system_object.rb
69
- - samples/fs.rb
70
- - samples/ie_plus_events.rb
71
- - samples/ie_simple.rb
72
- - samples/ie_simple_clsid.rb
73
- - samples/sbem.rb
74
- - samples/small_enum_bench.rb
75
- - src/org/jruby/ext/win32ole/RubyInvocationProxy.java
76
- - src/org/jruby/ext/win32ole/RubyWIN32OLE.java
77
- - src/win32ole/Win32oleService.java
31
+ - .gitignore
32
+ - Gemfile
33
+ - README
34
+ - Rakefile
35
+ - VERSION
36
+ - bin/make_data.rb
37
+ - bin/sample
38
+ - build.xml
39
+ - jruby-win32ole.gemspec
40
+ - lib/jruby-win32ole.rb
41
+ - lib/jruby-win32ole/version.rb
42
+ - lib/racob-x64.dll
43
+ - lib/racob-x86.dll
44
+ - lib/racob.jar
45
+ - lib/win32ole/utils.rb
46
+ - lib/win32ole/win32ole.jar
47
+ - lib/win32ole/win32ole_error.rb
48
+ - lib/win32ole/win32ole_event.rb
49
+ - lib/win32ole/win32ole_method.rb
50
+ - lib/win32ole/win32ole_param.rb
51
+ - lib/win32ole/win32ole_ruby.rb
52
+ - lib/win32ole/win32ole_type.rb
53
+ - lib/win32ole/win32ole_typelib.rb
54
+ - lib/win32ole/win32ole_variable.rb
55
+ - lib/win32ole/win32ole_variant.rb
56
+ - nbproject/build-impl.xml
57
+ - nbproject/genfiles.properties
58
+ - nbproject/private/config.properties
59
+ - nbproject/private/private.properties
60
+ - nbproject/private/private.xml
61
+ - nbproject/project.properties
62
+ - nbproject/project.xml
63
+ - samples/browser_connect.rb
64
+ - samples/const_load.rb
65
+ - samples/dir_enum_bench.rb
66
+ - samples/dispatch_bench.rb
67
+ - samples/dump.rb
68
+ - samples/file_system_object.rb
69
+ - samples/fs.rb
70
+ - samples/ie_plus_events.rb
71
+ - samples/ie_simple.rb
72
+ - samples/ie_simple_clsid.rb
73
+ - samples/sbem.rb
74
+ - samples/small_enum_bench.rb
75
+ - src/org/jruby/ext/win32ole/RubyInvocationProxy.java
76
+ - src/org/jruby/ext/win32ole/RubyWIN32OLE.java
77
+ - src/win32ole/Win32oleService.java
78
78
  has_rdoc: true
79
79
  homepage: http://github.com/enebo/jruby-win32ole
80
80
  licenses: []
@@ -83,29 +83,25 @@ post_install_message:
83
83
  rdoc_options: []
84
84
 
85
85
  require_paths:
86
- - lib
86
+ - lib
87
87
  required_ruby_version: !ruby/object:Gem::Requirement
88
- none: false
89
88
  requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 3
93
- segments:
94
- - 0
95
- version: "0"
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ segments:
92
+ - 0
93
+ version: "0"
96
94
  required_rubygems_version: !ruby/object:Gem::Requirement
97
- none: false
98
95
  requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- hash: 3
102
- segments:
103
- - 0
104
- version: "0"
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ segments:
99
+ - 0
100
+ version: "0"
105
101
  requirements: []
106
102
 
107
103
  rubyforge_project: jruby-win32ole
108
- rubygems_version: 1.3.7
104
+ rubygems_version: 1.3.6
109
105
  signing_key:
110
106
  specification_version: 3
111
107
  summary: A Gem for win32ole support on JRuby