Skip to content

Instantly share code, notes, and snippets.

@memoht
Created February 18, 2021 16:08
Show Gist options
  • Save memoht/80e195632b4f03f9082f97ad3e8fd8c8 to your computer and use it in GitHub Desktop.
Save memoht/80e195632b4f03f9082f97ad3e8fd8c8 to your computer and use it in GitHub Desktop.
Sample of XML file generation
desc "Task to generate XML file for JobG8"
task xmlbuilder_jobg8: :environment do
@bids = Bid.jg8.cpc.includes(:campaign, :job).joins(:job).merge(Job.on_trip.live)
builder = Nokogiri::XML::Builder.new do |xml|
xml.jobs {
@bids.each do |bid|
xml.job {
xml.SenderReference { xml.cdata(bid.job_jbio_no.to_s) }
xml.Position { xml.cdata(bid.job_title) }
xml.AdvertiserName { xml.cdata(bid.job_employer) }
xml.Description { xml.cdata(bid.job_content) }
xml.JobURL { xml.cdata(bid.job_jbio_url + bid.utm_source_cpc_campaign) }
xml.Location { xml.cdata(bid.job_metro_plus_country) }
xml.Classification { xml.cdata('Transport & Logistics') }
xml.Language { xml.cdata('1033') }
xml.Bid { xml.cdata(bid.campaign_price) }
}
end
}
end
File.open(Rails.root.join('public/jobg8.xml'),'w') { |f| f.write(builder.to_xml)}
Rails.logger.info "JobG8 XML feed was generated to file."
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment