Class: Foreman::Thor::Actions::CreateLink
- Inherits:
 - 
      CreateFile
      
        
- Object
 - EmptyDirectory
 - CreateFile
 - Foreman::Thor::Actions::CreateLink
 
 
- Defined in:
 - lib/foreman/vendor/thor/lib/thor/actions/create_link.rb
 
Overview
CreateLink is a subset of CreateFile, which instead of taking a block of data, just takes a source string from the user.
Instance Attribute Summary collapse
- 
  
    
      #data  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
:nodoc:.
 
Attributes inherited from EmptyDirectory
#base, #config, #destination, #given_destination, #relative_destination
Instance Method Summary collapse
- #exists? ⇒ Boolean
 - 
  
    
      #identical?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Checks if the content of the file at the destination is identical to the rendered result.
 - #invoke! ⇒ Object
 
Methods inherited from CreateFile
Methods inherited from EmptyDirectory
Constructor Details
This class inherits a constructor from Foreman::Thor::Actions::CreateFile
Instance Attribute Details
#data ⇒ Object (readonly)
:nodoc:
      28 29 30  | 
    
      # File 'lib/foreman/vendor/thor/lib/thor/actions/create_link.rb', line 28 def data @data end  | 
  
Instance Method Details
#exists? ⇒ Boolean
      54 55 56  | 
    
      # File 'lib/foreman/vendor/thor/lib/thor/actions/create_link.rb', line 54 def exists? super || File.symlink?(destination) end  | 
  
#identical? ⇒ Boolean
Checks if the content of the file at the destination is identical to the rendered result.
Returns
- Boolean
 - 
true if it is identical, false otherwise.
 
      35 36 37  | 
    
      # File 'lib/foreman/vendor/thor/lib/thor/actions/create_link.rb', line 35 def identical? exists? && File.identical?(render, destination) end  | 
  
#invoke! ⇒ Object
      39 40 41 42 43 44 45 46 47 48 49 50 51 52  | 
    
      # File 'lib/foreman/vendor/thor/lib/thor/actions/create_link.rb', line 39 def invoke! invoke_with_conflict_check do FileUtils.mkdir_p(File.dirname(destination)) # Create a symlink by default config[:symbolic] = true if config[:symbolic].nil? File.unlink(destination) if exists? if config[:symbolic] File.symlink(render, destination) else File.link(render, destination) end end given_destination end  |