Class: Regexp::Expression::EscapeSequence::CodepointList
  
  
  
  
  
    - Inherits:
 
    - 
      Base
      
        
          - Object
 
          
            - Base
 
          
            - Base
 
          
            - Regexp::Expression::EscapeSequence::CodepointList
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - lib/regexp_parser/expression/classes/escape_sequence.rb,
  lib/regexp_parser/expression/methods/match_length.rb
 
  
  
 
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  Methods inherited from Base
  #ascii_classes?, #case_insensitive?, #default_classes?, #free_spacing?, #greedy?, #initialize, #match, #match?, #multiline?, #possessive?, #quantify, #quantity, #reluctant?, #repetitions, #strfregexp, #to_h, #to_re, #unicode_classes?, #unquantified_clone
  
  
  
  
  
  
  
  
  Methods included from Shared
  #==, #base_length, #coded_offset, #ends_at, #full_length, #human_name, included, #initialize_copy, #inspect, #is?, #nesting_level=, #offset, #one_of?, #optional?, #parts, #pre_quantifier_decoration, #pretty_print, #pretty_print_instance_variables, #quantified?, #quantifier=, #quantifier_affix, #starts_at, #to_s, #token_class, #type?
  
    Instance Method Details
    
      
  
  
    #char  ⇒ Object 
  
  
  
  
    
      
40
41
42 
     | 
    
      # File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 40
def char
  raise NoMethodError, 'CodepointList responds only to #chars'
end 
     | 
  
 
    
      
  
  
    #chars  ⇒ Object 
  
  
  
  
    
      
48
49
50 
     | 
    
      # File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 48
def chars
  codepoints.map { |cp| cp.chr('utf-8') }
end
     | 
  
 
    
      
  
  
    #codepoint  ⇒ Object 
  
  
  
  
    
      
44
45
46 
     | 
    
      # File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 44
def codepoint
  raise NoMethodError, 'CodepointList responds only to #codepoints'
end 
     | 
  
 
    
      
  
  
    #codepoints  ⇒ Object 
  
  
  
  
    
      
52
53
54 
     | 
    
      # File 'lib/regexp_parser/expression/classes/escape_sequence.rb', line 52
def codepoints
  text.scan(/\h+/).map(&:hex)
end 
     | 
  
 
    
      
  
  
    #match_length  ⇒ Object 
  
  
  
  
    
      
164
165
166 
     | 
    
      # File 'lib/regexp_parser/expression/methods/match_length.rb', line 164
def match_length
  MatchLength.new(self, base: codepoints.count)
end 
     |