Class: Sinch::Request::Base

Inherits:
Object
  • Object
show all
Includes:
Authorization
Defined in:
lib/sinch/request/base.rb

Overview

Base Sinch Api Request

Direct Known Subclasses

ReportVerification, SendSms, Verification

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Base

Returns a new instance of Base.



9
10
11
# File 'lib/sinch/request/base.rb', line 9

def initialize(params)
  @params = params
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



7
8
9
# File 'lib/sinch/request/base.rb', line 7

def params
  @params
end

Instance Method Details

#endpointObject

Raises:

  • (NotImplementedError)


31
32
33
34
# File 'lib/sinch/request/base.rb', line 31

def endpoint
  raise NotImplementedError,
        "#{self.class.name} must implement an `endpoint` method"
end

#headersObject



23
24
25
26
27
28
29
# File 'lib/sinch/request/base.rb', line 23

def headers
  {
    'content-type' => content_type,
    'x-timestamp' => timestamp,
    'authorization' => authorization
  }
end

#methodObject

Raises:

  • (NotImplementedError)


13
14
15
16
# File 'lib/sinch/request/base.rb', line 13

def method
  raise NotImplementedError,
        "#{self.class.name} must implement a `method` method"
end

#payloadObject

Raises:

  • (NotImplementedError)


18
19
20
21
# File 'lib/sinch/request/base.rb', line 18

def payload
  raise NotImplementedError,
        "#{self.class.name} must implement a `payload` method"
end

#urlObject



36
37
38
# File 'lib/sinch/request/base.rb', line 36

def url
  [base_url, endpoint].join
end