Class: Foreman::Thor::Actions::InjectIntoFile
- Inherits:
- 
      EmptyDirectory
      
        - Object
- EmptyDirectory
- Foreman::Thor::Actions::InjectIntoFile
 
- Defined in:
- lib/foreman/vendor/thor/lib/thor/actions/inject_into_file.rb
Overview
:nodoc:
Instance Attribute Summary collapse
- 
  
    
      #behavior  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute behavior. 
- 
  
    
      #flag  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute flag. 
- 
  
    
      #replacement  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute replacement. 
Attributes inherited from EmptyDirectory
#base, #config, #destination, #given_destination, #relative_destination
Instance Method Summary collapse
- 
  
    
      #initialize(base, destination, data, config)  ⇒ InjectIntoFile 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of InjectIntoFile. 
- #invoke! ⇒ Object
- #revoke! ⇒ Object
Methods inherited from EmptyDirectory
Constructor Details
#initialize(base, destination, data, config) ⇒ InjectIntoFile
Returns a new instance of InjectIntoFile.
| 34 35 36 37 38 39 40 41 42 43 44 45 | # File 'lib/foreman/vendor/thor/lib/thor/actions/inject_into_file.rb', line 34 def initialize(base, destination, data, config) super(base, destination, {:verbose => true}.merge(config)) @behavior, @flag = if @config.key?(:after) [:after, @config.delete(:after)] else [:before, @config.delete(:before)] end @replacement = data.is_a?(Proc) ? data.call : data @flag = Regexp.escape(@flag) unless @flag.is_a?(Regexp) end | 
Instance Attribute Details
#behavior ⇒ Object (readonly)
Returns the value of attribute behavior.
| 32 33 34 | # File 'lib/foreman/vendor/thor/lib/thor/actions/inject_into_file.rb', line 32 def behavior @behavior end | 
#flag ⇒ Object (readonly)
Returns the value of attribute flag.
| 32 33 34 | # File 'lib/foreman/vendor/thor/lib/thor/actions/inject_into_file.rb', line 32 def flag @flag end | 
#replacement ⇒ Object (readonly)
Returns the value of attribute replacement.
| 32 33 34 | # File 'lib/foreman/vendor/thor/lib/thor/actions/inject_into_file.rb', line 32 def replacement @replacement end | 
Instance Method Details
#invoke! ⇒ Object
| 47 48 49 50 51 52 53 54 55 56 57 | # File 'lib/foreman/vendor/thor/lib/thor/actions/inject_into_file.rb', line 47 def invoke! say_status :invoke content = if @behavior == :after '\0' + replacement else replacement + '\0' end replace!(/#{flag}/, content, config[:force]) end | 
#revoke! ⇒ Object
| 59 60 61 62 63 64 65 66 67 68 69 70 71 | # File 'lib/foreman/vendor/thor/lib/thor/actions/inject_into_file.rb', line 59 def revoke! say_status :revoke regexp = if @behavior == :after content = '\1\2' /(#{flag})(.*)(#{Regexp.escape(replacement)})/m else content = '\2\3' /(#{Regexp.escape(replacement)})(.*)(#{flag})/m end replace!(regexp, content, true) end |