Class: CapybaraScreenshotDiff::SnapManager
- Inherits:
 - 
      Object
      
        
- Object
 - CapybaraScreenshotDiff::SnapManager
 
 
- Defined in:
 - lib/capybara_screenshot_diff/snap_manager.rb
 
Instance Attribute Summary collapse
- 
  
    
      #root  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute root.
 
Class Method Summary collapse
- .cleanup! ⇒ Object
 - .instance ⇒ Object
 - .root ⇒ Object
 - .screenshots ⇒ Object
 - .snapshot(screenshot_full_name, screenshot_format = "png") ⇒ Object
 
Instance Method Summary collapse
- #abs_path_for(relative_path) ⇒ Object
 - #checkout_file(path, as_path) ⇒ Object
 - 
  
    
      #cleanup!  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
TODO: rename to delete!.
 - #cleanup_attempts!(snapshot) ⇒ Object
 - #create_output_directory_for(path = nil) ⇒ Object
 - 
  
    
      #initialize(root)  ⇒ SnapManager 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of SnapManager.
 - #move(new_screenshot_path, screenshot_path) ⇒ Object
 - #provision_snap_with(snap, path, version: :actual) ⇒ Object
 - #screenshots ⇒ Object
 - #snapshot(screenshot_full_name, screenshot_format = "png") ⇒ Object
 
Constructor Details
#initialize(root) ⇒ SnapManager
Returns a new instance of SnapManager.
      12 13 14  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 12 def initialize(root) @root = Pathname.new(root) end  | 
  
Instance Attribute Details
#root ⇒ Object (readonly)
Returns the value of attribute root.
      10 11 12  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 10 def root @root end  | 
  
Class Method Details
.cleanup! ⇒ Object
      48 49 50  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 48 def self.cleanup! instance.cleanup! end  | 
  
.instance ⇒ Object
      72 73 74  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 72 def self.instance Capybara::Screenshot::Diff.manager.new(Capybara::Screenshot.screenshot_area_abs) end  | 
  
.root ⇒ Object
      68 69 70  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 68 def self.root instance.root end  | 
  
.screenshots ⇒ Object
      64 65 66  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 64 def self.screenshots instance.screenshots end  | 
  
.snapshot(screenshot_full_name, screenshot_format = "png") ⇒ Object
      20 21 22  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 20 def self.snapshot(screenshot_full_name, screenshot_format = "png") instance.snapshot(screenshot_full_name, screenshot_format) end  | 
  
Instance Method Details
#abs_path_for(relative_path) ⇒ Object
      24 25 26  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 24 def abs_path_for(relative_path) @root / relative_path end  | 
  
#checkout_file(path, as_path) ⇒ Object
      28 29 30 31  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 28 def checkout_file(path, as_path) create_output_directory_for(as_path) unless as_path.exist? Capybara::Screenshot::Diff::Vcs.checkout_vcs(root, path, as_path) end  | 
  
#cleanup! ⇒ Object
TODO: rename to delete!
      44 45 46  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 44 def cleanup! FileUtils.rm_rf root, secure: true end  | 
  
#cleanup_attempts!(snapshot) ⇒ Object
      52 53 54  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 52 def cleanup_attempts!(snapshot) FileUtils.rm_rf snapshot.find_attempts_paths, secure: true end  | 
  
#create_output_directory_for(path = nil) ⇒ Object
      39 40 41  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 39 def create_output_directory_for(path = nil) path ? path.dirname.mkpath : root.mkpath end  | 
  
#move(new_screenshot_path, screenshot_path) ⇒ Object
      56 57 58  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 56 def move(new_screenshot_path, screenshot_path) FileUtils.mv(new_screenshot_path, screenshot_path, force: true) end  | 
  
#provision_snap_with(snap, path, version: :actual) ⇒ Object
      33 34 35 36 37  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 33 def provision_snap_with(snap, path, version: :actual) managed_path = snap.path_for(version) create_output_directory_for(managed_path) unless managed_path.exist? FileUtils.cp(path, managed_path) end  | 
  
#screenshots ⇒ Object
      60 61 62  | 
    
      # File 'lib/capybara_screenshot_diff/snap_manager.rb', line 60 def screenshots root.children.map { |f| f.basename.to_s } end  |