Class: RubyHome::VerifyFinishService

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_home/http/services/verify_finish_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(accessory_info:, encrypted_data:, session_key:, shared_secret:) ⇒ VerifyFinishService

Returns a new instance of VerifyFinishService.



3
4
5
6
7
8
# File 'lib/ruby_home/http/services/verify_finish_service.rb', line 3

def initialize(accessory_info: , encrypted_data: , session_key:, shared_secret:)
  @accessory_info = accessory_info
  @encrypted_data = encrypted_data
  @session_key = session_key
  @shared_secret = HAP::Crypto::SessionKey.new(shared_secret)
end

Instance Method Details

#runObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ruby_home/http/services/verify_finish_service.rb', line 10

def run
  if paired_client_exists?
    RubyHome.dns_service.update

    OpenStruct.new(
      success?: true,
      controller_to_accessory_key: shared_secret.controller_to_accessory_key,
      accessory_to_controller_key: shared_secret.accessory_to_controller_key
    )
  else
    OpenStruct.new(success?: false)
  end
end