rb-appscript 0.5.1 → 0.5.2
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/CHANGES +30 -0
- data/LICENSE +1 -1
- data/README +7 -3
- data/TODO +7 -1
- data/doc/aem-manual/01_introduction.html +23 -9
- data/doc/aem-manual/02_apioverview.html +25 -11
- data/doc/aem-manual/03_packingandunpackingdata.html +22 -17
- data/doc/aem-manual/04_references.html +49 -36
- data/doc/aem-manual/05_targettingapplications.html +25 -14
- data/doc/aem-manual/06_buildingandsendingevents.html +47 -21
- data/doc/aem-manual/07_findapp.html +22 -11
- data/doc/aem-manual/08_examples.html +21 -10
- data/doc/aem-manual/index.html +28 -12
- data/doc/appscript-manual/01_introduction.html +40 -27
- data/doc/appscript-manual/02_aboutappscripting.html +28 -15
- data/doc/appscript-manual/03_quicktutorial.html +29 -16
- data/doc/appscript-manual/04_gettinghelp.html +31 -16
- data/doc/appscript-manual/05_keywordconversion.html +23 -10
- data/doc/appscript-manual/06_classesandenums.html +32 -19
- data/doc/appscript-manual/07_applicationobjects.html +31 -18
- data/doc/appscript-manual/08_realvsgenericreferences.html +23 -11
- data/doc/appscript-manual/09_referenceforms.html +33 -20
- data/doc/appscript-manual/10_referenceexamples.html +30 -17
- data/doc/appscript-manual/11_applicationcommands.html +25 -13
- data/doc/appscript-manual/12_commandexamples.html +26 -15
- data/doc/appscript-manual/13_performanceissues.html +46 -20
- data/doc/appscript-manual/14_notes.html +29 -19
- data/doc/appscript-manual/index.html +27 -11
- data/doc/full.css +95 -9
- data/doc/index.html +27 -10
- data/doc/mactypes-manual/01_introduction.html +56 -0
- data/doc/mactypes-manual/02_aliasclass.html +134 -0
- data/doc/mactypes-manual/03_fileurlclass.html +136 -0
- data/doc/mactypes-manual/04_unitsclass.html +102 -0
- data/doc/mactypes-manual/index.html +26 -227
- data/doc/osax-manual/01_introduction.html +69 -0
- data/doc/osax-manual/02_interface.html +149 -0
- data/doc/osax-manual/03_examples.html +75 -0
- data/doc/osax-manual/04_notes.html +80 -0
- data/doc/osax-manual/index.html +26 -195
- data/doc/rb-appscript-logo.png +0 -0
- data/rb-appscript.gemspec +2 -2
- data/sample/TextEdit_demo.rb +1 -1
- data/src/lib/_aem/aemreference.rb +1 -1
- data/src/lib/_aem/codecs.rb +42 -8
- data/src/lib/_aem/connect.rb +3 -1
- data/src/lib/_aem/findapp.rb +1 -1
- data/src/lib/_aem/mactypes.rb +1 -1
- data/src/lib/_aem/send.rb +162 -142
- data/src/lib/_aem/typewrappers.rb +2 -2
- data/src/lib/_appscript/defaultterminology.rb +76 -46
- data/src/lib/_appscript/referencerenderer.rb +1 -1
- data/src/lib/_appscript/reservedkeywords.rb +2 -2
- data/src/lib/_appscript/safeobject.rb +1 -1
- data/src/lib/_appscript/terminology.rb +30 -19
- data/src/lib/aem.rb +1 -6
- data/src/lib/appscript.rb +65 -20
- data/src/lib/osax.rb +21 -18
- data/src/rbae.c +1 -1
- data/test/test_appscriptcommands.rb +1 -1
- metadata +12 -3
data/src/lib/osax.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# osax -- invoke scripting addition (OSAX) commands from Ruby
|
5
5
|
#
|
6
|
-
# Copyright (C) 2006-
|
6
|
+
# Copyright (C) 2006-2009 HAS. Released under MIT License.
|
7
7
|
#
|
8
8
|
|
9
9
|
require "appscript"
|
@@ -23,22 +23,6 @@ module OSAX
|
|
23
23
|
|
24
24
|
OSAXCache = {}
|
25
25
|
OSAXNames = []
|
26
|
-
|
27
|
-
se = AEM::Application.by_path(FindApp.by_id('com.apple.systemevents'))
|
28
|
-
['flds', 'fldl', 'fldu'].each do |domain_code|
|
29
|
-
osaxen = AEM.app.property(domain_code).property('$scr').elements('file').by_filter(
|
30
|
-
AEM.its.property('asty').eq('osax').or(AEM.its.property('extn').eq('osax')))
|
31
|
-
if se.event('coredoex', {'----' => osaxen.property('pnam')}).send # domain has ScriptingAdditions folder
|
32
|
-
names = se.event('coregetd', {'----' => osaxen.property('pnam')}).send
|
33
|
-
paths = se.event('coregetd', {'----' => osaxen.property('posx')}).send
|
34
|
-
names.zip(paths).each do |name, path|
|
35
|
-
name = name.sub(/(?i)\.osax$/, '') # remove name extension, if any
|
36
|
-
OSAXNames.push(name)
|
37
|
-
OSAXCache[name.downcase] = [path, nil]
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
OSAXNames.sort!.uniq!
|
42
26
|
|
43
27
|
#######
|
44
28
|
# modified AppData class
|
@@ -64,6 +48,23 @@ module OSAX
|
|
64
48
|
|
65
49
|
@_standard_additions = nil
|
66
50
|
|
51
|
+
def OSAX._init_caches
|
52
|
+
se = AEM::Application.by_path(FindApp.by_id('com.apple.systemevents'))
|
53
|
+
['flds', 'fldl', 'fldu'].each do |domain_code|
|
54
|
+
osaxen = AEM.app.property(domain_code).property('$scr').elements('file').by_filter(
|
55
|
+
AEM.its.property('asty').eq('osax').or(AEM.its.property('extn').eq('osax')))
|
56
|
+
if se.event('coredoex', {'----' => osaxen.property('pnam')}).send # domain has ScriptingAdditions folder
|
57
|
+
names = se.event('coregetd', {'----' => osaxen.property('pnam')}).send
|
58
|
+
paths = se.event('coregetd', {'----' => osaxen.property('posx')}).send
|
59
|
+
names.zip(paths).each do |name, path|
|
60
|
+
name = name.sub(/(?i)\.osax$/, '') # remove name extension, if any
|
61
|
+
OSAXNames.push(name)
|
62
|
+
OSAXCache[name.downcase] = [path, nil]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
OSAXNames.sort!.uniq!
|
67
|
+
end
|
67
68
|
|
68
69
|
######################################################################
|
69
70
|
# PUBLIC
|
@@ -71,7 +72,8 @@ module OSAX
|
|
71
72
|
|
72
73
|
def OSAX.scripting_additions
|
73
74
|
# list names of all currently installed scripting additions
|
74
|
-
|
75
|
+
OSAX._init_caches if OSAXNames == []
|
76
|
+
return OSAXNames.clone
|
75
77
|
end
|
76
78
|
|
77
79
|
def OSAX.osax(name=nil, app_name=nil)
|
@@ -95,6 +97,7 @@ module OSAX
|
|
95
97
|
#
|
96
98
|
# without the additional overhead of creating a new ScriptingAddition object each time.
|
97
99
|
#
|
100
|
+
OSAX._init_caches if OSAXCache == {}
|
98
101
|
if name == nil and app_name == nil
|
99
102
|
if @_standard_additions == nil
|
100
103
|
@_standard_additions = ScriptingAddition.new('StandardAdditions')
|
data/src/rbae.c
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
* ae -- a low-level API providing a basic Ruby wrapper around the various
|
5
5
|
* Apple Event Manager, Process Manager and Launch Services APIs used by aem
|
6
6
|
*
|
7
|
-
* Copyright (C) 2006-
|
7
|
+
* Copyright (C) 2006-2009 HAS. Released under MIT License.
|
8
8
|
*
|
9
9
|
* Thanks to:
|
10
10
|
* - FUJIMOTO Hisakuni, author of RubyAEOSA
|
@@ -130,7 +130,7 @@ class TC_AppscriptCommands < Test::Unit::TestCase
|
|
130
130
|
@f.items[10000].get
|
131
131
|
rescue Appscript::CommandError => e
|
132
132
|
assert_equal(-1728, e.to_i)
|
133
|
-
assert_equal("CommandError\n\t\tOSERROR: -1728\n\t\tMESSAGE: Can't get reference.\n\t\tCOMMAND: app(\"/System/Library/CoreServices/Finder.app\").items[10000].get()\n", e.to_s)
|
133
|
+
assert_equal("CommandError\n\t\tOSERROR: -1728\n\t\tMESSAGE: Can't get reference.\n\t\tOFFENDING OBJECT: app(\"/System/Library/CoreServices/Finder.app\").items[10000]\n\t\tCOMMAND: app(\"/System/Library/CoreServices/Finder.app\").items[10000].get()\n", e.to_s)
|
134
134
|
assert_instance_of(AEM::CommandError, e.real_error)
|
135
135
|
end
|
136
136
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rb-appscript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- HAS
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-07-05 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -59,9 +59,18 @@ files:
|
|
59
59
|
- doc/full.css
|
60
60
|
- doc/index.html
|
61
61
|
- doc/mactypes-manual
|
62
|
+
- doc/mactypes-manual/01_introduction.html
|
63
|
+
- doc/mactypes-manual/02_aliasclass.html
|
64
|
+
- doc/mactypes-manual/03_fileurlclass.html
|
65
|
+
- doc/mactypes-manual/04_unitsclass.html
|
62
66
|
- doc/mactypes-manual/index.html
|
63
67
|
- doc/osax-manual
|
68
|
+
- doc/osax-manual/01_introduction.html
|
69
|
+
- doc/osax-manual/02_interface.html
|
70
|
+
- doc/osax-manual/03_examples.html
|
71
|
+
- doc/osax-manual/04_notes.html
|
64
72
|
- doc/osax-manual/index.html
|
73
|
+
- doc/rb-appscript-logo.png
|
65
74
|
- extconf.rb
|
66
75
|
- LICENSE
|
67
76
|
- rb-appscript.gemspec
|
@@ -119,7 +128,7 @@ files:
|
|
119
128
|
- test/testall.sh
|
120
129
|
- TODO
|
121
130
|
has_rdoc: false
|
122
|
-
homepage: http://
|
131
|
+
homepage: http://appscript.sourceforge.net/rb-appscript
|
123
132
|
post_install_message:
|
124
133
|
rdoc_options: []
|
125
134
|
|