Class BoxGrinder::ApplianceTransformationHelper
In: lib/boxgrinder-core/helpers/appliance-transformation-helper.rb
lib/boxgrinder-core/helpers/appliance-transformation-helper.rb
Parent: Object

Methods

new   new   to_0_9_0   to_0_9_0   transform   transform  

Public Class methods

[Source]

    # 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

[Source]

    # 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

Public Instance methods

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Validate]