Class: Sunpass::Transponder

Inherits:
Data
  • Object
show all
Defined in:
lib/sunpass/models.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#external_idObject (readonly)

Returns the value of attribute external_id

Returns:

  • (Object)

    the current value of external_id



24
25
26
# File 'lib/sunpass/models.rb', line 24

def external_id
  @external_id
end

#friendly_nameObject (readonly)

Returns the value of attribute friendly_name

Returns:

  • (Object)

    the current value of friendly_name



24
25
26
# File 'lib/sunpass/models.rb', line 24

def friendly_name
  @friendly_name
end

#plate_numberObject (readonly)

Returns the value of attribute plate_number

Returns:

  • (Object)

    the current value of plate_number



24
25
26
# File 'lib/sunpass/models.rb', line 24

def plate_number
  @plate_number
end

#raw_textObject (readonly)

Returns the value of attribute raw_text

Returns:

  • (Object)

    the current value of raw_text



24
25
26
# File 'lib/sunpass/models.rb', line 24

def raw_text
  @raw_text
end

#serial_numberObject (readonly)

Returns the value of attribute serial_number

Returns:

  • (Object)

    the current value of serial_number



24
25
26
# File 'lib/sunpass/models.rb', line 24

def serial_number
  @serial_number
end

#statusObject (readonly)

Returns the value of attribute status

Returns:

  • (Object)

    the current value of status



24
25
26
# File 'lib/sunpass/models.rb', line 24

def status
  @status
end

#transponder_typeObject (readonly)

Returns the value of attribute transponder_type

Returns:

  • (Object)

    the current value of transponder_type



24
25
26
# File 'lib/sunpass/models.rb', line 24

def transponder_type
  @transponder_type
end

Class Method Details

.build(serial_number:, transponder_type:, plate_number:, friendly_name:, status:, raw_text:) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/sunpass/models.rb', line 33

def self.build(serial_number:, transponder_type:, plate_number:, friendly_name:, status:, raw_text:)
  normalized = [serial_number, transponder_type, plate_number, friendly_name, status, raw_text].compact.join('|')

  new(
    external_id: Digest::SHA256.hexdigest(normalized),
    serial_number: serial_number,
    transponder_type: transponder_type,
    plate_number: plate_number,
    friendly_name: friendly_name,
    status: status,
    raw_text: raw_text
  )
end