Module: LearnosityUtils::EndPoint::Base

Included in:
ItemBank
Defined in:
lib/learnosity_utils/endpoint/base.rb

Instance Method Summary collapse

Instance Method Details

#request(data_request = nil, endpoint = nil, action = 'get', service = 'data') ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/learnosity_utils/endpoint/base.rb', line 8

def request(data_request = nil, endpoint = nil, action = 'get', service = 'data')
  init = Learnosity::Sdk::Request::Init.new(
      service,
      LearnosityUtils.configuration.security_packet,
      LearnosityUtils.configuration.consumer_secret,
      data_request,
      action
  )

  request = init.generate
  remote = Net::HTTP.post_form URI("#{site}#{endpoint}"), request
  body = JSON.parse remote.body, symbolize_names: true

  if body[:meta][:code] == 42000
    sleep LearnosityUtils.configuration.retry_delay
    request(data_request, endpoint, action, service)
  else
    body
  end
end