aggkit 0.4.5.12711 → 0.4.5.12925
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/bin/aggmerge +25 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3950616bd877f083d95f58db6c1a5eb033ffe375be3b80d7b92c24bb309beb86
|
4
|
+
data.tar.gz: d6b2b40d76a67e9e6f630fafc8d6739a0ceac1374c364fce76b875b199aa60bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9dd3a92b921e51cd9292caf4f02eb450fc992fb25d779a46d3942630d5f47b7a98f688374b117bae4f4fb440a493003db6ffe4d0f408ca83f758442e23b6abdf
|
7
|
+
data.tar.gz: 460930faa6ebf351b2001a5f58caed260f2ea505284580e148f8279e6d38ffb902094e5f4a765341691cda9165fd888e810db882e9b460142ebd66398d6f8f62
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
aggkit (0.4.5.
|
4
|
+
aggkit (0.4.5.12925)
|
5
5
|
diplomat
|
6
6
|
dotenv
|
7
7
|
json
|
@@ -18,7 +18,7 @@ GEM
|
|
18
18
|
deep_merge (~> 1.0, >= 1.0.1)
|
19
19
|
faraday (~> 0.9)
|
20
20
|
docile (1.3.1)
|
21
|
-
dotenv (2.7.
|
21
|
+
dotenv (2.7.4)
|
22
22
|
faraday (0.15.4)
|
23
23
|
multipart-post (>= 1.2, < 3)
|
24
24
|
json (2.2.0)
|
data/bin/aggmerge
CHANGED
@@ -29,7 +29,31 @@ class Array
|
|
29
29
|
|
30
30
|
end
|
31
31
|
|
32
|
+
def smart_array_merge(first, second)
|
33
|
+
# FV:["FIELD1", "FIELD2", "FIELD3=3", "FIELD4=4"]
|
34
|
+
# SV:["FIELD2=2", "FIELD4=44"]
|
35
|
+
# RESULT:["FIELD1", "FIELD2=2", "FIELD3=3", "FIELD4=44"]
|
36
|
+
|
37
|
+
vmap = first.each_with_object({}) do |value, vmap|
|
38
|
+
k = value
|
39
|
+
k, v = value.split('=') rescue nil
|
40
|
+
vmap[k] = v
|
41
|
+
end
|
42
|
+
|
43
|
+
second.each_with_object(vmap) do |value, vmap|
|
44
|
+
k = value
|
45
|
+
k, v = value.split('=') rescue nil
|
46
|
+
vmap[k] = v
|
47
|
+
end
|
32
48
|
|
49
|
+
vmap.each_with_object([]) do |(k, v), result|
|
50
|
+
result << if v
|
51
|
+
"#{k}=#{v}"
|
52
|
+
else
|
53
|
+
k
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
33
57
|
|
34
58
|
def extend_hash(first, second)
|
35
59
|
raise ArgumentError.new('First and second args equal nil') if [first, second].all? &:nil?
|
@@ -50,8 +74,7 @@ def extend_hash(first, second)
|
|
50
74
|
elsif fv.is_a? Hash
|
51
75
|
extend_hash(fv, sv)
|
52
76
|
elsif fv.is_a? Array
|
53
|
-
fv
|
54
|
-
first[fk] = fv
|
77
|
+
first[fk] = smart_array_merge(fv, sv)
|
55
78
|
else
|
56
79
|
first[fk] = sv
|
57
80
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aggkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.5.
|
4
|
+
version: 0.4.5.12925
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Godko Ivan
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-06-
|
12
|
+
date: 2019-06-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: diplomat
|