Class: Aikido::Zen::AttackWave::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/aikido/zen/attack_wave.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ip_address:, user_agent:, source:) ⇒ Aikido::Zen::AttackWave::Request

Parameters:

  • ip_address (String)
  • user_agent (String)
  • source (String)


64
65
66
67
68
# File 'lib/aikido/zen/attack_wave.rb', line 64

def initialize(ip_address:, user_agent:, source:)
  @ip_address = ip_address
  @user_agent = user_agent
  @source = source
end

Instance Attribute Details

#ip_addressString (readonly)

Returns:

  • (String)


52
53
54
# File 'lib/aikido/zen/attack_wave.rb', line 52

def ip_address
  @ip_address
end

#sourceString (readonly)

Returns:

  • (String)


58
59
60
# File 'lib/aikido/zen/attack_wave.rb', line 58

def source
  @source
end

#user_agentString (readonly)

Returns:

  • (String)


55
56
57
# File 'lib/aikido/zen/attack_wave.rb', line 55

def user_agent
  @user_agent
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



78
79
80
81
82
83
# File 'lib/aikido/zen/attack_wave.rb', line 78

def ==(other)
  other.is_a?(self.class) &&
    other.ip_address == ip_address &&
    other.user_agent == user_agent &&
    other.source == source
end

#as_jsonObject



70
71
72
73
74
75
76
# File 'lib/aikido/zen/attack_wave.rb', line 70

def as_json
  {
    ipAddress: @ip_address,
    userAgent: @user_agent,
    source: @source
  }.compact
end