cloudhub_wrapper 0.0.0 → 0.1.0

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: 94ae2ab3b60ec938656f8131d542e76b884a90f8
4
- data.tar.gz: 2b1928a0a9a54efdecef13f7bfa9b4a483c354ed
3
+ metadata.gz: 2d9d6728340dfc9fab4d4073a0bebe313ff027cf
4
+ data.tar.gz: 6e577a7547456f848be36d4cd120ef731fea0149
5
5
  SHA512:
6
- metadata.gz: eec9e6d354c46612226205b141f3991ecd625478feca2c58bc952df463a6558b91d3a1d2f090c99c9c4655ae32742a31b0627962814ca5fce17a7ce12b0f2b12
7
- data.tar.gz: 24f5cf6339b79ecd53bef2fca536ddfbf396738e91adf105140bca745f0995b082d3e9cd2f7c49e1cafab5d0b05e19cbc8697983435ff58aa0bdacd9bb25b6ff
6
+ metadata.gz: 5108ebce073cfe84661272945f15ffecb82276a5afe9a2b0641a52c6f03dad3984ae7a115c78176bcca3fda7fab3ed6c06b9a45951ca3df948f68e3b6b98ba32
7
+ data.tar.gz: f2bab3a9592c1627e3037722c3c2729a3ce92eb87cd0d661c834acad5ec4ba0bad83bf099bc2a2c7532ff82d5f5c1178d0526982e2b1186f55c1d23e25e46de3
@@ -0,0 +1,13 @@
1
+ <ns0:accountInterchange interchangeControlNo='00000001' agreementName='SF.LE' senderQualifier='ZZ' senderId='LE' receiverQualifier='ZZ' receiverId='SF' interchangeDate='##time##' xmlns:ns0='##schema##'>
2
+ <ns0:account id='##email##' domain='external' type='Retail Account' creationDateTime='##time##' xmlns:ns0='##schema##'>
3
+ <ns0:address addressType='home'>
4
+ <ns0:country isoCountryCode='AU'>Australia</ns0:country>
5
+ </ns0:address>
6
+ <ns0:contact contactRole='requestor'>
7
+ <ns0:contactPreference contactVia='Email' contactOption='OptIn'/>
8
+ <ns0:channelContactPreferences>
9
+ <ns0:channelContactPreference channel='##channel##' contactOption='optIn' origin='##origin##'/>
10
+ </ns0:channelContactPreferences>
11
+ </ns0:contact>
12
+ </ns0:account>
13
+ </ns0:accountInterchange>
@@ -2,6 +2,8 @@ class CloudhubWrapper
2
2
 
3
3
  require "net/https"
4
4
  require "uri"
5
+ require "rexml/document"
6
+
5
7
 
6
8
  def initialize(endpoint, user, password)
7
9
  @endpoint = endpoint
@@ -18,8 +20,49 @@ class CloudhubWrapper
18
20
  end
19
21
 
20
22
  def build_xml(subscriber, channel, origin, schema)
21
- # build xml somehow
22
- # @xml = ApplicationController.new.render_to_string(:partial => "opt_in", :locals => {:subscriber => subscriber, :channel => channel, :origin => origin})
23
+ address_elements = [
24
+ [:address, "addressLine"],
25
+ [:suburb, "suburb"],
26
+ [:postcode, "postalcode"],
27
+ [:post_code, "postalcode"],
28
+ [:state, "state"]
29
+ ]
30
+
31
+ contact_elements = [
32
+ [:first_name, "firstName"],
33
+ [:last_name, "lastName"],
34
+ [:email, "email"],
35
+ [:mobile, "phone"],
36
+ [:phone, "phone"]
37
+ ]
38
+
39
+
40
+ doc = REXML::Document.new(File.read("data/default.xml"))
41
+ root = doc.root
42
+ address_el = root.elements[1].elements["ns0:address"]
43
+ contact_el = root.elements[1].elements["ns0:contact"]
44
+
45
+ root.add_attributes({"interchangeDate" => Time.now.to_s, "xmlns:ns0" => schema})
46
+ root.elements["ns0:account"].add_attributes({"id" => subscriber.email, "creationDateTime" => Time.now.to_s, "xmlns:ns0" => schema})
47
+ contact_el.elements["ns0:channelContactPreferences"].children[1].add_attributes({"channel" => channel, "origin" => origin })
48
+
49
+ address_elements.each do |array|
50
+ if subscriber.respond_to? array[0]
51
+ el = REXML::Element.new("ns0:#{array[1]}", address_el)
52
+ el.add_text(subscriber.send(array[0]))
53
+ end
54
+ end
55
+
56
+ contact_elements.each do |array|
57
+ if subscriber.respond_to? array[0]
58
+ el = REXML::Element.new("ns0:#{array[1]}", contact_el)
59
+ el.add_text(subscriber.send(array[0]))
60
+ end
61
+ end
62
+
63
+
64
+ @xml = doc.to_s
65
+
23
66
  end
24
67
 
25
68
  def post_xml
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudhub_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Froese
@@ -18,6 +18,7 @@ extra_rdoc_files: []
18
18
  files:
19
19
  - MIT-LICENSE
20
20
  - README.md
21
+ - data/default.xml
21
22
  - lib/cloudhub_wrapper.rb
22
23
  homepage: http://rubygems.org/gems/cloudhub_wrapper
23
24
  licenses: