jsonx 0.2.3 → 0.3.0

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: 8164d5e06dffd753cb2022ec4c03b66c612755e4
4
- data.tar.gz: d8828773b49e32d62e54aa21399fe821c9c3c324
3
+ metadata.gz: 14b705397a992fbb32300cf56082f307159bc798
4
+ data.tar.gz: a7fbec75a3f41d5ffc50b70e814b391fa9a9b28b
5
5
  SHA512:
6
- metadata.gz: 2f4a06a5ffbf83a415aa2a558c2fc8acbfc7c460668829846cb0a4f2f1f67cf6abbd3ec7fee728018a830b20323482dc65abfe7039501b7de43fd5ff668632a6
7
- data.tar.gz: d9e9fc53560648903e04a32a0f881768caf0919f5f1ccf7eb8771286202c6cd746400e857c1842e0654cf50b4e656c76a2284b0206531865ccae1a7957344242
6
+ metadata.gz: fffc92a6508940d67bc81880e8672cb66714e623c84e1f8db2ce01fc11cb6a7769fa9cb575edd2d79720a11315bce89f45cb3d111e518a24539b409abf476c9a
7
+ data.tar.gz: 1e067e33e87eedb108db51a80a0b4a0b3842c536ebb5dad86c59772e8bcf0479c5fcf512b2003126cb3666c16e866b181c23821312067b87a7373577ca399bd2
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -24,7 +24,6 @@ class JSONx
24
24
  json_to_jsonx obj # transform the hash
25
25
  end
26
26
 
27
-
28
27
  end
29
28
 
30
29
  alias to_jsonx to_s
@@ -35,31 +34,34 @@ class JSONx
35
34
  def json_to_jsonx(h)
36
35
 
37
36
  types = {
38
- Hash: ->(k, h){
37
+
38
+ Hash: ->(k, h) {
39
39
  type = 'json:object'
40
- [type, '', (k.empty? ? {} : {name: k}),
40
+ [type, (k.empty? ? {} : {name: k}), '',
41
41
  *h.map {|k2,v| types[v.class.to_s.to_sym].call(k2, v)}
42
42
  ]
43
43
  },
44
44
  FalseClass: ->(k, b){ ['json:boolean',
45
- b.to_s, k.empty? ? {} : {name: k}]},
45
+ k.empty? ? {} : {name: k}, b.to_s ]},
46
46
  TrueClass: ->(k, b){ ['json:boolean',
47
- b.to_s, k.empty? ? {} : {name: k}]},
48
- Fixnum: ->(k, n){ ['json:number', n, k.empty? ? {} : {name: k}]},
49
- Float: ->(k, n){ ['json:number', n, k.empty? ? {} : {name: k}]},
50
- NilClass: ->(k, n){ ['json:null', '', k.empty? ? {} : {name: k}]},
51
- String: ->(k, s){ ['json:string', s, k.empty? ? {} : {name: k}]},
47
+ k.empty? ? {} : {name: k}, b.to_s]},
48
+ Fixnum: ->(k, n){ ['json:number', k.empty? ? {} : {name: k}, n]},
49
+ Float: ->(k, n){ ['json:number', k.empty? ? {} : {name: k}, n]},
50
+ NilClass: ->(k, n){ ['json:null', k.empty? ? {} : {name: k}, '']},
51
+ String: ->(k, s){ ['json:string', k.empty? ? {} : {name: k}, s]},
52
52
  Array: ->(k, a){
53
- ['json:array', '', {name: k},
53
+ ['json:array', {name: k}, '',
54
54
  *a.map{|y| types[y.class.to_s.to_sym].call('', y)}
55
55
  ]
56
56
  }
57
+
57
58
  }
58
59
 
59
60
  a = types[:Hash].call '', h
60
61
  a[2] = {'xsi:schemaLocation' => "http://www.datapower.com/schemas/json jsonx.xsd",
61
62
  'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance",
62
63
  'xmlns:json' => "http://www.ibm.com/xmlns/prod/2009/jsonx"}
64
+
63
65
  @to_s = Rexle.new(a).xml pretty: true
64
66
  end
65
67
 
@@ -68,6 +70,7 @@ class JSONx
68
70
  doc = Rexle.new xml
69
71
 
70
72
  types = {
73
+
71
74
  boolean: ->(e){ e.text.downcase == 'true' },
72
75
  string: ->(e){ e.text },
73
76
  null: ->(e){ nil },
@@ -81,6 +84,7 @@ class JSONx
81
84
  end
82
85
  }
83
86
  }
87
+
84
88
  @to_json = types[:object].call(doc.root).to_json
85
89
 
86
90
  end
@@ -92,4 +96,4 @@ if __FILE__ == $0 then
92
96
 
93
97
  JSONx.new(ARGV[0]).to_s
94
98
 
95
- end
99
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsonx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  oqIfSIJniA/rq0qM/Bhn+dpcKTcPQZtx+xFxMoZ25KJWupSNDOi8rtKUyPTNPrqu
32
32
  6j3yoPh2uEBjKA==
33
33
  -----END CERTIFICATE-----
34
- date: 2014-09-27 00:00:00.000000000 Z
34
+ date: 2015-02-02 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rexle
@@ -39,20 +39,20 @@ dependencies:
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '1.0'
42
+ version: '1.2'
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- version: 1.0.24
45
+ version: 1.2.1
46
46
  type: :runtime
47
47
  prerelease: false
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
- version: '1.0'
52
+ version: '1.2'
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: 1.0.24
55
+ version: 1.2.1
56
56
  description:
57
57
  email: james@r0bertson.co.uk
58
58
  executables: []
metadata.gz.sig CHANGED
Binary file