Class: Pod::Generator::Header
- Inherits:
 - 
      Object
      
        
- Object
 - Pod::Generator::Header
 
 
- Defined in:
 - lib/cocoapods/generator/header.rb
 
Overview
Generates a header file.
According to the platform the header imports ‘UIKit/UIKit.h` or `Cocoa/Cocoa.h`.
Direct Known Subclasses
Instance Attribute Summary collapse
- 
  
    
      #imports  ⇒ Array<String> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    
The list of the headers to import.
 - 
  
    
      #module_imports  ⇒ Array<String> 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The list of the modules to import.
 - 
  
    
      #platform  ⇒ Symbol 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The platform for which the prefix header will be generated.
 
Instance Method Summary collapse
- 
  
    
      #generate  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
Generates the contents of the header according to the platform.
 - 
  
    
      #initialize(platform)  ⇒ Header 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Initialize a new instance.
 - 
  
    
      #save_as(path)  ⇒ void 
    
    
  
  
  
  
  
  
  
  
  
    
Generates and saves the header to the given path.
 
Constructor Details
#initialize(platform) ⇒ Header
Initialize a new instance
      27 28 29 30 31  | 
    
      # File 'lib/cocoapods/generator/header.rb', line 27 def initialize(platform) @platform = platform @imports = [] @module_imports = [] end  | 
  
Instance Attribute Details
#imports ⇒ Array<String>
Returns The list of the headers to import.
      16 17 18  | 
    
      # File 'lib/cocoapods/generator/header.rb', line 16 def imports @imports end  | 
  
#module_imports ⇒ Array<String> (readonly)
Returns The list of the modules to import.
      20 21 22  | 
    
      # File 'lib/cocoapods/generator/header.rb', line 20 def module_imports @module_imports end  | 
  
#platform ⇒ Symbol (readonly)
Returns the platform for which the prefix header will be generated.
      12 13 14  | 
    
      # File 'lib/cocoapods/generator/header.rb', line 12 def platform @platform end  | 
  
Instance Method Details
#generate ⇒ String
If the platform is iOS an import call to ‘UIKit/UIKit.h` is added to the top of the prefix header. For OS X `Cocoa/Cocoa.h` is imported.
Generates the contents of the header according to the platform.
      41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68  | 
    
      # File 'lib/cocoapods/generator/header.rb', line 41 def generate result = '' result << "#ifdef __OBJC__\n" result << generate_platform_import_header result << "#else\n" result << "#ifndef FOUNDATION_EXPORT\n" result << "#if defined(__cplusplus)\n" result << "#define FOUNDATION_EXPORT extern \"C\"\n" result << "#else\n" result << "#define FOUNDATION_EXPORT extern\n" result << "#endif\n" result << "#endif\n" result << "#endif\n" result << "\n" imports.each do |import| result << %(#import "#{import}"\n) end unless module_imports.empty? module_imports.each do |import| result << %(\n@import #{import}) end result << "\n" end result end  | 
  
#save_as(path) ⇒ void
This method returns an undefined value.
Generates and saves the header to the given path.
      77 78 79  | 
    
      # File 'lib/cocoapods/generator/header.rb', line 77 def save_as(path) path.open('w') { |header| header.write(generate) } end  |