salesforce-dcgen 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/README.md +1 -0
- data/bin/dcgen +5 -0
- data/lib/dcgen/app.rb +7 -5
- data/lib/dcgen/plugins/apexclass.rb +6 -4
- data/lib/dcgen/plugins/apexpage.rb +6 -4
- data/lib/dcgen/plugins/apextrigger.rb +6 -4
- data/lib/dcgen/plugins/approvalprocess.rb +6 -4
- data/lib/dcgen/plugins/customfield.rb +7 -4
- data/lib/dcgen/plugins/customobject.rb +6 -4
- data/lib/dcgen/plugins/group.rb +6 -4
- data/lib/dcgen/plugins/label.rb +7 -4
- data/lib/dcgen/plugins/layout.rb +6 -4
- data/lib/dcgen/plugins/permissionset.rb +6 -4
- data/lib/dcgen/plugins/validationrule.rb +46 -0
- data/lib/dcgen/plugins/workflowfieldupdate.rb +6 -4
- data/lib/dcgen/plugins/workflowrule.rb +6 -4
- data/lib/dcgen/version.rb +1 -1
- data/tpl/destructiveChanges.xml.erb +8 -0
- metadata +4 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 686ce608e7d06544dda1e2547578f930ef572215
         | 
| 4 | 
            +
              data.tar.gz: df46fd772d024595c3ae6d5c0c95b1804ac20017
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3490e33b42da93499da6b6f97974a886abd09f7d127fbb04fb2d1b6f9785c64daec937300412ed067789d0758d7d250518f9ceb5109e33de452b95e5b8592af3
         | 
| 7 | 
            +
              data.tar.gz: 773cf02f3fcc331ba4e131ebee6900e084d8d6f89671d1e4f704e07f0eab7ecad9cca7a9e4b877fd59f7bcdad747c924093678489c59cf2f59524da8d44a08e9
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    
    
        data/bin/dcgen
    CHANGED
    
    | @@ -10,6 +10,10 @@ parser = OptionParser.new do |opts| | |
| 10 10 |  | 
| 11 11 | 
             
              opts.banner = 'Usage: dcgen [options]'
         | 
| 12 12 |  | 
| 13 | 
            +
              opts.on('-q', '--quiet', 'Disable verbose output') do |dir|
         | 
| 14 | 
            +
                options[:quiet] = dir
         | 
| 15 | 
            +
              end
         | 
| 16 | 
            +
             | 
| 13 17 | 
             
              opts.on('-m', '--master dir', 'Source dir') do |dir|
         | 
| 14 18 | 
             
                options[:master] = dir
         | 
| 15 19 | 
             
              end
         | 
| @@ -64,6 +68,7 @@ end | |
| 64 68 | 
             
            begin
         | 
| 65 69 | 
             
              dcgen = Dcgen::App.new
         | 
| 66 70 |  | 
| 71 | 
            +
              dcgen.verbose = ! options[:quiet]
         | 
| 67 72 | 
             
              dcgen.master = options[:master]
         | 
| 68 73 | 
             
              dcgen.destination = options[:destination]
         | 
| 69 74 | 
             
              dcgen.output = options[:output] if not options[:output].nil?
         | 
    
        data/lib/dcgen/app.rb
    CHANGED
    
    | @@ -1,10 +1,11 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 | 
             
              class App
         | 
| 3 3 |  | 
| 4 | 
            -
                attr_accessor :master, :destination, :output, :exclude
         | 
| 4 | 
            +
                attr_accessor :master, :destination, :output, :exclude, :verbose
         | 
| 5 5 |  | 
| 6 6 | 
             
                def initialize 
         | 
| 7 7 |  | 
| 8 | 
            +
                  @verbose = true
         | 
| 8 9 | 
             
                  @metadata = {}
         | 
| 9 10 | 
             
                  @exclude = []
         | 
| 10 11 |  | 
| @@ -36,8 +37,8 @@ File generated: | |
| 36 37 | 
             
            ===============
         | 
| 37 38 |  | 
| 38 39 | 
             
            #{out_file}
         | 
| 39 | 
            -
             | 
| 40 | 
            -
            " | 
| 40 | 
            +
             | 
