mozenda 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +40 -1
- data/lib/mozenda.rb +2 -0
- data/lib/mozenda/version.rb +1 -1
- data/lib/mozenda/xml_generator.rb +23 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 616013269f0c42edbfbabbd9db33e5a855df3061
|
4
|
+
data.tar.gz: b475359d6d9fd1019267bfe2c91793827ff8de25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6410c9d21de9478883cf6ed4f727034cf7afe1de2845fd9ae65f4c5055a2b438e1cb5faf73267370a9b5b919f937099d3dab1eddf2869b687066cf895bf8e242
|
7
|
+
data.tar.gz: 46678c3cbb503e6e260e8e73e146fec05169accc41731f3cf040568e9fea0ab11d4fcd7d60e97bf1e9bd21545c2a61b5ab17cd04e12a198411bc04124781a26b
|
data/README.md
CHANGED
@@ -80,7 +80,46 @@ agent.run(optional_params, {
|
|
80
80
|
:job_ended => Mozenda::ReplacementValues::JOB_ENDED
|
81
81
|
}
|
82
82
|
})
|
83
|
-
```
|
83
|
+
```
|
84
|
+
|
85
|
+
To generate XML file for bulk Collection.AddItem:
|
86
|
+
```ruby
|
87
|
+
data = [
|
88
|
+
{
|
89
|
+
'Name' => "Bob",
|
90
|
+
"Age" => 12
|
91
|
+
},
|
92
|
+
{
|
93
|
+
'Name' => "Ed",
|
94
|
+
"Age" => 99
|
95
|
+
},
|
96
|
+
{
|
97
|
+
'Name' => "Kate",
|
98
|
+
"Age" => 23
|
99
|
+
}
|
100
|
+
]
|
101
|
+
xml_generator = Mozenda::XmlGenerator.new(data)
|
102
|
+
xml = xml_generator.generate
|
103
|
+
```
|
104
|
+
|
105
|
+
result XML:
|
106
|
+
```xml
|
107
|
+
<?xml version="1.0" encoding="utf-8"?>
|
108
|
+
<ItemList>
|
109
|
+
<Item>
|
110
|
+
<Name>Bob</Name>
|
111
|
+
<Age>12</Age>
|
112
|
+
</Item>
|
113
|
+
<Item>
|
114
|
+
<Name>Ed</Name>
|
115
|
+
<Age>99</Age>
|
116
|
+
</Item>
|
117
|
+
<Item>
|
118
|
+
<Name>Kate</Name>
|
119
|
+
<Age>23</Age>
|
120
|
+
</Item>
|
121
|
+
</ItemList>
|
122
|
+
```
|
84
123
|
|
85
124
|
## TODO
|
86
125
|
* Implement requests-per-minute limit.
|
data/lib/mozenda.rb
CHANGED
@@ -3,12 +3,14 @@ require 'uri'
|
|
3
3
|
require 'pathname'
|
4
4
|
require 'active_support/core_ext/string/inflections'
|
5
5
|
require 'faraday'
|
6
|
+
require 'nokogiri'
|
6
7
|
require 'nori'
|
7
8
|
|
8
9
|
require "mozenda/version"
|
9
10
|
require "mozenda/exception"
|
10
11
|
require "mozenda/configuration"
|
11
12
|
require "mozenda/replacement_values"
|
13
|
+
require "mozenda/xml_generator"
|
12
14
|
require "mozenda/infrastructure"
|
13
15
|
require "mozenda/request"
|
14
16
|
require "mozenda/response"
|
data/lib/mozenda/version.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
class Mozenda::XmlGenerator
|
2
|
+
|
3
|
+
def initialize data
|
4
|
+
@data = data
|
5
|
+
end
|
6
|
+
|
7
|
+
def generate
|
8
|
+
builder = ::Nokogiri::XML::Builder.new(encoding: 'utf-8') do |xml|
|
9
|
+
xml.ItemList do
|
10
|
+
@data.each do |hash|
|
11
|
+
xml.Item do
|
12
|
+
hash.each_pair do |tag_name, value|
|
13
|
+
xml.send(:"#{tag_name}", value)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
xml = builder.to_xml
|
20
|
+
xml.encode(xml.encoding, :universal_newline => true)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mozenda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Woloszun
|
@@ -129,6 +129,7 @@ files:
|
|
129
129
|
- lib/mozenda/response/collection_add_item.rb
|
130
130
|
- lib/mozenda/response/collection_clear.rb
|
131
131
|
- lib/mozenda/version.rb
|
132
|
+
- lib/mozenda/xml_generator.rb
|
132
133
|
- mozenda.gemspec
|
133
134
|
homepage: https://github.com/pwoloszun/mozenda
|
134
135
|
licenses:
|