class Phoenx::GenerateWorkspace

Public Class Methods

new(workspace) click to toggle source
# File lib/phoenx/use_cases/generate_workspace.rb, line 9
def initialize(workspace)
        @workspace = workspace
        @project_files = []
end

Public Instance Methods

generate() click to toggle source
# File lib/phoenx/use_cases/generate_workspace.rb, line 47
def generate
        self.generate_projects
        self.generate_workspace
end
generate_project(name, value) click to toggle source
# File lib/phoenx/use_cases/generate_workspace.rb, line 22
def generate_project(name, value)
        path = value
        if path == nil
                path = '.'
        end
        abort "Missing project folder ".red + path.bold unless Dir.exists?(path)
        Dir.chdir(path) do
                file_name = name + '.' + PROJECT_EXTENSION
                specs = Dir[file_name]
                puts "> Project ".green + name.bold
                abort "Missing project specification ".red + (path + file_name).bold unless specs.first
                file = File.read(specs.first)
                spec = eval(file)
                generator = Phoenx::GenerateProject.new spec
                generator.build
        end
end
generate_projects() click to toggle source
# File lib/phoenx/use_cases/generate_workspace.rb, line 40
def generate_projects
        @workspace.generated_projects.each do |key,value| 
                self.generate_project(key,value)
        end
        self.generate_project(@workspace.main_project_name,@workspace.main_project_path)
end
generate_workspace() click to toggle source
# File lib/phoenx/use_cases/generate_workspace.rb, line 14
def generate_workspace
        workspace = Xcodeproj::Workspace.new(@workspace.main_project_path + @workspace.main_project_name + "." + XCODE_PROJECT_EXTENSION)
        @workspace.projects.each do |key,value| 
                workspace << value + key + "." + XCODE_PROJECT_EXTENSION
        end
        workspace.save_as(@workspace.name + "." + XCODE_WORKSPACE_EXTENSION)
end