Sha256: 55c7dc304bd228b62277750cfa4b56a7c57de825854c39ff5a40bba88bf56c93
Contents?: true
Size: 1.56 KB
Versions: 1
Compression:
Stored size: 1.56 KB
Contents
module Dcgen class App attr_accessor :master, :destination def initialize @metadata = {} end def validate_directories @master = File.join(Dir.pwd,@master) @destination = File.join(Dir.pwd,@destination) raise ArgumentError, "#{@master} dir not found" if not Dir.exists? @master raise ArgumentError, "#{@destination} dir not found" if not Dir.exists? @destination raise ArgumentError, "#{@master} package.xml not found" if not File.exists? File.join(@master,'package.xml') raise ArgumentError, "#{@destination} package.xml not found" if not File.exists? File.join(@destination,'package.xml') end def generate_xml # Generate destructive change dc_erb_tpl = File.open(File.join(File.dirname(__FILE__),'..','..','tpl','destructiveChanges.xml.erb')).read renderer = ERB.new(dc_erb_tpl,0,'>') File.open('destructiveChanges.xml','w') do |file| file.write renderer.result(binding) end puts "info: destructiveChanges.xml successfully generated" end def generate_destructive_changes # Validate directories validate_directories # Load plugins and build metadata variables plugins = Dir.glob(File.dirname(__FILE__) + "/plugins/*" ) plugins.each do |plugin| require_relative plugin plugin_name = plugin.match(/^.*\/(.*).rb$/)[1] @metadata[plugin_name.to_sym] = eval "Dcgen::#{plugin_name} @master, @destination" end # Generate the template and write to file generate_xml end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
salesforce-dcgen-0.0.2 | lib/dcgen/app.rb |