Class: AprsIs::Passcode

Inherits:
Object
  • Object
show all
Defined in:
lib/aprs_is/passcode.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(call_sign) ⇒ Passcode

Returns a new instance of Passcode.



5
6
7
# File 'lib/aprs_is/passcode.rb', line 5

def initialize(call_sign)
  @call_sign = call_sign
end

Instance Attribute Details

#call_signObject (readonly)

Returns the value of attribute call_sign.



3
4
5
# File 'lib/aprs_is/passcode.rb', line 3

def call_sign
  @call_sign
end

Instance Method Details

#generateObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/aprs_is/passcode.rb', line 13

def generate
  hash = 0x73e2
  flag = true
  call_sign_for_generation.split('').each do |c|
    hash = if flag
      (hash ^ (c.ord << 8))
    else
      (hash ^ c.ord)
    end
    flag = !flag
  end
  hash & 0x7fff
end

#to_sObject



9
10
11
# File 'lib/aprs_is/passcode.rb', line 9

def to_s
  generate.to_s
end