Module: Bugsnag::Helpers
- Defined in:
- lib/bugsnag/helpers.rb
Constant Summary collapse
- MAX_STRING_LENGTH =
3072
- MAX_PAYLOAD_LENGTH =
128000
- MAX_ARRAY_LENGTH =
40
- RAW_DATA_TYPES =
[Numeric, TrueClass, FalseClass]
Class Method Summary collapse
- .flatten_meta_data(overrides) ⇒ Object
-
.is_json_raw_type?(value) ⇒ Boolean
Check if a value is a raw type which should not be trimmed, truncated or converted to a string.
-
.trim_if_needed(value) ⇒ Object
Trim the size of value if the serialized JSON value is longer than is accepted by Bugsnag.
Class Method Details
.flatten_meta_data(overrides) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/bugsnag/helpers.rb', line 25 def self.(overrides) return nil unless overrides = overrides.delete(:meta_data) if .is_a?(Hash) overrides.merge() else overrides end end |
.is_json_raw_type?(value) ⇒ Boolean
Check if a value is a raw type which should not be trimmed, truncated or converted to a string
38 39 40 |
# File 'lib/bugsnag/helpers.rb', line 38 def self.is_json_raw_type?(value) RAW_DATA_TYPES.detect {|klass| value.is_a?(klass)} != nil end |
.trim_if_needed(value) ⇒ Object
Trim the size of value if the serialized JSON value is longer than is accepted by Bugsnag
15 16 17 18 19 20 21 22 23 |
# File 'lib/bugsnag/helpers.rb', line 15 def self.trim_if_needed(value) sanitized_value = Bugsnag::Cleaner.clean_object_encoding(value) return sanitized_value unless payload_too_long?(sanitized_value) reduced_value = trim_strings_in_value(sanitized_value) return reduced_value unless payload_too_long?(reduced_value) reduced_value = truncate_arrays_in_value(reduced_value) return reduced_value unless payload_too_long?(reduced_value) (reduced_value) end |