Class: AddressValidate::API::Request
- Inherits:
-
Object
- Object
- AddressValidate::API::Request
- Defined in:
- lib/address_validate/api/request.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Class Method Summary collapse
Instance Method Summary collapse
- #build_address ⇒ Object
- #build_node(name, text, attrs = {}) ⇒ Object
- #build_xml ⇒ Object
-
#initialize(data) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(data) ⇒ Request
Returns a new instance of Request.
10 11 12 |
# File 'lib/address_validate/api/request.rb', line 10 def initialize(data) @data = data end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
4 5 6 |
# File 'lib/address_validate/api/request.rb', line 4 def data @data end |
Class Method Details
.build_xml(data) ⇒ Object
6 7 8 |
# File 'lib/address_validate/api/request.rb', line 6 def self.build_xml(data) new(data).build_xml end |
Instance Method Details
#build_address ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/address_validate/api/request.rb', line 28 def build_address address = build_node('Address', nil, { 'ID' => 0 }) AddressValidate.address_fields_map.each do |field, name| address << build_node(field, data[name]) end address end |
#build_node(name, text, attrs = {}) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/address_validate/api/request.rb', line 21 def build_node(name, text, attrs={}) node = Ox::Element.new(name) attrs.each { |key, value| node[key] = value } node << text if text node end |
#build_xml ⇒ Object
14 15 16 17 18 19 |
# File 'lib/address_validate/api/request.rb', line 14 def build_xml request_xml = build_node('AddressValidateRequest', nil, { 'USERID' => AddressValidate.username }) request_xml << build_address Ox.dump(request_xml) end |