plistbuddy_command

in libraries/plist.rb [84:103]


    def plistbuddy_command(subcommand, entry, path, value = nil)
      sep = ' '
      arg = case subcommand.to_s
            when 'add'
              type_to_commandline_string(value)
            when 'set'
              if value.class == Hash
                sep = ':'
                value.map { |k, v| "#{k} #{v}" }
              else
                value
              end
            else
              ''
            end
      entry_with_arg = ["\"#{entry}\"", arg].join(sep).strip
      subcommand = "#{subcommand.capitalize} :#{entry_with_arg}"
      [plistbuddy_executable, '-c', "\'#{subcommand}\'", "\"#{path}\""].join(' ')
    end