win32ole-ffi 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.
- checksums.yaml +7 -0
- data/BSDL +22 -0
- data/CHANGELOG.md +10 -0
- data/COPYING +56 -0
- data/README.md +49 -0
- data/lib/win32ole/ffi/array.rb +312 -0
- data/lib/win32ole/ffi/dispatch.rb +125 -0
- data/lib/win32ole/ffi/event.rb +800 -0
- data/lib/win32ole/ffi/fiddle_compat.rb +49 -0
- data/lib/win32ole/ffi/method.rb +237 -0
- data/lib/win32ole/ffi/param.rb +111 -0
- data/lib/win32ole/ffi/record.rb +289 -0
- data/lib/win32ole/ffi/type.rb +337 -0
- data/lib/win32ole/ffi/typeinfo.rb +488 -0
- data/lib/win32ole/ffi/typelib.rb +384 -0
- data/lib/win32ole/ffi/variable.rb +117 -0
- data/lib/win32ole/ffi/variant.rb +351 -0
- data/lib/win32ole/ffi/version.rb +5 -0
- data/lib/win32ole/ffi/win32.rb +907 -0
- data/lib/win32ole/ffi/win32ole.rb +827 -0
- data/lib/win32ole/ffi.rb +48 -0
- data/sig/win32ole/ffi.rbs +308 -0
- metadata +84 -0
data/lib/win32ole/ffi.rb
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'win32ole/ffi/win32ole'
|
|
4
|
+
require 'win32ole/ffi/type'
|
|
5
|
+
require 'win32ole/ffi/typelib'
|
|
6
|
+
require 'win32ole/ffi/event'
|
|
7
|
+
|
|
8
|
+
# ext/win32ole keeps the old toplevel class names as deprecated aliases, so
|
|
9
|
+
# existing scripts that use them still run here but get a warning to move to
|
|
10
|
+
# the WIN32OLE:: names.
|
|
11
|
+
{
|
|
12
|
+
WIN32OLE_TYPE: WIN32OLE::Type,
|
|
13
|
+
WIN32OLE_TYPELIB: WIN32OLE::TypeLib,
|
|
14
|
+
WIN32OLE_METHOD: WIN32OLE::Method,
|
|
15
|
+
WIN32OLE_PARAM: WIN32OLE::Param,
|
|
16
|
+
WIN32OLE_VARIABLE: WIN32OLE::Variable,
|
|
17
|
+
WIN32OLE_VARIANT: WIN32OLE::Variant,
|
|
18
|
+
WIN32OLE_EVENT: WIN32OLE::Event,
|
|
19
|
+
WIN32OLE_RECORD: WIN32OLE::Record
|
|
20
|
+
}.each do |name, klass|
|
|
21
|
+
Object.const_set(name, klass)
|
|
22
|
+
Object.deprecate_constant(name)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
class WIN32OLE
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# By overriding Object#methods, WIN32OLE might
|
|
29
|
+
# work well with did_you_mean gem.
|
|
30
|
+
# This is experimental.
|
|
31
|
+
#
|
|
32
|
+
# require 'win32ole/ffi'
|
|
33
|
+
# dict = WIN32OLE.new('Scripting.Dictionary')
|
|
34
|
+
# dict.Ade('a', 1)
|
|
35
|
+
# #=> Did you mean? Add
|
|
36
|
+
#
|
|
37
|
+
def methods(*args)
|
|
38
|
+
super + ole_methods_safely.map(&:name).map(&:to_sym)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
private
|
|
42
|
+
|
|
43
|
+
def ole_methods_safely
|
|
44
|
+
ole_methods
|
|
45
|
+
rescue WIN32OLE::QueryInterfaceError, NameError
|
|
46
|
+
[]
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
module Win32OLEFFI
|
|
2
|
+
VERSION: String
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
%a{deprecated: Use WIN32OLE::RuntimeError instead}
|
|
6
|
+
WIN32OLERuntimeError: singleton(WIN32OLE::RuntimeError)
|
|
7
|
+
|
|
8
|
+
%a{deprecated: Use WIN32OLE::QueryInterfaceError instead}
|
|
9
|
+
WIN32OLEQueryInterfaceError: singleton(WIN32OLE::QueryInterfaceError)
|
|
10
|
+
|
|
11
|
+
%a{deprecated: Use WIN32OLE::Type instead}
|
|
12
|
+
WIN32OLE_TYPE: singleton(WIN32OLE::Type)
|
|
13
|
+
|
|
14
|
+
%a{deprecated: Use WIN32OLE::TypeLib instead}
|
|
15
|
+
WIN32OLE_TYPELIB: singleton(WIN32OLE::TypeLib)
|
|
16
|
+
|
|
17
|
+
%a{deprecated: Use WIN32OLE::Method instead}
|
|
18
|
+
WIN32OLE_METHOD: singleton(WIN32OLE::Method)
|
|
19
|
+
|
|
20
|
+
%a{deprecated: Use WIN32OLE::Param instead}
|
|
21
|
+
WIN32OLE_PARAM: singleton(WIN32OLE::Param)
|
|
22
|
+
|
|
23
|
+
%a{deprecated: Use WIN32OLE::Variable instead}
|
|
24
|
+
WIN32OLE_VARIABLE: singleton(WIN32OLE::Variable)
|
|
25
|
+
|
|
26
|
+
%a{deprecated: Use WIN32OLE::Variant instead}
|
|
27
|
+
WIN32OLE_VARIANT: singleton(WIN32OLE::Variant)
|
|
28
|
+
|
|
29
|
+
%a{deprecated: Use WIN32OLE::Event instead}
|
|
30
|
+
WIN32OLE_EVENT: singleton(WIN32OLE::Event)
|
|
31
|
+
|
|
32
|
+
%a{deprecated: Use WIN32OLE::Record instead}
|
|
33
|
+
WIN32OLE_RECORD: singleton(WIN32OLE::Record)
|
|
34
|
+
|
|
35
|
+
class WIN32OLE
|
|
36
|
+
class RuntimeError < ::RuntimeError
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
class QueryInterfaceError < RuntimeError
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
LOCALE_SYSTEM_DEFAULT: Integer
|
|
43
|
+
LOCALE_USER_DEFAULT: Integer
|
|
44
|
+
|
|
45
|
+
CP_ACP: Integer
|
|
46
|
+
CP_OEMCP: Integer
|
|
47
|
+
CP_MACCP: Integer
|
|
48
|
+
CP_THREAD_ACP: Integer
|
|
49
|
+
CP_SYMBOL: Integer
|
|
50
|
+
CP_UTF7: Integer
|
|
51
|
+
CP_UTF8: Integer
|
|
52
|
+
|
|
53
|
+
def self.codepage: () -> Integer
|
|
54
|
+
def self.codepage=: (Integer cp) -> Integer
|
|
55
|
+
def self.locale: () -> Integer
|
|
56
|
+
def self.locale=: (Integer lcid) -> Integer
|
|
57
|
+
def self.ole_initialize: () -> nil
|
|
58
|
+
def self.ole_uninitialize: () -> nil
|
|
59
|
+
def self.ole_show_help: (String | Type | Method target, ?Integer? helpcontext) -> nil
|
|
60
|
+
def self.ole_reference_count: (WIN32OLE obj) -> Integer
|
|
61
|
+
def self.ole_free: (WIN32OLE obj) -> Integer
|
|
62
|
+
def self.connect: (string server, ?nil host) -> WIN32OLE
|
|
63
|
+
def self.create_guid: () -> String
|
|
64
|
+
def self.const_load: (WIN32OLE | String ole, ?Module? mod) -> nil
|
|
65
|
+
|
|
66
|
+
def initialize: (string server, ?string? host) -> void
|
|
67
|
+
|
|
68
|
+
def method_missing: (Symbol | string name, *untyped args) -> untyped
|
|
69
|
+
def invoke: (Symbol | string name, *untyped args) -> untyped
|
|
70
|
+
def _invoke: (Integer dispid, Array[untyped] args, Array[Integer] types) -> untyped
|
|
71
|
+
def _getproperty: (Integer dispid, Array[untyped] args, Array[Integer] types) -> untyped
|
|
72
|
+
def _setproperty: (Integer dispid, Array[untyped] args, Array[Integer] types) -> untyped
|
|
73
|
+
def setproperty: (Symbol | string name, *untyped args) -> nil
|
|
74
|
+
def each: () { (untyped) -> void } -> nil
|
|
75
|
+
| () -> Enumerator[untyped, nil]
|
|
76
|
+
def []: (*untyped args) -> untyped
|
|
77
|
+
def []=: (*untyped args) -> untyped
|
|
78
|
+
def ole_activex_initialize: () -> nil
|
|
79
|
+
def ole_free: () -> nil
|
|
80
|
+
def ole_type: () -> Type
|
|
81
|
+
alias ole_obj_help ole_type
|
|
82
|
+
def ole_typelib: () -> TypeLib
|
|
83
|
+
def ole_methods: () -> Array[Method]
|
|
84
|
+
def ole_get_methods: () -> Array[Method]
|
|
85
|
+
def ole_put_methods: () -> Array[Method]
|
|
86
|
+
def ole_func_methods: () -> Array[Method]
|
|
87
|
+
def ole_respond_to?: (Symbol | String name) -> bool
|
|
88
|
+
def ole_method: (string name) -> Method
|
|
89
|
+
alias ole_method_help ole_method
|
|
90
|
+
def ole_query_interface: (string iid) -> WIN32OLE
|
|
91
|
+
def methods: (*untyped args) -> Array[Symbol]
|
|
92
|
+
|
|
93
|
+
module VariantType
|
|
94
|
+
VT_EMPTY: Integer
|
|
95
|
+
VT_NULL: Integer
|
|
96
|
+
VT_I2: Integer
|
|
97
|
+
VT_I4: Integer
|
|
98
|
+
VT_R4: Integer
|
|
99
|
+
VT_R8: Integer
|
|
100
|
+
VT_CY: Integer
|
|
101
|
+
VT_DATE: Integer
|
|
102
|
+
VT_BSTR: Integer
|
|
103
|
+
VT_DISPATCH: Integer
|
|
104
|
+
VT_ERROR: Integer
|
|
105
|
+
VT_BOOL: Integer
|
|
106
|
+
VT_VARIANT: Integer
|
|
107
|
+
VT_UNKNOWN: Integer
|
|
108
|
+
VT_DECIMAL: Integer
|
|
109
|
+
VT_I1: Integer
|
|
110
|
+
VT_UI1: Integer
|
|
111
|
+
VT_UI2: Integer
|
|
112
|
+
VT_UI4: Integer
|
|
113
|
+
VT_I8: Integer
|
|
114
|
+
VT_UI8: Integer
|
|
115
|
+
VT_INT: Integer
|
|
116
|
+
VT_UINT: Integer
|
|
117
|
+
VT_VOID: Integer
|
|
118
|
+
VT_HRESULT: Integer
|
|
119
|
+
VT_PTR: Integer
|
|
120
|
+
VT_SAFEARRAY: Integer
|
|
121
|
+
VT_CARRAY: Integer
|
|
122
|
+
VT_USERDEFINED: Integer
|
|
123
|
+
VT_LPSTR: Integer
|
|
124
|
+
VT_LPWSTR: Integer
|
|
125
|
+
VT_RECORD: Integer
|
|
126
|
+
VT_INT_PTR: Integer
|
|
127
|
+
VT_UINT_PTR: Integer
|
|
128
|
+
VT_FILETIME: Integer
|
|
129
|
+
VT_BLOB: Integer
|
|
130
|
+
VT_STREAM: Integer
|
|
131
|
+
VT_STORAGE: Integer
|
|
132
|
+
VT_STREAMED_OBJECT: Integer
|
|
133
|
+
VT_STORED_OBJECT: Integer
|
|
134
|
+
VT_BLOB_OBJECT: Integer
|
|
135
|
+
VT_CF: Integer
|
|
136
|
+
VT_CLSID: Integer
|
|
137
|
+
VT_VERSIONED_STREAM: Integer
|
|
138
|
+
VT_BSTR_BLOB: Integer
|
|
139
|
+
VT_VECTOR: Integer
|
|
140
|
+
VT_ARRAY: Integer
|
|
141
|
+
VT_BYREF: Integer
|
|
142
|
+
VT_RESERVED: Integer
|
|
143
|
+
VT_ILLEGAL: Integer
|
|
144
|
+
VT_ILLEGALMASKED: Integer
|
|
145
|
+
VT_TYPEMASK: Integer
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
VARIANT: singleton(VariantType)
|
|
149
|
+
|
|
150
|
+
class Variant
|
|
151
|
+
Empty: Variant
|
|
152
|
+
Null: Variant
|
|
153
|
+
Nothing: Variant
|
|
154
|
+
NoParam: Variant
|
|
155
|
+
|
|
156
|
+
def self.array: (Array[Integer] dims, Integer vt) -> Variant
|
|
157
|
+
|
|
158
|
+
def initialize: (untyped val, ?Integer? vartype, ?untyped reserved) -> void
|
|
159
|
+
def value: () -> untyped
|
|
160
|
+
def value=: (untyped val) -> untyped
|
|
161
|
+
def vartype: () -> Integer
|
|
162
|
+
def []: (*Integer indices) -> untyped
|
|
163
|
+
def []=: (*untyped args) -> untyped
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
class Record
|
|
167
|
+
def initialize: (_ToS typename, WIN32OLE oleobj) -> void
|
|
168
|
+
def to_h: () -> Hash[String, untyped]
|
|
169
|
+
def typename: () -> String
|
|
170
|
+
def inspect: () -> String
|
|
171
|
+
def method_missing: (Symbol name, *untyped args) -> untyped
|
|
172
|
+
def ole_instance_variable_get: (String | Symbol name) -> untyped
|
|
173
|
+
def ole_instance_variable_set: (String | Symbol name, untyped val) -> untyped
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
class TypeLib
|
|
177
|
+
LIBFLAG_FRESTRICTED: Integer
|
|
178
|
+
LIBFLAG_FHIDDEN: Integer
|
|
179
|
+
|
|
180
|
+
def self.new: (string typelib, ?Integer? major, ?Integer? minor) -> TypeLib
|
|
181
|
+
def self.typelibs: () -> Array[TypeLib]
|
|
182
|
+
|
|
183
|
+
def guid: () -> String
|
|
184
|
+
def name: () -> String
|
|
185
|
+
alias to_s name
|
|
186
|
+
def version: () -> String
|
|
187
|
+
def major_version: () -> Integer
|
|
188
|
+
def minor_version: () -> Integer
|
|
189
|
+
def visible?: () -> bool
|
|
190
|
+
def library_name: () -> String
|
|
191
|
+
def path: () -> String?
|
|
192
|
+
def ole_types: () -> Array[Type]
|
|
193
|
+
alias ole_classes ole_types
|
|
194
|
+
def inspect: () -> String
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
class Type
|
|
198
|
+
TYPEFLAG_FHIDDEN: Integer
|
|
199
|
+
TYPEFLAG_FRESTRICTED: Integer
|
|
200
|
+
TKIND_ALIAS: Integer
|
|
201
|
+
|
|
202
|
+
def self.new: (string typelib, string ole_class) -> Type
|
|
203
|
+
def self.ole_classes: (string typelib) -> Array[Type]
|
|
204
|
+
def self.typelibs: () -> Array[String]
|
|
205
|
+
def self.progids: () -> Array[String]
|
|
206
|
+
|
|
207
|
+
def name: () -> String
|
|
208
|
+
alias to_s name
|
|
209
|
+
def ole_type: () -> String?
|
|
210
|
+
def guid: () -> String
|
|
211
|
+
def progid: () -> String?
|
|
212
|
+
def visible?: () -> bool
|
|
213
|
+
def major_version: () -> Integer
|
|
214
|
+
def minor_version: () -> Integer
|
|
215
|
+
def typekind: () -> Integer
|
|
216
|
+
def helpstring: () -> String?
|
|
217
|
+
def helpfile: () -> String?
|
|
218
|
+
def helpcontext: () -> Integer
|
|
219
|
+
def src_type: () -> String?
|
|
220
|
+
def variables: () -> Array[Variable]
|
|
221
|
+
def ole_methods: () -> Array[Method]
|
|
222
|
+
def ole_typelib: () -> TypeLib
|
|
223
|
+
def inspect: () -> String
|
|
224
|
+
def implemented_ole_types: () -> Array[Type]
|
|
225
|
+
def source_ole_types: () -> Array[Type]
|
|
226
|
+
def default_event_sources: () -> Array[Type]
|
|
227
|
+
def default_ole_types: () -> Array[Type]
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
class Method
|
|
231
|
+
FUNCFLAG_FRESTRICTED: Integer
|
|
232
|
+
FUNCFLAG_FHIDDEN: Integer
|
|
233
|
+
FUNCFLAG_FNONBROWSABLE: Integer
|
|
234
|
+
|
|
235
|
+
def self.new: (Type oletype, string method) -> Method
|
|
236
|
+
|
|
237
|
+
def name: () -> String
|
|
238
|
+
alias to_s name
|
|
239
|
+
def return_type: () -> String
|
|
240
|
+
def return_vtype: () -> Integer
|
|
241
|
+
def return_type_detail: () -> Array[String]
|
|
242
|
+
def invoke_kind: () -> String
|
|
243
|
+
def invkind: () -> Integer
|
|
244
|
+
def visible?: () -> bool
|
|
245
|
+
def dispid: () -> Integer
|
|
246
|
+
def helpstring: () -> String?
|
|
247
|
+
def helpfile: () -> String?
|
|
248
|
+
def helpcontext: () -> Integer
|
|
249
|
+
def offset_vtbl: () -> Integer
|
|
250
|
+
def size_params: () -> Integer
|
|
251
|
+
def size_opt_params: () -> Integer
|
|
252
|
+
def params: () -> Array[Param]
|
|
253
|
+
def inspect: () -> String
|
|
254
|
+
def event?: () -> bool
|
|
255
|
+
def event_interface: () -> String?
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
class Param
|
|
259
|
+
PARAMFLAG_FIN: Integer
|
|
260
|
+
PARAMFLAG_FOUT: Integer
|
|
261
|
+
PARAMFLAG_FRETVAL: Integer
|
|
262
|
+
PARAMFLAG_FOPT: Integer
|
|
263
|
+
PARAMFLAG_FHASDEFAULT: Integer
|
|
264
|
+
PARAMDESCEX_DEFAULT_VALUE_OFFSET: Integer
|
|
265
|
+
|
|
266
|
+
def self.new: (Method olemethod, Integer n) -> Param
|
|
267
|
+
|
|
268
|
+
def name: () -> String
|
|
269
|
+
alias to_s name
|
|
270
|
+
def ole_type: () -> String
|
|
271
|
+
def ole_type_detail: () -> Array[String]
|
|
272
|
+
def input?: () -> bool
|
|
273
|
+
def output?: () -> bool
|
|
274
|
+
def optional?: () -> bool
|
|
275
|
+
def retval?: () -> bool
|
|
276
|
+
def default: () -> untyped
|
|
277
|
+
def inspect: () -> String
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
class Variable
|
|
281
|
+
VARFLAG_FRESTRICTED: Integer
|
|
282
|
+
VARFLAG_FHIDDEN: Integer
|
|
283
|
+
VARFLAG_FNONBROWSABLE: Integer
|
|
284
|
+
VAR_CONST: Integer
|
|
285
|
+
|
|
286
|
+
def name: () -> String
|
|
287
|
+
alias to_s name
|
|
288
|
+
def ole_type: () -> String
|
|
289
|
+
def ole_type_detail: () -> Array[String]
|
|
290
|
+
def value: () -> untyped
|
|
291
|
+
def visible?: () -> bool
|
|
292
|
+
def variable_kind: () -> String
|
|
293
|
+
def varkind: () -> Integer
|
|
294
|
+
def inspect: () -> String
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
class Event
|
|
298
|
+
def self.message_loop: () -> nil
|
|
299
|
+
|
|
300
|
+
def initialize: (WIN32OLE ole, ?String? itf) -> void
|
|
301
|
+
def on_event: (?(String | Symbol)? event) { (*untyped) -> untyped } -> nil
|
|
302
|
+
def on_event_with_outargs: (?(String | Symbol)? event) { (*untyped) -> untyped } -> nil
|
|
303
|
+
def off_event: (?(String | Symbol)? event) -> nil
|
|
304
|
+
def handler=: (untyped obj) -> untyped
|
|
305
|
+
def handler: () -> untyped
|
|
306
|
+
def unadvise: () -> nil
|
|
307
|
+
end
|
|
308
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: win32ole-ffi
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Eito Katagiri
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-10-31 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: fiddle
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.0'
|
|
27
|
+
description: A WIN32OLE for Windows written in pure Ruby on top of Fiddle instead
|
|
28
|
+
of a C extension, so that it also runs on JRuby.
|
|
29
|
+
email:
|
|
30
|
+
- eitoball@gmail.com
|
|
31
|
+
executables: []
|
|
32
|
+
extensions: []
|
|
33
|
+
extra_rdoc_files: []
|
|
34
|
+
files:
|
|
35
|
+
- BSDL
|
|
36
|
+
- CHANGELOG.md
|
|
37
|
+
- COPYING
|
|
38
|
+
- README.md
|
|
39
|
+
- lib/win32ole/ffi.rb
|
|
40
|
+
- lib/win32ole/ffi/array.rb
|
|
41
|
+
- lib/win32ole/ffi/dispatch.rb
|
|
42
|
+
- lib/win32ole/ffi/event.rb
|
|
43
|
+
- lib/win32ole/ffi/fiddle_compat.rb
|
|
44
|
+
- lib/win32ole/ffi/method.rb
|
|
45
|
+
- lib/win32ole/ffi/param.rb
|
|
46
|
+
- lib/win32ole/ffi/record.rb
|
|
47
|
+
- lib/win32ole/ffi/type.rb
|
|
48
|
+
- lib/win32ole/ffi/typeinfo.rb
|
|
49
|
+
- lib/win32ole/ffi/typelib.rb
|
|
50
|
+
- lib/win32ole/ffi/variable.rb
|
|
51
|
+
- lib/win32ole/ffi/variant.rb
|
|
52
|
+
- lib/win32ole/ffi/version.rb
|
|
53
|
+
- lib/win32ole/ffi/win32.rb
|
|
54
|
+
- lib/win32ole/ffi/win32ole.rb
|
|
55
|
+
- sig/win32ole/ffi.rbs
|
|
56
|
+
homepage: https://github.com/eitoball/win32ole-ffi
|
|
57
|
+
licenses:
|
|
58
|
+
- Ruby
|
|
59
|
+
- BSD-2-Clause
|
|
60
|
+
metadata:
|
|
61
|
+
source_code_uri: https://github.com/eitoball/win32ole-ffi
|
|
62
|
+
changelog_uri: https://github.com/eitoball/win32ole-ffi/blob/main/CHANGELOG.md
|
|
63
|
+
bug_tracker_uri: https://github.com/eitoball/win32ole-ffi/issues
|
|
64
|
+
rubygems_mfa_required: 'true'
|
|
65
|
+
post_install_message:
|
|
66
|
+
rdoc_options: []
|
|
67
|
+
require_paths:
|
|
68
|
+
- lib
|
|
69
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - ">="
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: 2.6.0
|
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
|
+
requirements:
|
|
76
|
+
- - ">="
|
|
77
|
+
- !ruby/object:Gem::Version
|
|
78
|
+
version: '0'
|
|
79
|
+
requirements: []
|
|
80
|
+
rubygems_version: 3.5.22
|
|
81
|
+
signing_key:
|
|
82
|
+
specification_version: 4
|
|
83
|
+
summary: WIN32OLE implemented in pure Ruby with Fiddle
|
|
84
|
+
test_files: []
|