Class: Sniffer::DataItem

Inherits:
Object
  • Object
show all
Extended by:
Dry::Initializer
Defined in:
lib/sniffer/data_item.rb

Overview

Sniffer data item stores a request info

Defined Under Namespace

Classes: HttpObject, Request, Response

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#request=(value) ⇒ Object (writeonly)

Sets the attribute request

Parameters:

  • value

    the value to set the attribute request to.



12
13
14
# File 'lib/sniffer/data_item.rb', line 12

def request=(value)
  @request = value
end

#response=(value) ⇒ Object (writeonly)

Sets the attribute response

Parameters:

  • value

    the value to set the attribute response to.



12
13
14
# File 'lib/sniffer/data_item.rb', line 12

def response=(value)
  @response = value
end

Instance Method Details

#allowed_to_sniff?Boolean

Returns:

  • (Boolean)


34
35
36
37
38
# File 'lib/sniffer/data_item.rb', line 34

def allowed_to_sniff?
  return true unless request

  RequestPolicy.call(request)
end

#to_hObject



17
18
19
20
21
22
# File 'lib/sniffer/data_item.rb', line 17

def to_h
  {
    request: request&.to_h,
    response: response&.to_h
  }
end

#to_json(*_args) ⇒ Object



30
31
32
# File 'lib/sniffer/data_item.rb', line 30

def to_json(*_args)
  to_log.to_json
end

#to_logObject



24
25
26
27
28
# File 'lib/sniffer/data_item.rb', line 24

def to_log
  return {} unless Sniffer.config.logger

  request.to_log.merge(response.to_log)
end