Sha256: 60d564bb07110b975e5f52ada71be3118ed656201bb99889fad192d09c702d0c
Contents?: true
Size: 1.42 KB
Versions: 2
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true require "learnosity/sdk/request/init" require "securerandom" require "net/http" module PlatformSdk module LearnosityApi # Learnosity::Client class Client attr_reader :credentials, :security def initialize(credentials) @credentials = credentials raise ArgumentError, "learnosity_host is required" if @credentials[:learnosity_host].nil? raise ArgumentError, "service is required" if @credentials[:service].nil? raise ArgumentError, "consumer_key is required" if @credentials[:consumer_key].nil? raise ArgumentError, "consumer_secret is required" if @credentials[:consumer_secret].nil? raise ArgumentError, "organisation_id is required" if @credentials[:organisation_id].nil? raise ArgumentError, "domain is required" if @credentials[:domain].nil? @security = { "consumer_key" => @credentials[:consumer_key], "user_id" => SecureRandom.uuid, "domain" => @credentials[:domain] } end def sign(request) init = Learnosity::Sdk::Request::Init.new( @credentials[:service], @security, @credentials[:consumer_secret], request ) init.generate end def post(path, request) uri = URI("https://#{@credentials[:learnosity_host]}/#{path}") Net::HTTP.post_form(uri, sign(request)) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
strongmind-platform-sdk-3.9.1 | lib/platform_sdk/learnosity_api/client.rb |
strongmind-platform-sdk-3.9.0 | lib/platform_sdk/learnosity_api/client.rb |