Class | BoxGrinder::ApplianceTransformationHelper |
In: |
lib/boxgrinder-core/helpers/appliance-transformation-helper.rb
lib/boxgrinder-core/helpers/appliance-transformation-helper.rb |
Parent: | Object |
# File lib/boxgrinder-core/helpers/appliance-transformation-helper.rb, line 23 23: def initialize(latest_schema_version, options = {}) 24: @latest_schema_version = latest_schema_version 25: @log = options[:log] || LogHelper.new 26: 27: @versions = ['0.9.0'] 28: end
# File lib/boxgrinder-core/helpers/appliance-transformation-helper.rb, line 23 23: def initialize(latest_schema_version, options = {}) 24: @latest_schema_version = latest_schema_version 25: @log = options[:log] || LogHelper.new 26: 27: @versions = ['0.9.0'] 28: end
# File lib/boxgrinder-core/helpers/appliance-transformation-helper.rb, line 51 51: def to_0_9_0(appliance_definition) 52: packages = appliance_definition['packages']['includes'] 53: @log.warn "BoxGrinder no longer supports package exclusion, the following packages will be not be explicitly excluded: #{appliance_definition['packages']['excludes'].join(", ")}." unless appliance_definition['packages']['excludes'].nil? 54: appliance_definition['packages'] = packages 55: appliance_definition 56: end
# File lib/boxgrinder-core/helpers/appliance-transformation-helper.rb, line 51 51: def to_0_9_0(appliance_definition) 52: packages = appliance_definition['packages']['includes'] 53: @log.warn "BoxGrinder no longer supports package exclusion, the following packages will be not be explicitly excluded: #{appliance_definition['packages']['excludes'].join(", ")}." unless appliance_definition['packages']['excludes'].nil? 54: appliance_definition['packages'] = packages 55: appliance_definition 56: end
# File lib/boxgrinder-core/helpers/appliance-transformation-helper.rb, line 30 30: def transform(appliance_definition, version) 31: return appliance_definition if version == @latest_schema_version 32: 33: @log.debug "Transforming appliance definition from schema version #{version} to #{@latest_schema_version}..." 34: 35: transformations = [version] 36: definition = appliance_definition 37: 38: @versions.each do |v| 39: if (transformations.last <=> v) < 0 40: @log.trace "Round #{transformations.size}: transforming from version #{transformations.last} to #{v}..." 41: definition = self.send("to_#{v.gsub(/[-\.]/, '_')}", definition) 42: transformations << v 43: end 44: end 45: 46: @log.debug "Following transformation were applied: #{transformations.join(' => ')}." if transformations.size > 1 47: 48: definition 49: end
# File lib/boxgrinder-core/helpers/appliance-transformation-helper.rb, line 30 30: def transform(appliance_definition, version) 31: return appliance_definition if version == @latest_schema_version 32: 33: @log.debug "Transforming appliance definition from schema version #{version} to #{@latest_schema_version}..." 34: 35: transformations = [version] 36: definition = appliance_definition 37: 38: @versions.each do |v| 39: if (transformations.last <=> v) < 0 40: @log.trace "Round #{transformations.size}: transforming from version #{transformations.last} to #{v}..." 41: definition = self.send("to_#{v.gsub(/[-\.]/, '_')}", definition) 42: transformations << v 43: end 44: end 45: 46: @log.debug "Following transformation were applied: #{transformations.join(' => ')}." if transformations.size > 1 47: 48: definition 49: end