Class: Chronos::Integrations::JobPayload

Inherits:
Object
  • Object
show all
Defined in:
lib/chronos/integrations/job_payload.rb

Overview

Builds bounded job metadata before the shared privacy serializer runs.

Examples:

JobPayload.new.arguments(["account-1"])

Constant Summary collapse

MAX_ARGUMENTS =
20
MAX_COLLECTION_ITEMS =
20
MAX_DEPTH =
4
MAX_STRING_BYTES =
512

Instance Method Summary collapse

Instance Method Details

#arguments(values) ⇒ Object



21
22
23
24
25
26
# File 'lib/chronos/integrations/job_payload.rb', line 21

def arguments(values)
  source = values.is_a?(Array) ? values : []
  [source.first(MAX_ARGUMENTS).map { |value| limit(value, 0) }, source.length > MAX_ARGUMENTS]
rescue StandardError
  [[], true]
end

#tags(values) ⇒ Object



28
29
30
31
32
# File 'lib/chronos/integrations/job_payload.rb', line 28

def tags(values)
  Array(values).first(MAX_COLLECTION_ITEMS).map { |value| limit_string(value.to_s) }
rescue StandardError
  []
end