class Mmi::AssetsProcessor

Attributes

assets[R]
profile_dir[R]

Public Class Methods

new(profile_dir, assets) click to toggle source
# File lib/mmi/assets_processor.rb, line 8
def initialize(profile_dir, assets)
        @profile_dir = profile_dir
        
        assets ||= []
        
        if assets.is_a?(Array)
                @assets = assets.map.with_index do |asset, index|
                        source = asset['source']
                        
                        if source
                                type = source['type']
                                
                                case type
                                when 'github'
                                        Source::Github.new(source)
                                else
                                        raise Mmi::InvalidAttributeError, %Q{Invalid "source.type" in asset #{index.inspect}: #{type.inspect}}
                                end
                        else
                                raise Mmi::MissingAttributeError, %Q{Missing "source" in asset #{index.inspect}.}
                        end
                end
        else
                raise Mmi::InvalidAttributeError, %Q{Invalid "assets": expected Array or nothing, got #{self.assets.inspect}.}
        end
end

Public Instance Methods

install() click to toggle source
# File lib/mmi/assets_processor.rb, line 35
def install
        assets.each do |asset|
                asset.install(self.profile_dir)
        end
end