sapoci 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sapoci/document.rb +14 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c12055d2beee9d77786cffcaa2dffdb0b5927f39
|
4
|
+
data.tar.gz: 578dd20f749267121ddc9ac26b216b9f10e43b6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa08b4cc251910dcb87cbc66bd0946f861b47a4a09235863b2975763be6cd89425fb1cf9eb737691f3072e3237bed4057afc1f09f56c304e199d3e720dfeed03
|
7
|
+
data.tar.gz: 3697e339e894b3aa51781e3c3f8e4a9751c636397f727d5d4ba7eb8ae1794fd63fbf500ef49b70bf8d0d3a8713a8d312e55cdb796d8d2a625d4ca3de5e117aa6
|
data/lib/sapoci/document.rb
CHANGED
@@ -69,6 +69,11 @@ module SAPOCI
|
|
69
69
|
value = item_node.attribute("value").value
|
70
70
|
items[index] = Item.new(index) unless items[index]
|
71
71
|
items[index].longtext = value
|
72
|
+
elsif /NEW_ITEM-LONGTEXT(.*)\[(\d+)\]/.match(name)
|
73
|
+
index = $2.to_i - 1
|
74
|
+
value = item_node.attribute("value").value
|
75
|
+
items[index] = Item.new(index) unless items[index]
|
76
|
+
items[index].longtext = value
|
72
77
|
end
|
73
78
|
end
|
74
79
|
items.inject([]) { |memo, (_, value)| memo << value }.sort_by(&:index)
|
@@ -80,11 +85,11 @@ module SAPOCI
|
|
80
85
|
items = {}
|
81
86
|
(params || {}).each do |oci_name, oci_values|
|
82
87
|
if oci_name =~ /NEW_ITEM-/
|
83
|
-
# Parse anything but NEW_ITEM-
|
88
|
+
# Parse anything but NEW_ITEM-LONGTEXT_... (which is special, see below)
|
84
89
|
oci_values.each do |index, value|
|
85
90
|
index = index.to_i - 1 rescue next
|
86
91
|
property = /NEW_ITEM-(\w+)/.match(oci_name)[1]
|
87
|
-
next if property =~ /
|
92
|
+
next if property =~ /LONGTEXT_/ # <- notice the underscore here!
|
88
93
|
method = (property+'=').downcase.to_sym
|
89
94
|
items[index] = Item.new(index) unless items[index]
|
90
95
|
items[index].send(method, value) if items[index].respond_to?(method)
|
@@ -102,7 +107,13 @@ module SAPOCI
|
|
102
107
|
if oci_values.is_a?(Array)
|
103
108
|
# NEW_ITEM-LONGTEXT_1:132[]
|
104
109
|
items[index] = Item.new(index) unless items[index]
|
105
|
-
|
110
|
+
if oci_values.first.is_a?(Hash)
|
111
|
+
# <input type="hidden" name="NEW_ITEM-LONGTEXT_1:132[][1]" value="Longtext">
|
112
|
+
# "NEW_ITEM-LONGTEXT_1:132"=>[{"1"=>"Longtext"}]
|
113
|
+
items[index].longtext = oci_values.first.values[0]
|
114
|
+
else
|
115
|
+
items[index].longtext = oci_values.first
|
116
|
+
end
|
106
117
|
elsif oci_values.is_a?(String)
|
107
118
|
# NEW_ITEM-LONGTEXT_1:132 <= invalid but parsed!
|
108
119
|
items[index] = Item.new(index) unless items[index]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sapoci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oliver Eilhard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
version: 1.3.6
|
107
107
|
requirements: []
|
108
108
|
rubyforge_project:
|
109
|
-
rubygems_version: 2.5.
|
109
|
+
rubygems_version: 2.5.2
|
110
110
|
signing_key:
|
111
111
|
specification_version: 4
|
112
112
|
summary: SAP OCI enables users to parse SAP OCI compliant data from online shops.
|