sell_object 0.1.1 → 0.1.2

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: 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