class XcodeProject::BuildPhaseNode
Public Class Methods
new(root, uuid, data)
click to toggle source
Calls superclass method
# File lib/xcodeproject/build_phase_node.rb, line 30 def initialize(root, uuid, data) super(root, uuid, data) @files = data['files'] end
Public Instance Methods
add_file(file_obj)
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 39 def add_file(file_obj) case file_obj when PBXFileReference add_build_file(file_obj.uuid) when PBXBuildFile add_build_file_uuid(file_obj.uuid) else raise ArgumentError, 'Wrong argument type, expected the PBXFileReference or PBXBuildFile.' end end
doctor()
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 61 def doctor @files.each do |uuid| obj = root.object(uuid) if obj.nil? remove_build_file_uuid(uuid) puts "removed #{uuid}" end end end
files()
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 35 def files build_files.map(&:file_ref) end
remove_file(file_obj)
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 50 def remove_file(file_obj) case file_obj when PBXFileReference remove_build_file(file_obj.uuid) when PBXBuildFile remove_build_file_uuid(file_obj.uuid) else raise ArgumentError, 'Wrong argument type, expected the PBXFileReference or PBXBuildFile.' end end
Private Instance Methods
add_build_file(file_ref_uuid)
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 81 def add_build_file(file_ref_uuid) obj = build_file(file_ref_uuid) if obj.nil? obj = PBXBuildFile.add(root, file_ref_uuid) add_build_file_uuid(obj.uuid) end obj end
add_build_file_uuid(build_file_uuid)
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 95 def add_build_file_uuid(build_file_uuid) @files << build_file_uuid unless @files.include?(build_file_uuid) end
build_file(file_ref_uuid)
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 77 def build_file(file_ref_uuid) build_files.select { |obj| obj.file_ref.uuid == file_ref_uuid }.first end
build_files()
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 73 def build_files @files.map { |uuid| root.object!(uuid) } end
remove_build_file(file_ref_uuid)
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 90 def remove_build_file(file_ref_uuid) obj = build_file(file_ref_uuid) remove_build_file_uuid(obj.uuid) unless obj.nil? end
remove_build_file_uuid(build_file_uuid)
click to toggle source
# File lib/xcodeproject/build_phase_node.rb, line 99 def remove_build_file_uuid(build_file_uuid) @files.delete(build_file_uuid) end