module Plist::Emit

Create a plist

You can dump an object to a plist in one of two ways:

The following Ruby classes are converted into native plist types:

Array, Bignum, Date, DateTime, Fixnum, Float, Hash, Integer, String, Symbol, Time, true, false

For detailed usage instructions, refer to USAGE and the methods documented below.

Public Class Methods

dump(obj, envelope = true) click to toggle source

The following Ruby classes are converted into native plist types:

Array, Bignum, Date, DateTime, Fixnum, Float, Hash, Integer, String, Symbol, Time

Write us (via RubyForge) if you think another class can be coerced safely into one of the expected plist classes.

IO and StringIO objects are encoded and placed in <data> elements; other objects are Marshal.dump'ed unless they implement to_plist_node.

The envelope parameters dictates whether or not the resultant plist fragment is wrapped in the normal XML/plist header and footer. Set it to false if you only want the fragment.

# File lib/plist/generator.rb, line 44
def self.dump(obj, envelope = true)
  output = plist_node(obj)

  output = wrap(output) if envelope

  return output
end
save_plist(obj, filename) click to toggle source

Writes the serialized object's plist to the specified filename.

# File lib/plist/generator.rb, line 53
def self.save_plist(obj, filename)
  File.open(filename, 'wb') do |f|
    f.write(obj.to_plist)
  end
end

Public Instance Methods

save_plist(filename) click to toggle source

Helper method for injecting into classes. Calls Plist::Emit.save_plist with self.

# File lib/plist/generator.rb, line 32
def save_plist(filename)
  Plist::Emit.save_plist(self, filename)
end
to_plist(envelope = true) click to toggle source

Helper method for injecting into classes. Calls Plist::Emit.dump with self.

# File lib/plist/generator.rb, line 27
def to_plist(envelope = true)
  return Plist::Emit.dump(self, envelope)
end