| 41 | 
            +
            " if @verbose
         | 
| 41 42 |  | 
| 42 43 | 
             
                end
         | 
| 43 44 |  | 
| @@ -64,16 +65,17 @@ Changes detected: | |
| 64 65 | 
             
                  validate_directories
         | 
| 65 66 |  | 
| 66 67 | 
             
                  # header output
         | 
| 67 | 
            -
                  print_header
         | 
| 68 | 
            +
                  print_header if @verbose
         | 
| 68 69 |  | 
| 69 70 | 
             
                  # Load plugins and build metadata variables
         | 
| 70 71 | 
             
                  plugins = Dir.glob(File.dirname(__FILE__) + "/plugins/*" )
         | 
| 71 72 |  | 
| 72 73 | 
             
                  plugins.each do |plugin|
         | 
| 74 | 
            +
             | 
| 73 75 | 
             
                    require_relative plugin
         | 
| 74 76 |  | 
| 75 77 | 
             
                    plugin_name = plugin.match(/^.*\/(.*).rb$/)[1]
         | 
| 76 | 
            -
                    plugin_metadata = eval "Dcgen::#{plugin_name} @master, @destination"
         | 
| 78 | 
            +
                    plugin_metadata = eval "Dcgen::#{plugin_name} @master, @destination, @verbose"
         | 
| 77 79 | 
             
                    @metadata[plugin_name.to_sym] = plugin_metadata - @exclude unless plugin_metadata.nil?
         | 
| 78 80 |  | 
| 79 81 | 
             
                  end
         | 
| @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.apexclass master , destination
         | 
| 3 | 
            +
              def self.apexclass master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_classes = Dir.glob(master + '/classes/*cls').map {|c| c.match(/^.*\/(.*).cls$/)[1] }
         | 
