Class: PostHog::MessageBatch Private
- Inherits:
-
Object
- Object
- PostHog::MessageBatch
- Extended by:
- Forwardable
- Includes:
- Defaults::MessageBatch, Logging
- Defined in:
- lib/posthog/message_batch.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
A batch of messages to be sent to the API.
Defined Under Namespace
Classes: JSONGenerationError
Constant Summary
Constants included from Defaults::MessageBatch
Defaults::MessageBatch::MAX_BYTES, Defaults::MessageBatch::MAX_SIZE
Instance Method Summary collapse
- #<<(message) ⇒ Array<Hash>? private
- #clear ⇒ void private
-
#full? ⇒ Boolean
private
Whether the batch is full.
-
#initialize(max_message_count) ⇒ MessageBatch
constructor
private
A new instance of MessageBatch.
Methods included from Logging
Constructor Details
#initialize(max_message_count) ⇒ MessageBatch
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of MessageBatch.
19 20 21 22 23 |
# File 'lib/posthog/message_batch.rb', line 19 def initialize() @messages = [] @max_message_count = @json_size = 0 end |
Instance Method Details
#<<(message) ⇒ Array<Hash>?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/posthog/message_batch.rb', line 27 def <<() begin = .to_json rescue StandardError => e raise JSONGenerationError, "Serialization error: #{e}" end = .bytesize if () logger.error('a message exceeded the maximum allowed size') else @messages << @json_size += + 1 # One byte for the comma end end |
#clear ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
49 50 51 52 |
# File 'lib/posthog/message_batch.rb', line 49 def clear @messages.clear @json_size = 0 end |
#full? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns Whether the batch is full.
44 45 46 |
# File 'lib/posthog/message_batch.rb', line 44 def full? item_count_exhausted? || size_exhausted? end |