rubyosa19 0.5.0 → 0.5.4
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/AUTHORS +16 -0
- data/COPYRIGHT +25 -0
- data/README.markdown +61 -0
- data/bin/rdoc-osa +232 -0
- data/data/rubyosa/rdoc_html.rb +696 -0
- data/{ext/rubyosa/extconf.rb → extconf.rb} +18 -5
- data/sample/AddressBook/inspect.rb +31 -0
- data/sample/BBEdit/unix_script.rb +19 -0
- data/sample/Finder/show_desktop.rb +10 -0
- data/sample/Mail/get_selected_mail.rb +14 -0
- data/sample/Photoshop/new_doc.rb +13 -0
- data/sample/Photoshop/new_doc_with_text.rb +34 -0
- data/sample/QuickTime/play_all.rb +30 -0
- data/sample/TextEdit/hello_world.rb +19 -0
- data/sample/iChat/image.rb +18 -0
- data/sample/iChat/uptime.rb +15 -0
- data/sample/iTunes/artwork.rb +14 -0
- data/sample/iTunes/control.rb +66 -0
- data/sample/iTunes/fade_volume.rb +23 -0
- data/sample/iTunes/inspect.rb +16 -0
- data/sample/iTunes/name_that_tune.rb +97 -0
- data/sample/iTunes/tag_genre_lastfm.rb +32 -0
- data/sample/misc/sdef.rb +37 -0
- data/{lib/rubyosa → src/lib}/rbosa.rb +22 -55
- data/{lib/rubyosa → src/lib}/rbosa_properties.rb +0 -0
- data/{ext/rubyosa → src}/rbosa.c +31 -4
- data/{ext/rubyosa → src}/rbosa.h +1 -1
- data/{ext/rubyosa → src}/rbosa_conv.c +24 -5
- data/{ext/rubyosa → src}/rbosa_err.c +0 -0
- data/{ext/rubyosa → src}/rbosa_sdef.c +8 -0
- metadata +78 -45
- data/ext/rubyosa/osx_intern.h +0 -912
- data/ext/rubyosa/osx_ruby.h +0 -34
- data/lib/rubyosa.rb +0 -18
data/{ext/rubyosa → src}/rbosa.c
RENAMED
@@ -27,7 +27,7 @@
|
|
27
27
|
*/
|
28
28
|
|
29
29
|
#include "rbosa.h"
|
30
|
-
#include <
|
30
|
+
#include <st.h>
|
31
31
|
|
32
32
|
static VALUE mOSA;
|
33
33
|
static VALUE cOSAElement;
|
@@ -161,8 +161,13 @@ rbosa_element_new (VALUE self, VALUE type, VALUE value)
|
|
161
161
|
}
|
162
162
|
else {
|
163
163
|
Check_Type (value, T_STRING);
|
164
|
+
#ifdef RUBY_19
|
164
165
|
c_value = RSTRING_PTR(value);
|
165
166
|
c_value_size = RSTRING_LEN(value);
|
167
|
+
#else
|
168
|
+
c_value = RSTRING (value)->ptr;
|
169
|
+
c_value_size = RSTRING (value)->len;
|
170
|
+
#endif
|
166
171
|
}
|
167
172
|
|
168
173
|
error = AECreateDesc (ffc_type, c_value, c_value_size, &desc);
|
@@ -227,6 +232,9 @@ __rbosa_raise_potential_app_error (AEDesc *reply)
|
|
227
232
|
return;
|
228
233
|
}
|
229
234
|
|
235
|
+
if (errorNum == noErr)
|
236
|
+
return;
|
237
|
+
|
230
238
|
/* The reply is an application error. */
|
231
239
|
|
232
240
|
errorMsg = error_code_to_string(errorNum);
|
@@ -287,18 +295,32 @@ rbosa_app_send_event (VALUE self, VALUE event_class, VALUE event_id, VALUE param
|
|
287
295
|
if (!NIL_P (params)) {
|
288
296
|
unsigned i;
|
289
297
|
|
290
|
-
|
298
|
+
#ifdef RUBY_19
|
299
|
+
for (i = 0; i < RARRAY_LEN(params); i++) {
|
300
|
+
#else
|
301
|
+
for (i = 0; i < RARRAY (params)->len; i++) {
|
302
|
+
#endif
|
291
303
|
VALUE ary;
|
292
304
|
VALUE type;
|
293
305
|
VALUE element;
|
294
306
|
FourCharCode code;
|
295
307
|
|
296
|
-
|
297
|
-
|
308
|
+
#ifdef RUBY_19
|
309
|
+
ary = RARRAY_PTR(params)[i];
|
310
|
+
if (NIL_P (ary) || RARRAY_LEN(ary) != 2)
|
311
|
+
#else
|
312
|
+
ary = RARRAY (params)->ptr[i];
|
313
|
+
if (NIL_P (ary) || RARRAY (ary)->len != 2)
|
314
|
+
#endif
|
298
315
|
continue;
|
299
316
|
|
317
|
+
#ifdef RUBY_19
|
300
318
|
type = RARRAY_PTR(ary)[0];
|
301
319
|
element = RARRAY_PTR(ary)[1];
|
320
|
+
#else
|
321
|
+
type = RARRAY (ary)->ptr[0];
|
322
|
+
element = RARRAY (ary)->ptr[1];
|
323
|
+
#endif
|
302
324
|
code = RVAL2FOURCHAR (type);
|
303
325
|
|
304
326
|
if (code == '----')
|
@@ -557,8 +579,13 @@ rbosa_elementlist_new (int argc, VALUE *argv, VALUE self)
|
|
557
579
|
error_code_to_string (error), error);
|
558
580
|
|
559
581
|
if (!NIL_P (ary)) {
|
582
|
+
#ifdef RUBY_19
|
560
583
|
for (i = 0; i < RARRAY_LEN(ary); i++)
|
561
584
|
__rbosa_elementlist_add (&list, RARRAY_PTR(ary)[i], i + 1);
|
585
|
+
#else
|
586
|
+
for (i = 0; i < RARRAY (ary)->len; i++)
|
587
|
+
__rbosa_elementlist_add (&list, RARRAY (ary)->ptr[i], i + 1);
|
588
|
+
#endif
|
562
589
|
}
|
563
590
|
|
564
591
|
return rbosa_element_make (self, &list, Qnil);
|
data/{ext/rubyosa → src}/rbosa.h
RENAMED
@@ -43,9 +43,15 @@ rbobj_to_fourchar (VALUE obj)
|
|
43
43
|
obj = rb_obj_as_string (obj);
|
44
44
|
|
45
45
|
if (rb_obj_is_kind_of (obj, rb_cString)) {
|
46
|
+
#ifdef RUBY_19
|
46
47
|
if (RSTRING_LEN(obj) != 4)
|
47
48
|
rb_raise (rb_eArgError, USAGE_MSG);
|
48
49
|
result = *(FourCharCode*)(RSTRING_PTR(obj));
|
50
|
+
#else
|
51
|
+
if (RSTRING (obj)->len != 4)
|
52
|
+
rb_raise (rb_eArgError, USAGE_MSG);
|
53
|
+
result = *(FourCharCode*)(RSTRING (obj)->ptr);
|
54
|
+
#endif
|
49
55
|
result = CFSwapInt32HostToBig (result);
|
50
56
|
}
|
51
57
|
else {
|
@@ -75,9 +81,14 @@ rbobj_to_alias_handle (VALUE obj, AliasHandle *alias)
|
|
75
81
|
Check_Type (obj, T_STRING);
|
76
82
|
*alias = NULL;
|
77
83
|
|
78
|
-
URL = CFURLCreateFromFileSystemRepresentation (kCFAllocatorDefault,
|
79
|
-
|
80
|
-
|
84
|
+
URL = CFURLCreateFromFileSystemRepresentation (kCFAllocatorDefault,
|
85
|
+
#ifdef RUBY_19
|
86
|
+
(const UInt8 *)RSTRING_PTR(obj),
|
87
|
+
RSTRING_LEN(obj),
|
88
|
+
#else
|
89
|
+
(const UInt8 *)RSTRING (obj)->ptr,
|
90
|
+
RSTRING (obj)->len,
|
91
|
+
#endif
|
81
92
|
0 /* XXX: normally passing 0 even if it's a directory should
|
82
93
|
not hurt, as we are just getting the FSRef. */);
|
83
94
|
if (URL == NULL)
|
@@ -88,10 +99,18 @@ rbobj_to_alias_handle (VALUE obj, AliasHandle *alias)
|
|
88
99
|
error = FSNewAlias (NULL, &ref, alias);
|
89
100
|
if (error != noErr)
|
90
101
|
rb_raise (rb_eArgError, "Cannot create alias handle for given filename '%s' : %s (%d)",
|
91
|
-
|
102
|
+
#ifdef RUBY_19
|
103
|
+
RSTRING_PTR(obj), GetMacOSStatusErrorString (error), error);
|
104
|
+
#else
|
105
|
+
RSTRING (obj)->ptr, GetMacOSStatusErrorString (error), error);
|
106
|
+
#endif
|
92
107
|
}
|
93
108
|
else {
|
94
109
|
rb_raise (rb_eArgError, "Cannot obtain the filesystem reference for given filename '%s'",
|
95
|
-
|
110
|
+
#ifdef RUBY_19
|
111
|
+
RSTRING_PTR(obj));
|
112
|
+
#else
|
113
|
+
RSTRING (obj)->ptr);
|
114
|
+
#endif
|
96
115
|
}
|
97
116
|
}
|
File without changes
|
@@ -331,12 +331,20 @@ rbosa_scripting_info (VALUE self, VALUE hash)
|
|
331
331
|
remote = CSTR2RVAL (c_remote);
|
332
332
|
}
|
333
333
|
|
334
|
+
#ifdef RUBY_19
|
334
335
|
if (RHASH_TBL(hash)->num_entries > 0) {
|
336
|
+
#else
|
337
|
+
if (RHASH (hash)->tbl->num_entries > 0) {
|
338
|
+
#endif
|
335
339
|
VALUE keys;
|
336
340
|
|
337
341
|
keys = rb_funcall (hash, rb_intern ("keys"), 0);
|
338
342
|
rb_raise (rb_eArgError, "inappropriate argument(s): %s",
|
343
|
+
#ifdef RUBY_19
|
339
344
|
RSTRING_PTR(rb_inspect (keys)));
|
345
|
+
#else
|
346
|
+
RSTRING (rb_inspect (keys))->ptr);
|
347
|
+
#endif
|
340
348
|
}
|
341
349
|
|
342
350
|
if (NIL_P (remote)) {
|
metadata
CHANGED
@@ -1,63 +1,96 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubyosa19
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.0
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 0.5.4
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
8
|
-
-
|
9
|
-
-
|
10
|
-
- Minh Thu Vo
|
11
|
-
- James Adam
|
12
|
-
- Paolo Bosetti
|
7
|
+
authors:
|
8
|
+
- Laurent Sansonetti
|
9
|
+
- Paolo Bosetti (adapting for 1.9)
|
13
10
|
autorequire:
|
14
11
|
bindir: bin
|
15
12
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
|
14
|
+
date: 2011-03-03 00:00:00 -08:00
|
15
|
+
default_executable:
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
18
|
+
name: libxml-ruby
|
19
|
+
prerelease: false
|
20
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
none: false
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 1.1.3
|
26
|
+
type: :runtime
|
27
|
+
version_requirements: *id001
|
28
|
+
description: RubyOSA is a bridge that connects Ruby to the Apple Event Manager, automatically populating the API according to the target application's scriptable definition. This version is 1.9.2 compatible!
|
21
29
|
email: p4010@me.com
|
22
|
-
executables:
|
23
|
-
|
24
|
-
|
30
|
+
executables:
|
31
|
+
- rdoc-osa
|
32
|
+
extensions:
|
33
|
+
- extconf.rb
|
25
34
|
extra_rdoc_files: []
|
26
|
-
|
27
|
-
|
28
|
-
-
|
29
|
-
-
|
30
|
-
-
|
31
|
-
-
|
32
|
-
-
|
33
|
-
-
|
34
|
-
-
|
35
|
-
-
|
36
|
-
-
|
37
|
-
-
|
38
|
-
|
35
|
+
|
36
|
+
files:
|
37
|
+
- README.markdown
|
38
|
+
- COPYRIGHT
|
39
|
+
- AUTHORS
|
40
|
+
- extconf.rb
|
41
|
+
- src/rbosa.c
|
42
|
+
- src/rbosa.h
|
43
|
+
- src/rbosa_conv.c
|
44
|
+
- src/rbosa_sdef.c
|
45
|
+
- src/rbosa_err.c
|
46
|
+
- src/lib/rbosa.rb
|
47
|
+
- src/lib/rbosa_properties.rb
|
48
|
+
- sample/Finder/show_desktop.rb
|
49
|
+
- sample/iChat/uptime.rb
|
50
|
+
- sample/iTunes/control.rb
|
51
|
+
- sample/iTunes/fade_volume.rb
|
52
|
+
- sample/iTunes/inspect.rb
|
53
|
+
- sample/QuickTime/play_all.rb
|
54
|
+
- sample/misc/sdef.rb
|
55
|
+
- sample/BBEdit/unix_script.rb
|
56
|
+
- sample/TextEdit/hello_world.rb
|
57
|
+
- sample/iChat/image.rb
|
58
|
+
- sample/iTunes/artwork.rb
|
59
|
+
- sample/Mail/get_selected_mail.rb
|
60
|
+
- sample/AddressBook/inspect.rb
|
61
|
+
- sample/iTunes/tag_genre_lastfm.rb
|
62
|
+
- data/rubyosa/rdoc_html.rb
|
63
|
+
- sample/Photoshop/new_doc.rb
|
64
|
+
- sample/Photoshop/new_doc_with_text.rb
|
65
|
+
- sample/iTunes/name_that_tune.rb
|
66
|
+
- bin/rdoc-osa
|
67
|
+
has_rdoc: true
|
68
|
+
homepage: http://github.com/pbosetti/rubyosa
|
39
69
|
licenses: []
|
70
|
+
|
40
71
|
post_install_message:
|
41
72
|
rdoc_options: []
|
42
|
-
|
73
|
+
|
74
|
+
require_paths:
|
43
75
|
- lib
|
44
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
45
77
|
none: false
|
46
|
-
requirements:
|
47
|
-
- -
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version:
|
50
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: "0"
|
82
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
83
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version:
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: "0"
|
56
88
|
requirements: []
|
57
|
-
|
58
|
-
|
89
|
+
|
90
|
+
rubyforge_project: rubyosa
|
91
|
+
rubygems_version: 1.5.2
|
59
92
|
signing_key:
|
60
93
|
specification_version: 3
|
61
|
-
summary: Ruby
|
94
|
+
summary: A Ruby/AppleEvent bridge.
|
62
95
|
test_files: []
|
63
|
-
|
96
|
+
|