class RXCode::Environment
Represents an XCode
environment rooted at a particular path in a filesystem – typically a project/workspace root directory.
Attributes
preferences[R]
Public Class Methods
new(root)
click to toggle source
# File lib/rxcode/environment.rb, line 9 def initialize(root) @root = root @preferences = Preferences.new end
Public Instance Methods
global_derived_data_location()
click to toggle source
name()
click to toggle source
# File lib/rxcode/environment.rb, line 18 def name File.basename(root) end
workspace()
click to toggle source
workspace_path()
click to toggle source
# File lib/rxcode/environment.rb, line 41 def workspace_path workspace_paths = Dir[File.join(self.root, '*.xcworkspace')] preferred_workspace_path = File.join(root, "#{name}.xcworkspace") if workspace_paths.include?(preferred_workspace_path) preferred_workspace_path elsif workspace_paths.length == 1 workspace_paths.first else project_paths = Dir[File.join(self.root, '*.xcodeproj')] preferred_project_path = File.join(root, "#{name}.xcodeproj") project_path = if project_paths.include?(preferred_project_path) preferred_project_path elsif project_paths.length == 1 project_paths.first end if project_path project_workspace_path = File.join(project_path, 'project.xcworkspace') if RXCode::Workspace.is_workspace_at_path?(project_workspace_path) project_workspace_path end end end end