Actions
Feature #2149
closedPathname#include?
    Feature #2149:
    Pathname#include?
  
Description
pre-cleaning the paths of both side of this call and seeing if the RHS exists in the LHS would be a very useful feature for Pathname users; especially those who are trying to evaluate whether or not a path (after cleanup) is a child of another.
I wrote up a basic implementation, and would be happy to bulletproof it (it doesn't handle relative paths right now, for instance) and write a more formal patch if this is an acceptable addition.
class Pathname
     def include?(other_path)
         case other_path
         when String
            other_path = Pathname.new(other_path) 
         when Pathname
         else
             raise "#{other_path.inspect}: Not a Pathname"
         end
         
         !!(self.cleanpath.to_s.index(other_path.cleanpath.to_s, 0) == 0)
     end
 end
        
           Updated by znz (Kazuhiro NISHIYAMA) over 15 years ago
          Updated by znz (Kazuhiro NISHIYAMA) over 15 years ago
          
          
        
        
      
      - Category set to lib
- Status changed from Open to Assigned
- Assignee set to akr (Akira Tanaka)
- Target version set to 2.0.0
=begin
=end
        
           Updated by yhara (Yutaka HARA) about 13 years ago
          Updated by yhara (Yutaka HARA) about 13 years ago
          
          
        
        
      
      - Description updated (diff)
- Target version changed from 2.0.0 to 2.6
        
           Updated by mame (Yusuke Endoh) about 8 years ago
          Updated by mame (Yusuke Endoh) about 8 years ago
          
          
        
        
      
      - Status changed from Assigned to Feedback
I asked akr's opinion.
He looks neutral to this proposal, but we need to work out details.  The current PoC implementation wrongly allows /foo/bar to match with /fo.  Also, we need a better name than include?, which should be more suitable to the detailed spec of the method.
        
           Updated by naruse (Yui NARUSE) almost 8 years ago
          Updated by naruse (Yui NARUSE) almost 8 years ago
          
          
        
        
      
      - Target version deleted (2.6)
        
           Updated by naruse (Yui NARUSE) over 7 years ago
          Updated by naruse (Yui NARUSE) over 7 years ago
          
          
        
        
      
      - Description updated (diff)
Actions