lib/xcodeproj/scheme/macro_expansion.rb
module Xcodeproj class XCScheme # This class wraps the MacroExpansion node of a .xcscheme XML file # class MacroExpansion < XMLElementWrapper # @param [Xcodeproj::Project::Object::AbstractTarget, REXML::Element] target_or_node # Either the Xcode target to reference, # or an existing XML 'MacroExpansion' node element # or nil to create an empty MacroExpansion object # def initialize(target_or_node = nil) create_xml_element_with_fallback(target_or_node, 'MacroExpansion') do self.buildable_reference = BuildableReference.new(target_or_node) if target_or_node end end # @return [BuildableReference] # The BuildableReference this MacroExpansion refers to # def buildable_reference @buildable_reference ||= BuildableReference.new @xml_element.elements['BuildableReference'] end # @param [BuildableReference] ref # Set the BuildableReference this MacroExpansion refers to # def buildable_reference=(ref) @xml_element.delete_element('BuildableReference') @xml_element.add_element(ref.xml_element) @buildable_reference = ref end end end end