Class: Julewire::GCP::LabelFormatter
- Inherits:
-
Object
- Object
- Julewire::GCP::LabelFormatter
- Defined in:
- lib/julewire/gcp/label_formatter.rb
Instance Method Summary collapse
- #call(labels) ⇒ Object
-
#initialize(max_labels: GCP::DEFAULT_MAX_LABELS, max_label_key_bytes: GCP::DEFAULT_MAX_LABEL_KEY_BYTES, max_label_value_bytes: GCP::DEFAULT_MAX_LABEL_VALUE_BYTES) ⇒ LabelFormatter
constructor
A new instance of LabelFormatter.
Constructor Details
#initialize(max_labels: GCP::DEFAULT_MAX_LABELS, max_label_key_bytes: GCP::DEFAULT_MAX_LABEL_KEY_BYTES, max_label_value_bytes: GCP::DEFAULT_MAX_LABEL_VALUE_BYTES) ⇒ LabelFormatter
Returns a new instance of LabelFormatter.
6 7 8 9 10 11 12 |
# File 'lib/julewire/gcp/label_formatter.rb', line 6 def initialize(max_labels: GCP::DEFAULT_MAX_LABELS, max_label_key_bytes: GCP::DEFAULT_MAX_LABEL_KEY_BYTES, max_label_value_bytes: GCP::DEFAULT_MAX_LABEL_VALUE_BYTES) @max_labels = validate_count_limit(max_labels, name: :max_labels) @max_label_key_bytes = validate_byte_limit(max_label_key_bytes, name: :max_label_key_bytes) @max_label_value_bytes = validate_byte_limit(max_label_value_bytes, name: :max_label_value_bytes) end |
Instance Method Details
#call(labels) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/julewire/gcp/label_formatter.rb', line 14 def call(labels) return if labels.empty? labels.each_with_object({}) do |(key, value), result| break result if @max_labels && result.size >= @max_labels label_key = label_key(key) next unless label_key result[label_key] = bounded_label_string(value, @max_label_value_bytes) end end |