Module: Rollbar::Encoding

Defined in:
lib/rollbar/encoding.rb,
lib/rollbar/encoding/encoder.rb,
lib/rollbar/encoding/legacy_encoder.rb

Defined Under Namespace

Classes: Encoder, LegacyEncoder

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.encoding_classObject

Returns the value of attribute encoding_class.



4
5
6
# File 'lib/rollbar/encoding.rb', line 4

def encoding_class
  @encoding_class
end

Class Method Details

.encode(object) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/rollbar/encoding.rb', line 17

def self.encode(object)
  can_be_encoded = object.is_a?(String) || object.is_a?(Symbol)

  return object unless can_be_encoded

  encoding_class.new(object).encode
end

.setupObject



7
8
9
10
11
12
13
14
15
# File 'lib/rollbar/encoding.rb', line 7

def self.setup
  if String.instance_methods.include?(:encode)
    require 'rollbar/encoding/encoder'
    self.encoding_class = Rollbar::Encoding::Encoder
  else
    require 'rollbar/encoding/legacy_encoder'
    self.encoding_class = Rollbar::Encoding::LegacyEncoder
  end
end