Sha256: b92419a25f5738a5da3973807eef7ac9ac391f7f49a11036149c1606879a198c
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
Contents
require 'kafo/data_type' module Kafo class DataTypeParser TYPE_DEFINITION = /^type\s+([^\s=]+)\s*=\s*(.+?)(\s+#.*)?\s*$/ attr_reader :types def initialize(manifest) @logger = KafoConfigure.logger lines = [] type_line_without_newlines = +'' manifest.each_line do |line| line = line.force_encoding("UTF-8").strip next if line.start_with?('#') || line.empty? line = line.split(' #').first.strip if line =~ TYPE_DEFINITION lines << type_line_without_newlines type_line_without_newlines = line else type_line_without_newlines << line end end lines << type_line_without_newlines @types = {} lines.each do |line| if (type = TYPE_DEFINITION.match(line)) @types[type[1]] = type[2] end end end def register @types.each do |name,target| @logger.debug("Registering extended data type #{name}") DataType.register_type(name, target) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kafo-7.6.0 | lib/kafo/data_type_parser.rb |
kafo-7.5.1 | lib/kafo/data_type_parser.rb |