| 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