Class: Regexp::Expression::Group::Options

Inherits:
Base show all
Defined in:
lib/regexp_parser/expression/classes/group.rb

Overview

TODO: should split off OptionsSwitch in v3.0.0. Maybe even make it no longer inherit from Group because it is effectively a terminal expression.

Instance Attribute Summary collapse

Attributes inherited from Subexpression

#expressions

Instance Method Summary collapse

Methods inherited from Base

#capturing?, #comment?, #parts

Methods inherited from Subexpression

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

Methods inherited from Base

#ascii_classes?, #case_insensitive?, #default_classes?, #free_spacing?, #greedy?, #initialize, #match, #match?, #multiline?, #possessive?, #quantity, #reluctant?, #repetitions, #strfregexp, #to_h, #to_re, #unicode_classes?, #unquantified_clone

Methods included from Shared

#==, #base_length, #coded_offset, #full_length, #human_name, included, #is?, #nesting_level=, #offset, #one_of?, #optional?, #parts, #quantified?, #quantifier=, #quantifier_affix, #starts_at, #terminal?, #to_s, #token_class, #type?

Constructor Details

This class inherits a constructor from Regexp::Expression::Subexpression

Instance Attribute Details

#option_changesObject

Returns the value of attribute option_changes.



39
40
41
# File 'lib/regexp_parser/expression/classes/group.rb', line 39

def option_changes
  @option_changes
end

Instance Method Details

#initialize_copy(orig) ⇒ Object



41
42
43
44
# File 'lib/regexp_parser/expression/classes/group.rb', line 41

def initialize_copy(orig)
  self.option_changes = orig.option_changes.dup
  super
end

#quantify(*args) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/regexp_parser/expression/classes/group.rb', line 46

def quantify(*args)
  if token == :options_switch
    raise Regexp::Parser::Error, 'Can not quantify an option switch'
  else
    super
  end
end