Class: Phoenx::GenerateWorkspace
- Inherits:
-
Object
- Object
- Phoenx::GenerateWorkspace
- Defined in:
- lib/phoenx/use_cases/generate_workspace.rb
Instance Method Summary collapse
- #generate ⇒ Object
- #generate_project(name, value) ⇒ Object
- #generate_projects ⇒ Object
- #generate_workspace ⇒ Object
-
#initialize(workspace) ⇒ GenerateWorkspace
constructor
A new instance of GenerateWorkspace.
Constructor Details
#initialize(workspace) ⇒ GenerateWorkspace
Returns a new instance of GenerateWorkspace.
10 11 12 13 14 15 |
# File 'lib/phoenx/use_cases/generate_workspace.rb', line 10 def initialize(workspace) @workspace = workspace @project_files = [] end |
Instance Method Details
#generate ⇒ Object
73 74 75 76 77 78 |
# File 'lib/phoenx/use_cases/generate_workspace.rb', line 73 def generate self.generate_projects self.generate_workspace end |
#generate_project(name, value) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/phoenx/use_cases/generate_workspace.rb', line 31 def generate_project(name, value) path = value if path == nil path = '.' end previous = Dir.pwd Dir.chdir(path) do specs = Dir[name + '.' + PROJECT_EXTENSION] puts "Processing ".green + specs.first.bold file = File.read(specs.first) spec = eval(file) generator = Phoenx::GenerateProject.new spec generator.build end # Monkey patch due to bug in Xcode 8 that prevents chdir to switch back to previous dir Dir.cp_chdir previous end |
#generate_projects ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/phoenx/use_cases/generate_workspace.rb', line 61 def generate_projects @workspace.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 ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/phoenx/use_cases/generate_workspace.rb', line 17 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 |