Class: Ronin::DB::Port

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Model
Defined in:
lib/ronin/db/port.rb

Overview

Represents a TCP or UDP port.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Model

included

Instance Attribute Details

#idInteger

The primary key of the port.

Returns:

  • (Integer)


38
# File 'lib/ronin/db/port.rb', line 38

attribute :id, :integer

#numberInteger

The port number.

Returns:

  • (Integer)


51
# File 'lib/ronin/db/port.rb', line 51

attribute :number, :integer

#open_portsArray<OpenPort>

The open ports.

Returns:



63
# File 'lib/ronin/db/port.rb', line 63

has_many :open_ports, dependent: :destroy

#protocol"tcp", "udp"

The protocol of the port (either 'tcp' / 'udp').

Returns:

  • ("tcp", "udp")


44
# File 'lib/ronin/db/port.rb', line 44

enum :protocol, {tcp: 'tcp', udp: 'udp'}, default: :tcp

Class Method Details

.import(number) ⇒ Port

Creates a new Port.

Parameters:

  • number (String, Integer)

    The port number.

Returns:

  • (Port)

    The new or previously saved port.



91
92
93
# File 'lib/ronin/db/port.rb', line 91

def self.import(number)
  create(number: number)
end

.lookup(number) ⇒ Port?

Looks up a port by it's number.

Parameters:

  • number (String, Integer)

    The port number to query.

Returns:

  • (Port, nil)

    The found port number.



76
77
78
# File 'lib/ronin/db/port.rb', line 76

def self.lookup(number)
  find_by(number: number)
end

Instance Method Details

#to_iInteger

Converts the port to an integer.

Returns:

  • (Integer)

    The port number.



103
104
105
# File 'lib/ronin/db/port.rb', line 103

def to_i
  self.number.to_i
end

#to_sString

Converts the port to a string.

Returns:

  • (String)

    The port number and protocol.



115
116
117
# File 'lib/ronin/db/port.rb', line 115

def to_s
  "#{self.number}/#{self.protocol}"
end