Class | Teeth::ScannerDefinitionGroup |
In: |
lib/scanner_definition.rb
|
Parent: | Array |
DEFAULT_DEFINITIONS | = | {} |
# File lib/scanner_definition.rb, line 80 def add(name, regex, options={}) assert_defn_has_unique_name(name) push ScannerDefinition.new(name, regex, options) end
# File lib/scanner_definition.rb, line 85 def assert_defn_has_unique_name(name) if defn_names.include?(name.to_s) raise DuplicateDefinitionError, "a definition for #{name.to_s} has already been defined" end end
# File lib/scanner_definition.rb, line 100 def defaults_for(*default_types) default_types.each do |default_type| unless default_definitions = DEFAULT_DEFINITIONS[default_type] raise InvalidDefaultDefinitionName, "no default definitions found for #{default_type.to_s}" end default_definitions.each do |defn| begin add(defn.first, defn.last) rescue DuplicateDefinitionError end end end end
# File lib/scanner_definition.rb, line 91 def defn_names map { |defn_statement| defn_statement.name.to_s } end