Module: TestBench::Telemetry::EventData::Serialization::Pattern

Defined in:
lib/test_bench/telemetry/event_data/serialization.rb

Class Method Summary collapse

Class Method Details

.booleanObject



159
160
161
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 159

def self.boolean
  %r{(?<true>true)|(?<false>false)}
end

.dataObject



131
132
133
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 131

def self.data
  %r{(?<data>#{value}(?:\t#{value})*)}
end

.event_dataObject



111
112
113
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 111

def self.event_data
  @event_data ||= %r{\A#{type}\t#{process_id}\t#{time_attribute}\t#{data}\r\n\z}
end

.integerObject



139
140
141
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 139

def self.integer
  %r{(?<integer>[[:digit:]]+)}
end

.match(data) ⇒ Object



103
104
105
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 103

def self.match(data)
  event_data.match(data)
end

.match_value(value_text) ⇒ Object



107
108
109
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 107

def self.match_value(value_text)
  value_pattern.match(value_text)
end

.nilObject



155
156
157
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 155

def self.nil
  %r{(?<nil>(?=[\t\r\z])?)}
end

.process_idObject



119
120
121
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 119

def self.process_id
  %r{(?<process_id>#{integer})}
end

.stringObject



163
164
165
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 163

def self.string
  %r{(?<string>".*")}
end

.timeObject



143
144
145
146
147
148
149
150
151
152
153
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 143

def self.time
  year = %r{(?<year>[[:digit:]]{4})}
  month = %r{(?<month>[[:digit:]]{2})}
  day = %r{(?<day>[[:digit:]]{2})}
  hour = %r{(?<hour>[[:digit:]]{2})}
  minute = %r{(?<minute>[[:digit:]]{2})}
  second = %r{(?<second>[[:digit:]]{2})}
  nanosecond = %r{(?<nanosecond>[[:digit:]]{9})}

  %r{(?<time>#{year}-#{month}-#{day}T#{hour}:#{minute}:#{second}\.#{nanosecond}Z)}
end

.time_attributeObject



127
128
129
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 127

def self.time_attribute
  %r{(?<time_attribute>#{time})}
end

.typeObject



115
116
117
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 115

def self.type
  %r{(?<type>[A-Z][[:alnum:]]+)}
end

.valueObject



135
136
137
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 135

def self.value
  %r{#{integer}|#{time}|#{self.nil}|#{boolean}|#{string}}
end

.value_patternObject



123
124
125
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 123

def self.value_pattern
  @value_pattern ||= %r{\A#{value}\z}
end