class Eco::Language::MatchModifier

Constants

ALL_MODE
AND_MODE
ANY_MODE
CASE_MODE
INCASE_MODE
NON_REVERSE_MODE
NOT_MODE
OR_MODE
PATTERN_MODE
REVERSE_MODE
VALUE_MODE
YES_MODE

Public Instance Methods

all() click to toggle source
# File lib/eco/language/match_modifier.rb, line 87
def all
  every
end
all?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 151
def all?
  mode.any? { |m| ALL_MODE.include?(m) }
end
and() click to toggle source
# File lib/eco/language/match_modifier.rb, line 99
def and
  self.push(:and)
end
and?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 159
def and?
  mode.any? { |m| AND_MODE.include?(m) }
end
any() click to toggle source
# File lib/eco/language/match_modifier.rb, line 95
def any
  some
end
any?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 143
def any?
  mode.any? {|m| ANY_MODE.include?(m)}
end
case() click to toggle source
# File lib/eco/language/match_modifier.rb, line 107
def case
  self.push(:sensitive)
end
case_sensitive?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 171
def case_sensitive?
  mode.any? { |m| CASE_MODE.include?(m) }
end
debug() click to toggle source
# File lib/eco/language/match_modifier.rb, line 63
def debug
  self.push(:debug)
end
debug?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 123
def debug?
  mode.any? {|m| m == :debug}
end
eq() click to toggle source
# File lib/eco/language/match_modifier.rb, line 115
def eq
  self.push(:eq)
end
every() click to toggle source
# File lib/eco/language/match_modifier.rb, line 83
def every
  self.push(:every)
end
every?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 155
def every?
  self.all?
end
insensitive() click to toggle source
# File lib/eco/language/match_modifier.rb, line 111
def insensitive
  self.push(:insensitive)
end
insensitive?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 167
def insensitive?
  mode.any? { |m| INCASE_MODE.include?(m) }
end
non_reverse?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 139
def non_reverse?
  mode.any? {|m| NON_REVERSE_MODE.include?(m)}
end
normal() click to toggle source
# File lib/eco/language/match_modifier.rb, line 79
def normal
  self.push(:normal)
end
not() click to toggle source
# File lib/eco/language/match_modifier.rb, line 119
def not
  self.push(:not)
end
not?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 175
def not?
  mode.any? { |m| NOT_MODE.include?(m) }
end
or() click to toggle source
# File lib/eco/language/match_modifier.rb, line 103
def or
  self.push(:or)
end
or?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 163
def or?
  mode.any? { |m| OR_MODE.include?(m) }
end
pattern() click to toggle source
# File lib/eco/language/match_modifier.rb, line 67
def pattern
  self.push(:pattern)
end
pattern?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 127
def pattern?
  mode.any? {|m| PATTERN_MODE.include?(m)}
end
reset_and() click to toggle source
# File lib/eco/language/match_modifier.rb, line 51
def reset_and
  self < self.mode - (AND_MODE | OR_MODE)
end
reset_case() click to toggle source
# File lib/eco/language/match_modifier.rb, line 55
def reset_case
  self < self.mode - (INCASE_MODE | CASE_MODE)
end
reset_every() click to toggle source
# File lib/eco/language/match_modifier.rb, line 47
def reset_every
  self < self.mode - (ALL_MODE | ANY_MODE)
end
reset_not() click to toggle source
# File lib/eco/language/match_modifier.rb, line 59
def reset_not
  self < self.mode - (NOT_MODE | YES_MODE)
end
reset_pattern() click to toggle source
# File lib/eco/language/match_modifier.rb, line 39
def reset_pattern
  self < self.mode - (PATTERN_MODE | VALUE_MODE)
end
reset_reverse() click to toggle source
# File lib/eco/language/match_modifier.rb, line 43
def reset_reverse
  self < self.mode - (REVERSE_MODE | NON_REVERSE_MODE)
end
reverse() click to toggle source
# File lib/eco/language/match_modifier.rb, line 75
def reverse
  self.push(:reverse)
end
reverse?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 135
def reverse?
  mode.any? {|m| REVERSE_MODE.include?(m)}
end
some() click to toggle source
# File lib/eco/language/match_modifier.rb, line 91
def some
  self.push(:some)
end
some?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 147
def some?
  self.any?
end
to_regex(value) click to toggle source
# File lib/eco/language/match_modifier.rb, line 23
def to_regex(value)
  case
  when value.is_a?(Array)
    return value.map { |v| self.to_regex(v) }
  when value.is_a?(Regexp)
    return value
  when value.is_a?(String)
    esub = Regexp.escape(value)
    if self.insensitive?
      return /#{esub}/i
    else
      return /#{esub}/
    end
  end
end
value() click to toggle source
# File lib/eco/language/match_modifier.rb, line 71
def value
  self.push(:value)
end
value?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 131
def value?
  mode.any? {|m| VALUE_MODE.include?(m)}
end
yes?() click to toggle source
# File lib/eco/language/match_modifier.rb, line 179
def yes?
  mode.any? { |m| YES_MODE.include?(m) }
end

Protected Instance Methods

resolve_mode() click to toggle source
# File lib/eco/language/match_modifier.rb, line 185
def resolve_mode
  modifiers = self.to_a
  modifiers = resolve(modifiers, PATTERN_MODE | VALUE_MODE)
  modifiers = resolve(modifiers, REVERSE_MODE | NON_REVERSE_MODE)
  modifiers = resolve(modifiers, ALL_MODE | ANY_MODE)
  modifiers = resolve(modifiers, AND_MODE | OR_MODE)
  modifiers = resolve(modifiers, INCASE_MODE | CASE_MODE)
  modifiers = resolve(modifiers, NOT_MODE | YES_MODE)
  modifiers
end