Sha256: 28547cba0c563afce14213fdbaa381d5504667218441e8a7733d3e9f20d324f4

Contents?: true

Size: 1.08 KB

Versions: 5

Compression:

Stored size: 1.08 KB

Contents

module Ovaltine
  class XcodeProject
    class PBXGroup < PBXObject

      def self.create name
        self.new(PBXObject.create_uuid, {
          "children" => [],
          "name" => name,
          "sourceTree" => "<group>"
        })
      end

      def add_object obj
        unless self["children"].include?(obj.uuid)
          self["children"] << obj.uuid
        end
      end

      def children recursive=false
        children = self.project_file.objects_with_uuids self["children"]

        if recursive
          subgroups = PBXObject.filter children, { "isa" => "PBXGroup" }
          subgroups.each { |subgroup| children << subgroup.children(true) }
        end

        children.flatten
      end
    end

    class PBXSourcesBuildPhase < PBXObject; end
    class PBXFrameworksBuildPhase < PBXObject; end
    class PBXResourcesBuildPhase < PBXObject; end
    class PBXNativeTarget < PBXObject; end
    class PBXProject < PBXObject; end
    class PBXContainerItemProxy < PBXObject; end
    class PBXReferenceProxy < PBXObject; end
    class XCBuildConfiguration < PBXObject; end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ovaltine-1.1.1 lib/ovaltine/xcode_project/pbxgroup.rb
ovaltine-1.1.0 lib/ovaltine/xcode_project/pbxgroup.rb
ovaltine-1.0.6 lib/ovaltine/xcode_project/pbxgroup.rb
ovaltine-1.0.5 lib/ovaltine/xcode_project/pbxgroup.rb
ovaltine-1.0.4 lib/ovaltine/xcode_project/pbxgroup.rb