class IngramMicro::Transmission
Constants
- XSD
Attributes
errors[R]
transaction_name[R]
Public Class Methods
new(options={})
click to toggle source
# File lib/ingram_micro/transmission.rb, line 16 def initialize(options={}) @errors = [] end
Public Instance Methods
add_transaction_info(builder)
click to toggle source
# File lib/ingram_micro/transmission.rb, line 41 def add_transaction_info(builder) builder.send('transactionInfo') do builder.send('eventID') end end
order_builder()
click to toggle source
# File lib/ingram_micro/transmission.rb, line 32 def order_builder warn '[DEPRECATION] `order_builder` is deprecated. Please use `xml_builder` instead.' xml_builder end
schema_valid?()
click to toggle source
# File lib/ingram_micro/transmission.rb, line 20 def schema_valid? xsd = Nokogiri::XML::Schema(File.read("#{IngramMicro::GEM_DIR}/xsd/" + XSD[self.class::TRANSMISSION_FILENAME])) valid = true xsd.validate(self.xml_builder.doc).each do |error| errors << error.message valid = false end errors.each { |error| puts 'XML VALIDATION ERROR: ' + error } valid end
send_request()
click to toggle source
# File lib/ingram_micro/transmission.rb, line 51 def send_request client = IngramMicro::Client.new client.post(self.xml_builder.to_xml) end
submit_request()
click to toggle source
# File lib/ingram_micro/transmission.rb, line 47 def submit_request send_request if schema_valid? end
xml_builder()
click to toggle source
# File lib/ingram_micro/transmission.rb, line 37 def xml_builder raise Exception('xml_builder needs to be implemented in subclass') end