class Zeno::Solution

Attributes

name[R]
path[R]

Public Class Methods

new(opts) click to toggle source
# File lib/zeno/solution.rb, line 32
def initialize(opts)
  @name = opts['name']
  @basepath = opts['path']
  @ref = opts['ref']
  @libs = opts['libs']
  @path = "#{@basepath}/#{@name}"
  @apps = opts['apps']
  @target = opts['target']
  @uploader = opts['uploader']

  raise Zeno::ApplicationAlreadyExistsError if File.directory? @path
end

Public Instance Methods

create() click to toggle source
# File lib/zeno/solution.rb, line 45
def create
  FileUtils.mkdir_p @path unless File.directory? @path
  Dir.chdir @path

  version = Zeno.parse_target(@ref)
  etaos_path = "etaos-#{version}"
  Zeno.download(Dir.pwd, @ref)

  # Create applications
  @apps.each do |app|
    application = Zeno::Application.new(app, etaos_path, @libs, @target, @uploader)
    application.create
    application.generate
  end
end