Module: PList
- Defined in:
- lib/rake/cocoa.rb
Overview
Helper module for generating plists.
Constant Summary collapse
- TAB =
" "
Class Method Summary collapse
Class Method Details
.generate(info) ⇒ Object
420 421 422 423 424 425 426 427 |
# File 'lib/rake/cocoa.rb', line 420 def self.generate(info) plist = '<?xml version="1.0" encoding="UTF-8"?>' + "\n" plist += '<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">' + "\n" plist += '<plist version="1.0">' + "\n" plist += value(info) plist += "</plist>\n" plist end |
.value(object, indent = "") ⇒ Object
403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 |
# File 'lib/rake/cocoa.rb', line 403 def self.value(object, indent="") if object.class == Hash result = "#{indent}<dict>\n" object.keys.sort_by{|k| k.to_s}.each {|key| result += "#{indent}#{TAB}<key>#{key}</key>\n" result += value(object[key], indent+TAB) } result += "#{indent}</dict>\n" elsif object.class == Array result = "#{indent}<array>\n" result += object.map {|item| value(item, indent+TAB)}.join("") result += "#{indent}</array>\n" else result = "#{indent}<string>#{object}</string>\n" end result end |