Class: Trustev::DigitalSignature

Inherits:
Object
  • Object
show all
Defined in:
lib/trustev/digital_signature.rb

Instance Method Summary collapse

Constructor Details

#initialize(digital_signature, timestamp, session_id, stage_1 = '') ⇒ DigitalSignature

Returns a new instance of DigitalSignature.

Raises:



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/trustev/digital_signature.rb', line 6

def initialize(digital_signature, timestamp, session_id, stage_1='')

  raise Error.new('No Username provided.') unless Trustev.username
  raise Error.new('No Password provided.') unless Trustev.password
  raise Error.new('No Shared Secret provided.') unless Trustev.shared_secret
  raise Error.new('No Private Key provided.') unless Trustev.private_key

  @digital_signature = digital_signature
  @timestamp = timestamp
  @session_id = session_id
  @stage_1 = stage_1
  @stage_1 = ".#{stage_1}" unless @stage_1.empty?
end

Instance Method Details

#invalid?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/trustev/digital_signature.rb', line 33

def invalid?
  !valid?
end

#valid?Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/trustev/digital_signature.rb', line 20

def valid?
  unless Trustev.public_key.nil?
    begin
      response = HTTParty.get("https://js.trustev.com/v1.2/Trustev.js?key=#{Trustev.public_key}")
      raise Error.new('Invalid Public Key') if response.code == 401
      return true if response.code != 200
    rescue Errno::ECONNREFUSED
      return true
    end
  end
  build_signature == @digital_signature
end