Class: Cassia::Requests::WriteCharByHandle

Inherits:
Object
  • Object
show all
Defined in:
lib/cassia/requests/write_char_by_handle.rb

Instance Method Summary collapse

Constructor Details

#initialize(access_controller, router:, device_mac:, handle:, value:) ⇒ WriteCharByHandle

Returns a new instance of WriteCharByHandle.



4
5
6
7
8
9
10
# File 'lib/cassia/requests/write_char_by_handle.rb', line 4

def initialize(access_controller, router: , device_mac: , handle: , value: )
  @access_controller = access_controller
  @router = router
  @device_mac = device_mac
  @handle = handle
  @value = value
end

Instance Method Details

#headersObject



16
17
18
19
20
21
# File 'lib/cassia/requests/write_char_by_handle.rb', line 16

def headers
  {
    'Authorization' => "Bearer #{@access_controller.get_token}",
    'Content-Type' => "application/json"
  }
end

#pathObject



12
13
14
# File 'lib/cassia/requests/write_char_by_handle.rb', line 12

def path
  "/api/gatt/nodes/#{@device_mac}/handle/#{@handle}/value/#{@value}?mac=#{@router.mac}"
end

#performObject



23
24
25
# File 'lib/cassia/requests/write_char_by_handle.rb', line 23

def perform
  Cassia::ResponseHandlers::WriteCharByHandle.new(@access_controller, router: @router, device_mac: @device_mac, handle: @handle, value: @value).handle(Cassia.api.get(self))
end