Sha256: b12a56c1925fee7e17627e7cddc629335f12629491c4c6ac0687af8acbd414b4

Contents?: true

Size: 1.3 KB

Versions: 8

Compression:

Stored size: 1.3 KB

Contents

# Copyright (c) 2020 Jerome Arbez-Gindre
# frozen_string_literal: true

module DefMastership
  # Contains regexp / action couples
  Filter = Struct.new(:regexp, :event, :consumed_line)
  private_constant :Filter

  FILTERS_IN_LITERAL = [
    Filter.new(DMRegexp::LITERAL_BLOCK, :code_block_delimiter, false),
    Filter.new(DMRegexp::WHATEVER,      :new_line,             true)
  ].freeze
  private_constant :FILTERS_IN_LITERAL

  FILTERS = [
    Filter.new(DMRegexp::VARIABLE_DEF,  :new_variable_def,     false),
    Filter.new(DMRegexp::VARIABLE_USE,  :new_variable_use,     false),
    Filter.new(DMRegexp::DEFINITION,    :new_definition,       true),
    Filter.new(DMRegexp::EREF_CONFIG,   :new_eref_setup,       true),
    Filter.new(DMRegexp::EREF_DEF,      :new_eref_def,         false),
    Filter.new(DMRegexp::IREF_DEF,      :new_iref_def,         false),
    Filter.new(DMRegexp::ATTR_CONFIG,   :new_attribute_conf,   true),
    Filter.new(DMRegexp::ATTR_SET,      :new_attribute_value,  false),
    Filter.new(DMRegexp::BLOCK,         :block_delimiter,      true),
    Filter.new(DMRegexp::LITERAL_BLOCK, :code_block_delimiter, true),
    Filter.new(DMRegexp::EMPTY_LINE,    :empty_line,           false),
    Filter.new(DMRegexp::WHATEVER,      :new_line,             true)
  ].freeze
  private_constant :FILTERS
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
defmastership-1.0.13 lib/defmastership/filters.rb
defmastership-1.0.12 lib/defmastership/filters.rb
defmastership-1.0.11 lib/defmastership/filters.rb
defmastership-1.0.10 lib/defmastership/filters.rb
defmastership-1.0.9 lib/defmastership/filters.rb
defmastership-1.0.8 lib/defmastership/filters.rb
defmastership-1.0.7 lib/defmastership/filters.rb
defmastership-1.0.6 lib/defmastership/filters.rb