plist4r 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/plist4r/docs/InfoPlistExample.rdoc +3 -3
- data/lib/plist4r/docs/LaunchdPlistExample.rdoc +3 -3
- data/lib/plist4r/plist_type/launchd.rb +20 -15
- data/plist4r.gemspec +1 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.3
|
@@ -11,19 +11,19 @@ In this example, we edit an Apple Info.plist, to modify a couple of the keys and
|
|
11
11
|
# block method
|
12
12
|
info_plist = Plist4r.open "/Applications/MyApp.app/Contents/Info.plist" do
|
13
13
|
|
14
|
-
# plist attributes
|
14
|
+
# plist file attributes
|
15
15
|
filename # => "/Applications/MyApp.app/Contents/Info.plist"
|
16
16
|
file_format # => :xml
|
17
17
|
plist_type # => :info
|
18
18
|
|
19
|
-
# read
|
19
|
+
# read plist keys
|
20
20
|
c_f_bundle_executable # => "MyApp"
|
21
21
|
c_f_bundle_icon_file # => "Icon"
|
22
22
|
c_f_bundle_identifier # => "com.mydomain.MyApp"
|
23
23
|
c_f_bundle_name # => "MyApp"
|
24
24
|
c_f_bundle_signature # => "????"
|
25
25
|
|
26
|
-
# write
|
26
|
+
# write plist keys
|
27
27
|
c_f_bundle_signature "MYAP"
|
28
28
|
store "LSUIElement" true
|
29
29
|
|
@@ -11,19 +11,19 @@ In this example, we edit an Apple Launchd plist, to modify a couple of the keys
|
|
11
11
|
# block method
|
12
12
|
launchd_plist = Plist4r.open "/Library/LaunchDaemons/com.mydomain.MyApp.plist" do
|
13
13
|
|
14
|
-
# plist attributes
|
14
|
+
# plist file attributes
|
15
15
|
filename # => "/Library/LaunchDaemons/com.mydomain.MyApp.plist"
|
16
16
|
file_format # => :xml
|
17
17
|
plist_type # => :launchd
|
18
18
|
|
19
|
-
# read
|
19
|
+
# read plist keys
|
20
20
|
label # => "com.mydomain.Myapp"
|
21
21
|
program_arguments # => ["/Applications/MyApp.app/Contents/MacOS/MyApp"]
|
22
22
|
queue_directories # => ["/dir/to/watch/1","/dir/to/watch/2","etc..."]
|
23
23
|
run_at_load # => false
|
24
24
|
start_on_mount # => false
|
25
25
|
|
26
|
-
# write
|
26
|
+
# write plist keys
|
27
27
|
run_at_load true
|
28
28
|
store "StartOnMount" true
|
29
29
|
|
@@ -26,6 +26,11 @@ module Plist4r
|
|
26
26
|
SoftResourceLimits, HardResourceLimits MachServices Socket ]
|
27
27
|
}
|
28
28
|
|
29
|
+
|
30
|
+
class InetdCompatibility < ArrayDict
|
31
|
+
ValidKeys = { :bool => %w[Wait] }
|
32
|
+
end
|
33
|
+
|
29
34
|
# Set or return the plist key +inetdCompatibility+
|
30
35
|
# @param [Hash <true,false>] value the
|
31
36
|
# The presence of this key specifies that the daemon expects to be run as if it were launched from inetd.
|
@@ -41,20 +46,21 @@ module Plist4r
|
|
41
46
|
# # return inetdCompatibility
|
42
47
|
# launchd_plist.inetd_compatibility => hash or nil
|
43
48
|
#
|
44
|
-
def inetd_compatibility value=nil
|
49
|
+
def inetd_compatibility value=nil, &blk
|
45
50
|
key = "inetdCompatibility"
|
46
51
|
case value
|
47
|
-
when
|
48
|
-
if
|
49
|
-
@hash[key] =
|
52
|
+
when nil
|
53
|
+
if block_given?
|
54
|
+
@hash[key] = ::Plist4r::OrderedHash.new
|
55
|
+
@hash[key] = InetdCompatibility.new(@hash[key],&blk).to_hash
|
50
56
|
else
|
51
|
-
|
57
|
+
@hash[key]
|
52
58
|
end
|
53
|
-
when nil
|
54
|
-
@hash[key]
|
55
59
|
else
|
56
|
-
raise "Invalid value: #{method_name} #{value.inspect}. Should be: #{method_name}
|
60
|
+
raise "Invalid value: #{method_name} #{value.inspect}. Should be: #{method_name} { wait true|false }"
|
57
61
|
end
|
62
|
+
|
63
|
+
|
58
64
|
end
|
59
65
|
|
60
66
|
class KeepAlive < ArrayDict
|
@@ -119,7 +125,6 @@ module Plist4r
|
|
119
125
|
@hash[key] = value
|
120
126
|
when nil
|
121
127
|
if block_given?
|
122
|
-
puts KeepAlive.new(@hash[key],&blk).to_hash
|
123
128
|
@hash[key] = ::Plist4r::OrderedHash.new
|
124
129
|
@hash[key] = KeepAlive.new(@hash[key],&blk).to_hash
|
125
130
|
else
|
@@ -296,7 +301,7 @@ module Plist4r
|
|
296
301
|
def soft_resource_limits value=nil, &blk
|
297
302
|
key = "SoftResourceLimits"
|
298
303
|
if blk
|
299
|
-
@hash[key]
|
304
|
+
@hash[key] = ::Plist4r::OrderedHash.new
|
300
305
|
@hash[key] = ResourceLimits.new(@hash[key],&blk).to_hash
|
301
306
|
else
|
302
307
|
@hash[key]
|
@@ -361,7 +366,7 @@ module Plist4r
|
|
361
366
|
def hard_resource_limits value=nil, &blk
|
362
367
|
key = "HardResourceLimits"
|
363
368
|
if blk
|
364
|
-
@hash[key]
|
369
|
+
@hash[key] = ::Plist4r::OrderedHash.new
|
365
370
|
@hash[key] = ResourceLimits.new(@hash[key],&blk).to_hash
|
366
371
|
else
|
367
372
|
@hash[key]
|
@@ -428,7 +433,7 @@ module Plist4r
|
|
428
433
|
def mach_services value=nil, &blk
|
429
434
|
key = "MachServices"
|
430
435
|
if blk
|
431
|
-
@hash[key]
|
436
|
+
@hash[key] = ::Plist4r::OrderedHash.new
|
432
437
|
@hash[key] = MachServices.new(@hash[key],&blk).to_hash
|
433
438
|
else
|
434
439
|
@hash[key]
|
@@ -661,8 +666,8 @@ module Plist4r
|
|
661
666
|
def socket index_or_key=nil, index=nil, &blk
|
662
667
|
key = "Sockets"
|
663
668
|
if blk
|
664
|
-
@hash[key]
|
665
|
-
sockets = Sockets.new(@hash[key])
|
669
|
+
@hash[key] = ::Plist4r::OrderedHash.new
|
670
|
+
sockets = Sockets.new(@hash[key])
|
666
671
|
|
667
672
|
case index_or_key
|
668
673
|
when nil
|
@@ -680,7 +685,7 @@ module Plist4r
|
|
680
685
|
else
|
681
686
|
raise "Invalid socket key: #{method_name} #{index_or_key.inspect}. Should be: #{method_name} <socket_key> &blk"
|
682
687
|
end
|
683
|
-
@hash[key] = sockets
|
688
|
+
@hash[key] = sockets.to_hash
|
684
689
|
else
|
685
690
|
@hash[key]
|
686
691
|
end
|
data/plist4r.gemspec
CHANGED