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.new("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 {|obj| obj.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.new("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