refx-engine-p3lib 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6972b7f91cc98df478cda6521325d0301ae1469f
4
- data.tar.gz: e92a5501c7a5f6ab32142a1588db996849411f89
3
+ metadata.gz: 8a8d3632aa334109feb65b60bca34ad505512354
4
+ data.tar.gz: 8b7e8567e0903e373c38117bcc0e477b442477a2
5
5
  SHA512:
6
- metadata.gz: 5c63d8b3ccd2f51ffaa05deab01ca59e3cb92886dc1b6c35ec882179570abe0fa8f7bdf39c8dffb95ecd623da7c775e70efad01a6f1a875c941923b6dd4de928
7
- data.tar.gz: 7dc21c3d95848fa0e73fde2ddf6b84cf2310d40fd62b2815064cfb982a3bc53ce0ebeea7a5e052334300df366304144527059ed465bbddbf2b3b52ce38588efe
6
+ metadata.gz: 5c72ff8069b947c9858c5bb47756453fb22451a555fb00619259f3a1d8d55a05663c01e69ae272047386c15db136dc0c44ef4be5fc83239c57cbc3ca06fae122
7
+ data.tar.gz: 1febf5316ab8f5c2e11e2e7bb70f934a1b2015ec4b6d1663bd0f6156b8fa2ec5b97cd8b4e34592cfbac7061250a008a557430143265113ae0689fa5b7afeb4ea
@@ -4,7 +4,39 @@ require 'xmlsimple'
4
4
  #
5
5
  # require 'refx/engine/p3lib/p3lib_hash_from_xml'
6
6
 
7
+
8
+
9
+
7
10
  class Hash
11
+
12
+ unless defined?(XML_PARSING)
13
+ XML_PARSING = {
14
+ "symbol" => Proc.new { |symbol| symbol.to_sym },
15
+ "date" => Proc.new { |date| ::Date.parse(date) },
16
+ "datetime" => Proc.new { |time| ::Time.parse(time).utc },
17
+ "integer" => Proc.new { |integer| integer.to_i },
18
+ "float" => Proc.new { |float| float.to_f },
19
+ "decimal" => Proc.new { |number| BigDecimal(number) },
20
+ "boolean" => Proc.new { |boolean| %w(1 true).include?(boolean.strip) },
21
+ "string" => Proc.new { |string| string.to_s },
22
+ "yaml" => Proc.new { |yaml| YAML::load(yaml) rescue yaml },
23
+ "base64Binary" => Proc.new { |bin| Base64.decode64(bin) },
24
+ # FIXME: Get rid of eval and institute a proper decorator here
25
+ "file" => Proc.new do |file, entity|
26
+ f = StringIO.new(Base64.decode64(file))
27
+ eval "def f.original_filename() '#{entity["name"]}' || 'untitled' end"
28
+ eval "def f.content_type() '#{entity["content_type"]}' || 'application/octet-stream' end"
29
+ f
30
+ end
31
+ }
32
+
33
+ XML_PARSING.update(
34
+ "double" => XML_PARSING["float"],
35
+ "dateTime" => XML_PARSING["datetime"]
36
+ )
37
+ end
38
+
39
+
8
40
  def self.from_xml(xml, preserve_attributes = false)
9
41
  typecast_xml_value(self.undasherize_keys(XmlSimple.xml_in(xml,'forcearray'=>false,'forcecontent'=>true,'keeproot'=>true,'contentkey'=>'__content__')), preserve_attributes)
10
42
  end
@@ -1,7 +1,7 @@
1
1
  module Refx
2
2
  module Engine
3
3
  module P3lib
4
- VERSION = "0.0.4"
4
+ VERSION = "0.0.5"
5
5
  end
6
6
  end
7
7
  end
data/test/test_helper.rb CHANGED
@@ -3,9 +3,6 @@ require 'simplecov'
3
3
  SimpleCov.start do
4
4
  add_filter '/test/'
5
5
  add_filter '/vendor/'
6
-
7
- # add_group 'Libraries', 'lib/refx/engine/p3indesignfranchise/p3indesignfranchise'
8
- # add_group 'Rpc', 'lib/refx/engine/p3indesignfranchise'
9
6
  end
10
7
 
11
8
  require 'minitest'
@@ -15,5 +12,4 @@ require 'minitest/pride'
15
12
  require 'base64'
16
13
 
17
14
  tempdir = File.join(File.dirname(__FILE__), 'tmpout')
18
- FileUtils.rm_r tempdir
19
- Dir.mkdir tempdir
15
+ FileUtils.rm_rf(Dir.glob(tempdir+'/*'))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refx-engine-p3lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pim Snel