class Bnet::Attributes::Secret

Attributes

text[R]
to_s[R]

Public Class Methods

new(secret) click to toggle source
# File lib/bnet/attributes/secret.rb, line 6
def initialize(secret)
  secret = secret.to_s

  if secret =~ /[0-9a-f]{40}/i
    @text = secret
  elsif secret.length == 20  # treated as binary input
    @text = secret.unpack('C*').map{ |i| i.to_s(16).rjust(2, '0') }.join
  else
    raise BadInputError.new("bad secret #{secret}")
  end
end

Public Instance Methods

binary() click to toggle source
# File lib/bnet/attributes/secret.rb, line 18
def binary
  text.scan(/.{2}/).map{|s| s.to_i(16)}.pack('C*')
end