diff options
author | Patrick Way <patrick@reflexions.co> | 2016-01-27 22:10:02 -0500 |
---|---|---|
committer | Patrick Way <patrick@reflexions.co> | 2016-01-27 22:10:02 -0500 |
commit | d79282111f0a65b25f3c3371de067b4c7aa9c6db (patch) | |
tree | bd98dc3337bfd9051bb0eb176d2db08c6c1a6ba5 | |
parent | f255ebf12287978ac38ccc55fc0f3bdf552c5ccc (diff) | |
parent | 31beb18ad4cfe8c51a7b648e3019c345e786ad97 (diff) | |
download | plist-d79282111f0a65b25f3c3371de067b4c7aa9c6db.tar.gz |
Merge pull request #18 from bfreese/pdata-fix
Fixed PData parsing issue
-rw-r--r-- | Rakefile | 5 | ||||
-rw-r--r-- | lib/plist/parser.rb | 3 | ||||
-rw-r--r-- | test/assets/test_data_elements.plist | 2 |
3 files changed, 6 insertions, 4 deletions
@@ -13,8 +13,8 @@ require 'rubygems' require 'rake' require 'rake/testtask' require 'rake/packagetask' -require 'rake/gempackagetask' require 'rake/contrib/rubyforgepublisher' +require 'rubygems/package_task' $:.unshift(File.dirname(__FILE__) + "/lib") require 'plist' @@ -146,8 +146,9 @@ EOD s.autorequire = 'plist' end -Rake::GemPackageTask.new(spec) do |p| +Gem::PackageTask.new(spec) do |p| p.gem_spec = spec p.need_tar = true p.need_zip = true end + diff --git a/lib/plist/parser.rb b/lib/plist/parser.rb index a5f2450..de441fc 100644 --- a/lib/plist/parser.rb +++ b/lib/plist/parser.rb @@ -210,8 +210,7 @@ module Plist require 'base64' class PData < PTag def to_ruby - data = Base64.decode64(text.gsub(/\s+/, '')) - + data = Base64.decode64(text.gsub(/\s+/, '')) unless text.nil? begin return Marshal.load(data) rescue Exception => e diff --git a/test/assets/test_data_elements.plist b/test/assets/test_data_elements.plist index 1e9da9d..7fdd161 100644 --- a/test/assets/test_data_elements.plist +++ b/test/assets/test_data_elements.plist @@ -20,5 +20,7 @@ <data>BAhvOhZNYXJzaGFsYWJsZU9iamVjdAY6CUBmb28iHnRoaXMgb2JqZWN0IHdh cyBtYXJzaGFsZWQ= </data> + <key>nodata</key> + <data/> </dict> </plist> |