sell_object 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 09cfa3111029269d2de49015107dc4356f4546b9
4
- data.tar.gz: 1187acae1c1f531e57d48ec4d4dc4abd5ffca2f8
3
+ metadata.gz: da85f99159ce4c36f9be708eb2208dcd30e6c45a
4
+ data.tar.gz: 2c5d0aab6824b7e617896a1ed173b5530b8d5931
5
5
  SHA512:
6
- metadata.gz: 8ccacd502ef044d66c56a746f46c16e0a3260ae1ffdad9d9a4ba4fdba13475cc2c86ce468598d3178fcfbbfd347ef3b110dc389aec6a0c4675d61b4f0d0ae8fa
7
- data.tar.gz: f02f70851f8b11212d84ade0abeec683caeaff2b7d89323f407326be9f9027224bca581df4577eafb00046d463f3990a992659e20dd23daebbfe6265f77f00ff
6
+ metadata.gz: b35b7ab3b4064f943c1f29cd9db34c5cc876e972e1ecddffb3c4735b8495389677478bfbb659523603836c9e57658d1498116bcfe46a4f166cb0a333da0e9d91
7
+ data.tar.gz: 8460e203227ef009263dd9cfa93a45e63aa5dff44bb4df5a018ef3e3c4b07d349b5f2389fa99e5ee8cf38bea032acd472fb6ee1d1d033827edb3e1479e34827d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
1
  ## v0.1.0
2
2
 
3
- * initial release with shopping engines: ShoppingUOL (Brazil) and Buscape (Brazil)
3
+ * initial release with shopping engines: ShoppingUOL (Brazil) and Buscape (Brazil)
4
+
5
+ ## v0.1.2
6
+
7
+ * Using Nokogiri to build all the XMLs
@@ -7,15 +7,15 @@ module SellObject
7
7
  def self.wrap_xml(elements, store_name = nil)
8
8
  store_name ||= SellObject::Config.store_name
9
9
  raise ArgumentError, 'No store name found (nil). You have to either pass it as an argument or set it up in SellObject::Config' if store_name.nil?
10
- %Q{
11
- <?xml version="1.0" encoding="UTF-8" ?>
12
- <!-- #{timestamp} -->
13
- <#{store_name}>
14
- <produtos>
15
- #{elements}
16
- </produtos>
17
- </#{store_name}>
18
- }
10
+ result = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
11
+ xml.comment timestamp
12
+ xml.send(store_name) {
13
+ xml.produtos do
14
+ xml << elements
15
+ end
16
+ }
17
+ end
18
+ result.to_xml
19
19
  end
20
20
 
21
21
  def self.timestamp
@@ -5,13 +5,14 @@ module SellObject
5
5
  end
6
6
 
7
7
  def self.wrap_xml(elements)
8
- %Q{
9
- <?xml version="1.0" encoding="iso-8859-1" ?>
10
- <PRODUTOS>
11
- #{elements}
12
- </PRODUTOS>
13
- }
14
- end
8
+ result = Nokogiri::XML::Builder.new(encoding: 'iso-8859-1') do |xml|
9
+ xml.PRODUTOS {
10
+ xml << elements
11
+ }
12
+ end
13
+ result.to_xml
14
+ end
15
+
15
16
  module ClassMethods
16
17
  # Class methods added on inclusion
17
18
 
@@ -1,3 +1,3 @@
1
1
  module SellObject
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -1,5 +1,3 @@
1
- require 'nokogiri'
2
-
3
1
  module SellObject
4
2
  module XmlFormatter
5
3
  def self.format(obj, engine, xml_root, formatter_proxy = nil)
data/lib/sell_object.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'nokogiri'
2
+
1
3
  require 'sell_object/version'
2
4
  require 'sell_object/default_mappings'
3
5
  require 'sell_object/xml_formatter'
@@ -44,7 +44,7 @@ describe SellObject::Buscape do
44
44
  it 'inserts the timestamp into the xml' do
45
45
  timestamp = Time.now.to_s
46
46
  subject.stub(:timestamp).and_return '2014-03-29 13:28:32 -0300'
47
- expect(subject.wrap_xml 'xml elements').to include '<!-- 2014-03-29 13:28:32 -0300 -->'
47
+ expect(subject.wrap_xml 'xml elements').to include '<!--2014-03-29 13:28:32 -0300-->'
48
48
  end
49
49
 
50
50
  it 'inserts the given elements inside the <produtos> tag' do
@@ -1,7 +1,7 @@
1
1
  module EngineMacros
2
2
  module Buscape
3
3
  DEFAULT_MAPPING_FIXTURE_ONE = %q{
4
- <?xml version="1.0" encoding="UTF-8" ?>
4
+ <?xml version="1.0" encoding="UTF-8"?>
5
5
  <awesome_store>
6
6
  <produtos>
7
7
  <produto>
@@ -17,7 +17,7 @@ module EngineMacros
17
17
  }
18
18
 
19
19
  DEFAULT_MAPPING_FIXTURE_MANY = %q{
20
- <?xml version="1.0" encoding="UTF-8" ?>
20
+ <?xml version="1.0" encoding="UTF-8"?>
21
21
  <awesome_store>
22
22
  <produtos>
23
23
  <produto>
@@ -41,7 +41,7 @@ module EngineMacros
41
41
  }
42
42
 
43
43
  CUSTOM_MAPPING_FIXTURE_MANY = %q{
44
- <?xml version="1.0" encoding="UTF-8" ?>
44
+ <?xml version="1.0" encoding="UTF-8"?>
45
45
  <awesome_store>
46
46
  <produtos>
47
47
  <produto>
@@ -67,7 +67,7 @@ module EngineMacros
67
67
 
68
68
  module ShoppingUol
69
69
  DEFAULT_MAPPING_FIXTURE_ONE = %q{
70
- <?xml version="1.0" encoding="iso-8859-1" ?>
70
+ <?xml version="1.0" encoding="iso-8859-1"?>
71
71
  <PRODUTOS>
72
72
  <PRODUTO>
73
73
  <CODIGO>PR1</CODIGO>
@@ -81,7 +81,7 @@ module EngineMacros
81
81
  }
82
82
 
83
83
  DEFAULT_MAPPING_FIXTURE_MANY = %q{
84
- <?xml version="1.0" encoding="iso-8859-1" ?>
84
+ <?xml version="1.0" encoding="iso-8859-1"?>
85
85
  <PRODUTOS>
86
86
  <PRODUTO>
87
87
  <CODIGO>PR1</CODIGO>
@@ -103,7 +103,7 @@ module EngineMacros
103
103
  }
104
104
 
105
105
  CUSTOM_MAPPING_FIXTURE_MANY = %q{
106
- <?xml version="1.0" encoding="iso-8859-1" ?>
106
+ <?xml version="1.0" encoding="iso-8859-1"?>
107
107
  <PRODUTOS>
108
108
  <PRODUTO>
109
109
  <CODIGO>PR1</CODIGO>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sell_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Ferraz