class AmazonFeedValidator::FeedValidator
Constants
- XSDDIR
Attributes
errors[R]
feed[R]
options[R]
Public Class Methods
new(feed, **options)
click to toggle source
# File lib/amazon_feed_validator/feed_validator.rb, line 7 def initialize(feed, **options) @feed = Nokogiri::XML feed @options = Hashie::Mash.new options end
Public Instance Methods
validate()
click to toggle source
# File lib/amazon_feed_validator/feed_validator.rb, line 12 def validate @errors = Nokogiri::XML::Schema(xsd_file(options.name)) .validate(feed) .map(&:to_s) errors.empty? end
Private Instance Methods
sanitize_name(name)
click to toggle source
# File lib/amazon_feed_validator/feed_validator.rb, line 31 def sanitize_name(name) name ||= 'Product.xsd' name = "#{name}.xsd" unless name.include? '.xsd' name end
xsd_file(name)
click to toggle source
# File lib/amazon_feed_validator/feed_validator.rb, line 21 def xsd_file(name) file = File.read File.expand_path sanitize_name(name), XSDDIR # Replace schema location references with ones pointing to local xsd # files file.gsub! \ 'schemaLocation="', "schemaLocation=\"#{XSDDIR}/" end