class Salesforce::Metadata::PermissionSet
A Salesforce
PermissionSet
metadata object.
See developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_permissionset.htm
@author Ben Burwell
Attributes
Public Class Methods
Read a permissionset file from its name and directory
The default file path is `./src/permissionsets/NAME.permissionset`, but the directory can be overridden by passing a non-nil String.
@param name [String] the name of the permissionset to read, like 'Admin' @param dir [String] the directory to search for the permissionset in. If
nil, defaults to `./src/permissionsets`.
@return [PermissionSet] the permissionset object that has been instantiated
# File lib/mdata/metadata/PermissionSet.rb, line 75 def self.read name, dir dir = './src/permissionsets' if dir.nil? filename = "#{dir}/#{name}.permissionset" permissionset = PermissionSet.from_xml(File.read(filename)) permissionset.filename = filename permissionset end
Create an empty permissionset by name in directory
@param name [String] the name of the permissionset to create @param dir [String] the directory to create it in, defaulting to
`./src/permissionsets`.
# File lib/mdata/metadata/PermissionSet.rb, line 100 def self.touch name, dir dir = './src/permissionsets' if dir.nil? filename = "#{dir}/#{name}.permissionset" permissionset = PermissionSet.new permissionset.filename = filename permissionset.save end
Public Instance Methods
Save the permissionset to disk, writing it to the file from whence it came
Relies on the permissionset object having a `@filename` to save to.
# File lib/mdata/metadata/PermissionSet.rb, line 86 def save doc = ::Nokogiri::XML::Document.new doc.root = to_xml() doc.root.add_namespace nil, 'http://soap.sforce.com/2006/04/metadata' File.open @filename, 'w' do |file| file << doc.to_xml(:indent => 4, :encoding => 'UTF-8') end end