Class: Lapsoss::Adapters::Base

Inherits:
Object
  • Object
show all
Includes:
Validators
Defined in:
lib/lapsoss/adapters/base.rb

Constant Summary collapse

USER_AGENT =
"lapsoss/#{Lapsoss::VERSION}".freeze
JSON_CONTENT_TYPE =
"application/json; charset=UTF-8".freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Validators

logger, validate_api_key!, validate_callable!, validate_dsn!, validate_environment!, validate_presence!, validate_retries!, validate_sample_rate!, validate_timeout!, validate_url!

Constructor Details

#initialize(name, settings = {}) ⇒ Base

Returns a new instance of Base.



13
14
15
16
17
18
# File 'lib/lapsoss/adapters/base.rb', line 13

def initialize(name, settings = {})
  @name = name
  @settings = settings
  @enabled = true
  configure_sdk
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



11
12
13
# File 'lib/lapsoss/adapters/base.rb', line 11

def name
  @name
end

#settingsObject (readonly)

Returns the value of attribute settings.



11
12
13
# File 'lib/lapsoss/adapters/base.rb', line 11

def settings
  @settings
end

Instance Method Details

#capabilitiesObject



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/lapsoss/adapters/base.rb', line 32

def capabilities
  {
    errors: true,
    performance: false,
    sessions: false,
    feature_flags: false,
    check_ins: false,
    breadcrumbs: false,
    deployments: false,
    metrics: false,
    profiling: false,
    security: false,
    code_context: false,
    data_scrubbing: false
  }
end

#capture(event) ⇒ Object

Raises:

  • (NotImplementedError)


53
54
55
# File 'lib/lapsoss/adapters/base.rb', line 53

def capture(event)
  raise NotImplementedError, "#{self.class.name} must implement #capture"
end

#disable!Object



28
29
30
# File 'lib/lapsoss/adapters/base.rb', line 28

def disable!
  @enabled = false
end

#enable!Object



24
25
26
# File 'lib/lapsoss/adapters/base.rb', line 24

def enable!
  @enabled = true
end

#enabled?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/lapsoss/adapters/base.rb', line 20

def enabled?
  @enabled
end

#flush(timeout: 2) ⇒ Object



57
58
59
# File 'lib/lapsoss/adapters/base.rb', line 57

def flush(timeout: 2)
  # Optional implementation for flushing pending events
end

#shutdownObject



61
62
63
# File 'lib/lapsoss/adapters/base.rb', line 61

def shutdown
  @enabled = false
end

#supports?(capability) ⇒ Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/lapsoss/adapters/base.rb', line 49

def supports?(capability)
  capabilities[capability] == true
end