Module: TestBench::Telemetry::Event::Serialization::Pattern

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

Class Method Summary collapse

Class Method Details

.booleanObject



136
137
138
# File 'lib/test_bench/telemetry/event/serialization.rb', line 136

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

.eventObject



96
97
98
# File 'lib/test_bench/telemetry/event/serialization.rb', line 96

def self.event
  %r{\A#{event_type}\t#{values}\r\n\z}
end

.event_typeObject



100
101
102
# File 'lib/test_bench/telemetry/event/serialization.rb', line 100

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

.integerObject



132
133
134
# File 'lib/test_bench/telemetry/event/serialization.rb', line 132

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

.match(data) ⇒ Object



86
87
88
# File 'lib/test_bench/telemetry/event/serialization.rb', line 86

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

.match_value(value_data) ⇒ Object



90
91
92
93
94
# File 'lib/test_bench/telemetry/event/serialization.rb', line 90

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

  pattern.match(value_data)
end

.nilObject



112
113
114
# File 'lib/test_bench/telemetry/event/serialization.rb', line 112

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

.stringObject



128
129
130
# File 'lib/test_bench/telemetry/event/serialization.rb', line 128

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

.timeObject



116
117
118
119
120
121
122
123
124
125
126
# File 'lib/test_bench/telemetry/event/serialization.rb', line 116

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

.valueObject



108
109
110
# File 'lib/test_bench/telemetry/event/serialization.rb', line 108

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

.valuesObject



104
105
106
# File 'lib/test_bench/telemetry/event/serialization.rb', line 104

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