diff options
author | James Maki <jmaki@multitech.com> | 2010-05-10 14:26:36 -0500 |
---|---|---|
committer | James Maki <jmaki@multitech.com> | 2010-05-10 14:26:36 -0500 |
commit | 9ba8adf164b316a3d6914b3b187f371f6e19066d (patch) | |
tree | cc4579c4141b42ed51cd25a4beb1ae733d8f03ac /contrib/smsweb/smswsc/phonebook_entry.rb | |
parent | 088fee0dd65a2d11dfac58afec8871b3a3cfc376 (diff) | |
download | sms-utils-9ba8adf164b316a3d6914b3b187f371f6e19066d.tar.gz sms-utils-9ba8adf164b316a3d6914b3b187f371f6e19066d.tar.bz2 sms-utils-9ba8adf164b316a3d6914b3b187f371f6e19066d.zip |
Add sms web service example0.0.3
Diffstat (limited to 'contrib/smsweb/smswsc/phonebook_entry.rb')
-rw-r--r-- | contrib/smsweb/smswsc/phonebook_entry.rb | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/contrib/smsweb/smswsc/phonebook_entry.rb b/contrib/smsweb/smswsc/phonebook_entry.rb new file mode 100644 index 0000000..ef13bc4 --- /dev/null +++ b/contrib/smsweb/smswsc/phonebook_entry.rb @@ -0,0 +1,56 @@ +require 'smswsc/builder' +require 'rexml/document' + +module SMSWSC + + class PhonebookEntry + attr_accessor :name + attr_accessor :addr_type + attr_accessor :addr + attr_accessor :uri + + def initialize(options = {}) + @addr_type = options["addr-type"] + @addr = options["addr"] + @name = options["name"] + end + + def uri=(value) + @uri = value + end + + def self.load_xml(parent) + entry = PhonebookEntry.new + + parent.each_element do |element| + case element.name + when "addr-type" + entry.addr_type = element.text.to_s + when "addr" + entry.addr = element.text.to_s + when "name" + entry.name = element.text.to_s + when "uri" + entry.uri = URI.parse(element.text.to_s) + end + end + + return entry + end + + def to_xml(builder = nil, element = "phonebook-entry") + xml = "" + unless builder + builder = SMSWSC.new_builder(xml) + end + + builder.tag!(element.to_s) { + builder.tag! "addr-type", @addr_type + builder.tag! "addr", @addr + builder.tag! "name", @name + } + + return xml + end + end +end |