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

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

Class Method Summary collapse

Class Method Details

.booleanObject



157
158
159
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 157

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

.dataObject



129
130
131
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 129

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

.event_dataObject



113
114
115
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 113

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

.integerObject



137
138
139
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 137

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
110
111
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 107

def self.match_value(value_text)
  pattern = %r{\A#{value}\z}

  pattern.match(value_text)
end

.nilObject



153
154
155
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 153

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

.process_idObject



121
122
123
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 121

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

.stringObject



161
162
163
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 161

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

.timeObject



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

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



125
126
127
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 125

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

.typeObject



117
118
119
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 117

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

.valueObject



133
134
135
# File 'lib/test_bench/telemetry/event_data/serialization.rb', line 133

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