| 6 6 | 
             
                destination_classes = Dir.glob(destination + '/classes/*cls').map {|c| c.match(/^.*\/(.*).cls$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_classes = destination_classes - master_classes
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "ApexClasses:" if not remove_classes.empty?
         | 
| 12 | 
            +
                  remove_classes.each do |apexclass|
         | 
| 13 | 
            +
                    puts "  #{apexclass}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_classes
         | 
| @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.apexpage master , destination
         | 
| 3 | 
            +
              def self.apexpage master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_pages = Dir.glob(master + '/pages/*page').map {|c| c.match(/^.*\/(.*).page$/)[1] }
         | 
| 6 6 | 
             
                destination_pages = Dir.glob(destination + '/pages/*page').map {|c| c.match(/^.*\/(.*).page$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_pages = destination_pages - master_pages
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "ApexPages:" if not remove_pages.empty?
         | 
| 12 | 
            +
                  remove_pages.each do |aplexpage|
         | 
| 13 | 
            +
                    puts "  #{aplexpage}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_pages
         | 
| @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.apextrigger master , destination
         | 
| 3 | 
            +
              def self.apextrigger master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_triggers = Dir.glob(master + '/triggers/*trigger').map {|c| c.match(/^.*\/(.*).trigger$/)[1] }
         | 
| 6 6 | 
             
                destination_triggers = Dir.glob(destination + '/triggers/*trigger').map {|c| c.match(/^.*\/(.*).trigger$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_triggers = destination_triggers - master_triggers
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "ApexTriggers:" if not remove_triggers.empty?
         | 
| 12 | 
            +
                  remove_triggers.each do |apextrigger|
         | 
| 13 | 
            +
                    puts "  #{apextrigger}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_triggers
         | 
| @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.approvalprocess master , destination
         | 
| 3 | 
            +
              def self.approvalprocess master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_approvalprocess = Dir.glob(master + '/approvalProcesses/*approvalProcess').map {|c| c.match(/^.*\/(.*).approvalProcess$/)[1] }
         | 
| 6 6 | 
             
                destination_approvalprocess = Dir.glob(destination + '/approvalProcesses/*approvalProcess').map {|c| c.match(/^.*\/(.*).approvalProcess$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_approvalprocess = destination_approvalprocess - master_approvalprocess
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "ApprovalProcesses:" if not remove_approvalprocess.empty?
         | 
| 12 | 
            +
                  remove_approvalprocess.each do |approvalprocess|
         | 
| 13 | 
            +
                    puts "  #{approvalprocess}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_approvalprocess
         | 
| @@ -2,7 +2,7 @@ require 'nokogiri' | |
| 2 2 |  | 
| 3 3 | 
             
            module Dcgen
         | 
| 4 4 |  | 
| 5 | 
            -
              def self.customfield master , destination
         | 
| 5 | 
            +
              def self.customfield master , destination, output = true
         | 
| 6 6 |  | 
| 7 7 | 
             
                remove_customfields = []
         | 
| 8 8 |  | 
| @@ -31,9 +31,12 @@ module Dcgen | |
| 31 31 |  | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| 34 | 
            -
                 | 
| 35 | 
            -
                 | 
| 36 | 
            -
                  puts " | 
| 34 | 
            +
                
         | 
| 35 | 
            +
                if output
         | 
| 36 | 
            +
                  puts "CustomFields:" if not remove_customfields.empty?
         | 
| 37 | 
            +
                  remove_customfields.each do |customfield|
         | 
| 38 | 
            +
                    puts "  #{customfield}"
         | 
| 39 | 
            +
                  end
         | 
| 37 40 | 
             
                end
         | 
| 38 41 |  | 
| 39 42 | 
             
                remove_customfields
         | 
| @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.customobject master , destination
         | 
| 3 | 
            +
              def self.customobject master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_customobject = Dir.glob(master + '/objects/*object').map {|c| c.match(/^.*\/(.*).object$/)[1] }
         | 
| 6 6 | 
             
                destination_customobject = Dir.glob(destination + '/objects/*object').map {|c| c.match(/^.*\/(.*).object$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_customobject = destination_customobject - master_customobject
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "CustomObjects:" if not remove_customobject.empty?
         | 
| 12 | 
            +
                  remove_customobject.each do |customobject|
         | 
| 13 | 
            +
                    puts "  #{customobject}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_customobject
         | 
    
        data/lib/dcgen/plugins/group.rb
    CHANGED
    
    | @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.group master , destination
         | 
| 3 | 
            +
              def self.group master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_groups = Dir.glob(master + '/groups/*group').map {|c| c.match(/^.*\/(.*).group$/)[1] }
         | 
| 6 6 | 
             
                destination_groups = Dir.glob(destination + '/groups/*group').map {|c| c.match(/^.*\/(.*).group$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_groups = destination_groups - master_groups
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "Groups:" if not remove_groups.empty?
         | 
| 12 | 
            +
                  remove_groups.each do |group|
         | 
| 13 | 
            +
                    puts "  #{group}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_groups
         | 
    
        data/lib/dcgen/plugins/label.rb
    CHANGED
    
    | @@ -2,7 +2,7 @@ require 'nokogiri' | |
| 2 2 |  | 
| 3 3 | 
             
            module Dcgen
         | 
| 4 4 |  | 
| 5 | 
            -
              def self.label master , destination
         | 
| 5 | 
            +
              def self.label master , destination, output = true
         | 
| 6 6 |  | 
| 7 7 | 
             
                remove_labels = []
         | 
| 8 8 |  | 
| @@ -31,9 +31,12 @@ module Dcgen | |
| 31 31 |  | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| 34 | 
            -
                 | 
| 35 | 
            -
                 | 
| 36 | 
            -
                  puts " | 
| 34 | 
            +
                
         | 
| 35 | 
            +
                if output
         | 
| 36 | 
            +
                  puts "Labels:" if not remove_labels.empty?
         | 
| 37 | 
            +
                  remove_labels.each do |label|
         | 
| 38 | 
            +
                    puts "  #{label}"
         | 
| 39 | 
            +
                  end
         | 
| 37 40 | 
             
                end
         | 
| 38 41 |  | 
| 39 42 | 
             
                remove_labels
         | 
    
        data/lib/dcgen/plugins/layout.rb
    CHANGED
    
    | @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.layout master , destination
         | 
| 3 | 
            +
              def self.layout master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_layout = Dir.glob(master + '/layouts/*layout').map {|c| c.match(/^.*\/(.*).layout$/)[1] }
         | 
| 6 6 | 
             
                destination_layout = Dir.glob(destination + '/layouts/*layout').map {|c| c.match(/^.*\/(.*).layout$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_layout = destination_layout - master_layout
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "Layouts:" if not remove_layout.empty?
         | 
| 12 | 
            +
                  remove_layout.each do |layout|
         | 
| 13 | 
            +
                    puts "  #{layout}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_layout
         | 
| @@ -1,15 +1,17 @@ | |
| 1 1 | 
             
            module Dcgen
         | 
| 2 2 |  | 
| 3 | 
            -
              def self.permissionset master , destination
         | 
| 3 | 
            +
              def self.permissionset master , destination, output = true
         | 
| 4 4 |  | 
| 5 5 | 
             
                master_permissionset = Dir.glob(master + '/permissionsets/*permissionset').map {|c| c.match(/^.*\/(.*).permissionset$/)[1] }
         | 
| 6 6 | 
             
                destination_permissionset = Dir.glob(destination + '/permissionsets/*permissionset').map {|c| c.match(/^.*\/(.*).permissionset$/)[1] }
         | 
| 7 7 |  | 
| 8 8 | 
             
                remove_permissionset = destination_permissionset - master_permissionset
         | 
| 9 9 |  | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                   | 
| 10 | 
            +
                if output
         | 
| 11 | 
            +
                  puts "PermissionSets:" if not remove_permissionset.empty?
         | 
| 12 | 
            +
                  remove_permissionset.each do |permissionset|
         | 
| 13 | 
            +
                    puts "  #{permissionset}"
         | 
| 14 | 
            +
                  end
         | 
| 13 15 | 
             
                end
         | 
| 14 16 |  | 
| 15 17 | 
             
                remove_permissionset
         | 
| @@ -0,0 +1,46 @@ | |
| 1 | 
            +
            require 'nokogiri'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Dcgen
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              def self.validationrule master , destination, output = true
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                remove_validationrules = []
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                master_obj = Dir.glob(master + '/objects/*object').map {|c| c.match(/^.*\/(.*).object$/)[1] }
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                master_obj.each do |obj|
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  master_obj_file = File.join(master,'objects',obj + '.object')
         | 
| 14 | 
            +
                  destination_obj_file = File.join(destination,'objects',obj + '.object')
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  if File.exists? destination_obj_file
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                    master_obj_xml = File.open(master_obj_file).read
         | 
| 19 | 
            +
                    destination_obj_xml = File.open(destination_obj_file).read
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                    master_obj_xml = Nokogiri::XML(master_obj_xml).remove_namespaces!
         | 
| 22 | 
            +
                    destination_obj_xml = Nokogiri::XML(destination_obj_xml).remove_namespaces!
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                    # Find all the customfields that are in destination, if they are not present in
         | 
| 25 | 
            +
                    # master, then they have to be in the remove list
         | 
| 26 | 
            +
                    destination_obj_xml.xpath('//validationRules/fullName').each do |vr|
         | 
| 27 | 
            +
                      remove_validationrules << "#{obj}.#{vr.text}" if master_obj_xml.xpath("//validationRules[fullName=\"#{vr.text}\"]").empty?
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                
         | 
| 35 | 
            +
                if output
         | 
| 36 | 
            +
                  puts "ValidationRules:" if not remove_validationrules.empty?
         | 
| 37 | 
            +
                  remove_validationrules.each do |obj|
         | 
| 38 | 
            +
                    puts "  #{obj}"
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                remove_validationrules
         | 
| 43 | 
            +
             | 
| 44 | 
            +
              end
         | 
| 45 | 
            +
            end
         | 
| 46 | 
            +
             | 
| @@ -2,7 +2,7 @@ require 'nokogiri' | |
| 2 2 |  | 
| 3 3 | 
             
            module Dcgen
         | 
| 4 4 |  | 
| 5 | 
            -
              def self.workflowfieldupdate master , destination
         | 
| 5 | 
            +
              def self.workflowfieldupdate master , destination, output = true
         | 
| 6 6 |  | 
| 7 7 | 
             
                remove_fieldupdates = []
         | 
| 8 8 |  | 
| @@ -31,9 +31,11 @@ module Dcgen | |
| 31 31 |  | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| 34 | 
            -
                 | 
| 35 | 
            -
             | 
| 36 | 
            -
                   | 
| 34 | 
            +
                if output
         | 
| 35 | 
            +
                  puts "FieldUpdates:" if not remove_fieldupdates.empty?
         | 
| 36 | 
            +
                  remove_fieldupdates.each do |fieldupdate|
         | 
| 37 | 
            +
                    puts "  #{fieldupdate}"
         | 
| 38 | 
            +
                  end
         | 
| 37 39 | 
             
                end
         | 
| 38 40 |  | 
| 39 41 | 
             
                remove_fieldupdates
         | 
| @@ -2,7 +2,7 @@ require 'nokogiri' | |
| 2 2 |  | 
| 3 3 | 
             
            module Dcgen
         | 
| 4 4 |  | 
| 5 | 
            -
              def self.workflowrule master , destination
         | 
| 5 | 
            +
              def self.workflowrule master , destination, output = true
         | 
| 6 6 |  | 
| 7 7 | 
             
                remove_workflowrules = []
         | 
| 8 8 |  | 
| @@ -31,9 +31,11 @@ module Dcgen | |
| 31 31 |  | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| 34 | 
            -
                 | 
| 35 | 
            -
             | 
| 36 | 
            -
                   | 
| 34 | 
            +
                if output
         | 
| 35 | 
            +
                  puts "WorkflowRules:" if not remove_workflowrules.empty?
         | 
| 36 | 
            +
                  remove_workflowrules.each do |workflowrule|
         | 
| 37 | 
            +
                    puts "  #{workflowrule}"
         | 
| 38 | 
            +
                  end
         | 
| 37 39 | 
             
                end
         | 
| 38 40 |  | 
| 39 41 | 
             
                remove_workflowrules
         | 
    
        data/lib/dcgen/version.rb
    CHANGED
    
    
| @@ -88,6 +88,14 @@ | |
| 88 88 | 
             
                  <name>Layout</name>
         | 
| 89 89 | 
             
                </types>
         | 
| 90 90 | 
             
            <% end %>
         | 
| 91 | 
            +
            <% if not @metadata[:validationrule].empty? %>
         | 
| 92 | 
            +
                <types>
         | 
| 93 | 
            +
              <% for @validationrule in @metadata[:validationrule] %>
         | 
| 94 | 
            +
                  <members><%= @validationrule %></members>
         | 
| 95 | 
            +
              <% end %>
         | 
| 96 | 
            +
                  <name>ValidationRule</name>
         | 
| 97 | 
            +
                </types>
         | 
| 98 | 
            +
            <% end %>
         | 
| 91 99 | 
             
            <% if not @metadata[:customobject].empty? %>
         | 
| 92 100 | 
             
                <types>
         | 
| 93 101 | 
             
              <% for @customobject in @metadata[:customobject] %>
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: salesforce-dcgen
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Juan Breinlinger
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2015-01-08 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -78,6 +78,7 @@ files: | |
| 78 78 | 
             
            - lib/dcgen/plugins/label.rb
         | 
| 79 79 | 
             
            - lib/dcgen/plugins/layout.rb
         | 
| 80 80 | 
             
            - lib/dcgen/plugins/permissionset.rb
         | 
| 81 | 
            +
            - lib/dcgen/plugins/validationrule.rb
         | 
| 81 82 | 
             
            - lib/dcgen/plugins/workflowfieldupdate.rb
         | 
| 82 83 | 
             
            - lib/dcgen/plugins/workflowrule.rb
         | 
| 83 84 | 
             
            - lib/dcgen/version.rb
         | 
| @@ -103,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 103 104 | 
             
                  version: '0'
         | 
| 104 105 | 
             
            requirements: []
         | 
| 105 106 | 
             
            rubyforge_project: 
         | 
| 106 | 
            -
            rubygems_version: 2. | 
| 107 | 
            +
            rubygems_version: 2.4.3
         | 
| 107 108 | 
             
            signing_key: 
         | 
| 108 109 | 
             
            specification_version: 4
         | 
| 109 110 | 
             
            summary: dcgen will generate a destructiveChanges.xml by comparing two source directories
         |