Class: Regexp::Expression::CharacterSet

Inherits:
Subexpression show all
Defined in:
lib/regexp_parser/expression/classes/character_set.rb,
lib/regexp_parser/expression/classes/character_set/range.rb,
lib/regexp_parser/expression/classes/character_set/intersection.rb

Defined Under Namespace

Classes: IntersectedSequence, Intersection, Range

Instance Attribute Summary collapse

Attributes inherited from Subexpression

#expressions

Instance Method Summary collapse

Methods inherited from Subexpression

#<<, #dig, #each_expression, #flat_map, #initialize_copy, #inner_match_length, #match_length, #strfregexp_tree, #te, #to_h, #traverse

Methods inherited from Base

#ascii_classes?, #case_insensitive?, #default_classes?, #free_spacing?, #greedy?, #initialize_copy, #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, #full_length, included, #initialize_copy, #is?, #nesting_level=, #offset, #one_of?, #quantified?, #quantifier_affix, #starts_at, #terminal?, #to_s, #token_class, #type?

Constructor Details

#initialize(token, options = {}) ⇒ CharacterSet

Returns a new instance of CharacterSet.



9
10
11
12
13
# File 'lib/regexp_parser/expression/classes/character_set.rb', line 9

def initialize(token, options = {})
  self.negative = false
  self.closed   = false
  super
end

Instance Attribute Details

#closedObject Also known as: closed?

Returns the value of attribute closed.



3
4
5
# File 'lib/regexp_parser/expression/classes/character_set.rb', line 3

def closed
  @closed
end

#negativeObject Also known as: negative?, negated?

Returns the value of attribute negative.



3
4
5
# File 'lib/regexp_parser/expression/classes/character_set.rb', line 3

def negative
  @negative
end

Instance Method Details

#closeObject



19
20
21
# File 'lib/regexp_parser/expression/classes/character_set.rb', line 19

def close
  self.closed = true
end

#negateObject



15
16
17
# File 'lib/regexp_parser/expression/classes/character_set.rb', line 15

def negate
  self.negative = true
end

#partsObject



23
24
25
# File 'lib/regexp_parser/expression/classes/character_set.rb', line 23

def parts
  ["#{text}#{'^' if negated?}", *expressions, ']']
end