Class: ZergXcode::Objects::PBXProject
- Inherits:
-
XcodeObject
- Object
- XcodeObject
- ZergXcode::Objects::PBXProject
- Defined in:
- lib/zerg_xcode/objects/pbx_project.rb
Overview
The root object in the Xcode object graph.
Defined Under Namespace
Modules: FileVisitor
Instance Attribute Summary collapse
-
#source_filename ⇒ Object
Used to implement save!.
Attributes inherited from XcodeObject
Instance Method Summary collapse
-
#all_files ⇒ Object
All the files referenced by the project.
-
#copy_metadata(source) ⇒ Object
:nodoc: override to copy the new metadata.
-
#root_path ⇒ Object
The root path of the project.
-
#save! ⇒ Object
Saves a project that was loaded by ZergXcode.load.
-
#xref_name ⇒ Object
:nodoc: override xref_name because PBXProject is a singleton.
Methods inherited from XcodeObject
#[], #[]=, #_attr_hash, #attrs, from, #initialize, #isa, new, #shallow_copy, #visit, #visit_array, #visit_hash, #visit_once, #visit_value, #xref_key
Constructor Details
This class inherits a constructor from ZergXcode::XcodeObject
Instance Attribute Details
#source_filename ⇒ Object
Used to implement save!
4 5 6 |
# File 'lib/zerg_xcode/objects/pbx_project.rb', line 4 def source_filename @source_filename end |
Instance Method Details
#all_files ⇒ Object
All the files referenced by the project.
24 25 26 27 28 29 |
# File 'lib/zerg_xcode/objects/pbx_project.rb', line 24 def all_files files = [] project_root = self['projectRoot'].empty? ? '.' : self['projectRoot'] FileVisitor.visit self['mainGroup'], project_root, files files end |
#copy_metadata(source) ⇒ Object
:nodoc: override to copy the new metadata
7 8 9 10 |
# File 'lib/zerg_xcode/objects/pbx_project.rb', line 7 def (source) super self.source_filename = source.source_filename end |
#root_path ⇒ Object
The root path of the project.
19 20 21 |
# File 'lib/zerg_xcode/objects/pbx_project.rb', line 19 def root_path ZergXcode::Paths.project_root_at source_filename end |
#save! ⇒ Object
Saves a project that was loaded by ZergXcode.load
13 14 15 16 |
# File 'lib/zerg_xcode/objects/pbx_project.rb', line 13 def save! raise 'Project not loaded by ZergXcode.load' unless @source_filename ZergXcode.dump self, @source_filename end |
#xref_name ⇒ Object
:nodoc: override xref_name because PBXProject is a singleton
32 33 34 |
# File 'lib/zerg_xcode/objects/pbx_project.rb', line 32 def xref_name isa.to_s end |