lib/peddler/parser.rb in peddler-0.7.5 vs lib/peddler/parser.rb in peddler-0.7.6
- old
+ new
@@ -1,21 +1,25 @@
-require 'peddler/csv_parser'
+require 'peddler/flat_file_parser'
require 'peddler/xml_parser'
module Peddler
# @api private
module Parser
- def self.parse(res)
- # Don't parse if there's no body
- return res unless res.body
+ class << self
+ # The inevitable messiness of massaging data produced by a motley army of
+ # Amazon developers
+ def parse(res, encoding = 'ISO-8859-1')
+ # Don't parse if there's no body
+ return res unless res.body
- case res.headers['Content-Type']
- when 'text/xml'
- XMLParser.new(res)
- when 'application/octet-stream'
- CSVParser.new(res)
- else
- raise NotImplementedError
+ case res.headers['Content-Type']
+ when 'text/xml'
+ XMLParser.new(res)
+ when 'application/octet-stream'
+ FlatFileParser.new(res, encoding)
+ else
+ raise NotImplementedError
+ end
end
end
end
end