Class: E2B::Models::TemplateLogEntry
- Inherits:
-
Object
- Object
- E2B::Models::TemplateLogEntry
- Defined in:
- lib/e2b/models/template_log_entry.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#level ⇒ Object
readonly
Returns the value of attribute level.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#timestamp ⇒ Object
readonly
Returns the value of attribute timestamp.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(timestamp:, level:, message:) ⇒ TemplateLogEntry
constructor
A new instance of TemplateLogEntry.
- #to_s ⇒ Object
Constructor Details
#initialize(timestamp:, level:, message:) ⇒ TemplateLogEntry
Returns a new instance of TemplateLogEntry.
18 19 20 21 22 |
# File 'lib/e2b/models/template_log_entry.rb', line 18 def initialize(timestamp:, level:, message:) @timestamp = @level = level @message = self.class.strip_ansi_escape_codes(.to_s) end |
Instance Attribute Details
#level ⇒ Object (readonly)
Returns the value of attribute level.
8 9 10 |
# File 'lib/e2b/models/template_log_entry.rb', line 8 def level @level end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
8 9 10 |
# File 'lib/e2b/models/template_log_entry.rb', line 8 def @message end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
8 9 10 |
# File 'lib/e2b/models/template_log_entry.rb', line 8 def @timestamp end |
Class Method Details
.from_hash(data) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/e2b/models/template_log_entry.rb', line 10 def self.from_hash(data) new( timestamp: parse_time(data["timestamp"] || data[:timestamp]), level: data["level"] || data[:level], message: data["message"] || data[:message] ) end |
.parse_time(value) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/e2b/models/template_log_entry.rb', line 28 def self.parse_time(value) return nil if value.nil? return value if value.is_a?(Time) Time.parse(value.to_s) rescue ArgumentError, TypeError nil end |
.strip_ansi_escape_codes(message) ⇒ Object
37 38 39 |
# File 'lib/e2b/models/template_log_entry.rb', line 37 def self.strip_ansi_escape_codes() .gsub(/\e\[[0-9;?]*[ -\/]*[@-~]/, "") end |
Instance Method Details
#to_s ⇒ Object
24 25 26 |
# File 'lib/e2b/models/template_log_entry.rb', line 24 def to_s "[#{@timestamp&.iso8601}] [#{@level}] #{@message}" end |