Document CaskLoader.
				
					
				
			This commit is contained in:
		
							parent
							
								
									f54f3ba96d
								
							
						
					
					
						commit
						5c47f531a0
					
				@ -4,7 +4,11 @@ require "cask/cask"
 | 
				
			|||||||
require "uri"
 | 
					require "uri"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module Cask
 | 
					module Cask
 | 
				
			||||||
 | 
					  # Loads a cask from various sources.
 | 
				
			||||||
 | 
					  #
 | 
				
			||||||
 | 
					  # @api private
 | 
				
			||||||
  module CaskLoader
 | 
					  module CaskLoader
 | 
				
			||||||
 | 
					    # Loads a cask from a string.
 | 
				
			||||||
    class FromContentLoader
 | 
					    class FromContentLoader
 | 
				
			||||||
      attr_reader :content
 | 
					      attr_reader :content
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -36,6 +40,7 @@ module Cask
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Loads a cask from a path.
 | 
				
			||||||
    class FromPathLoader < FromContentLoader
 | 
					    class FromPathLoader < FromContentLoader
 | 
				
			||||||
      def self.can_load?(ref)
 | 
					      def self.can_load?(ref)
 | 
				
			||||||
        path = Pathname(ref)
 | 
					        path = Pathname(ref)
 | 
				
			||||||
@ -76,6 +81,7 @@ module Cask
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Loads a cask from a URI.
 | 
				
			||||||
    class FromURILoader < FromPathLoader
 | 
					    class FromURILoader < FromPathLoader
 | 
				
			||||||
      def self.can_load?(ref)
 | 
					      def self.can_load?(ref)
 | 
				
			||||||
        uri_regex = ::URI::DEFAULT_PARSER.make_regexp
 | 
					        uri_regex = ::URI::DEFAULT_PARSER.make_regexp
 | 
				
			||||||
@ -109,6 +115,7 @@ module Cask
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Loads a cask from a tap path.
 | 
				
			||||||
    class FromTapPathLoader < FromPathLoader
 | 
					    class FromTapPathLoader < FromPathLoader
 | 
				
			||||||
      def self.can_load?(ref)
 | 
					      def self.can_load?(ref)
 | 
				
			||||||
        super && !Tap.from_path(ref).nil?
 | 
					        super && !Tap.from_path(ref).nil?
 | 
				
			||||||
@ -128,6 +135,7 @@ module Cask
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Loads a cask from a specific tap.
 | 
				
			||||||
    class FromTapLoader < FromTapPathLoader
 | 
					    class FromTapLoader < FromTapPathLoader
 | 
				
			||||||
      def self.can_load?(ref)
 | 
					      def self.can_load?(ref)
 | 
				
			||||||
        ref.to_s.match?(HOMEBREW_TAP_CASK_REGEX)
 | 
					        ref.to_s.match?(HOMEBREW_TAP_CASK_REGEX)
 | 
				
			||||||
@ -145,6 +153,7 @@ module Cask
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Loads a cask from an existing {Cask} instance.
 | 
				
			||||||
    class FromInstanceLoader
 | 
					    class FromInstanceLoader
 | 
				
			||||||
      attr_reader :cask
 | 
					      attr_reader :cask
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -161,6 +170,7 @@ module Cask
 | 
				
			|||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Pseudo-loader which raises an error when trying to load the corresponding cask.
 | 
				
			||||||
    class NullLoader < FromPathLoader
 | 
					    class NullLoader < FromPathLoader
 | 
				
			||||||
      def self.can_load?(*)
 | 
					      def self.can_load?(*)
 | 
				
			||||||
        true
 | 
					        true
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user