Class: PlatformSdk::LearnosityApi::Client
- Inherits:
-
Object
- Object
- PlatformSdk::LearnosityApi::Client
- Defined in:
- lib/platform_sdk/learnosity_api/client.rb
Overview
Learnosity::Client
Instance Attribute Summary collapse
-
#credentials ⇒ Object
readonly
Returns the value of attribute credentials.
-
#security ⇒ Object
readonly
Returns the value of attribute security.
Instance Method Summary collapse
-
#initialize(credentials) ⇒ Client
constructor
A new instance of Client.
- #post(path, request) ⇒ Object
- #sign(request) ⇒ Object
Constructor Details
#initialize(credentials) ⇒ Client
Returns a new instance of Client.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/platform_sdk/learnosity_api/client.rb', line 12 def initialize(credentials) @credentials = credentials raise ArgumentError, "learnosity_host is required" if @credentials[:learnosity_host].nil? raise ArgumentError, "learnosity_version is required" if @credentials[:learnosity_version].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 |
Instance Attribute Details
#credentials ⇒ Object (readonly)
Returns the value of attribute credentials.
10 11 12 |
# File 'lib/platform_sdk/learnosity_api/client.rb', line 10 def credentials @credentials end |
#security ⇒ Object (readonly)
Returns the value of attribute security.
10 11 12 |
# File 'lib/platform_sdk/learnosity_api/client.rb', line 10 def security @security end |
Instance Method Details
#post(path, request) ⇒ Object
41 42 43 44 45 |
# File 'lib/platform_sdk/learnosity_api/client.rb', line 41 def post(path, request) request["organisation_id"] = @credentials[:organisation_id] uri = URI("https://#{@credentials[:learnosity_host]}/#{@credentials[:learnosity_version]}/#{path}") Net::HTTP.post_form(uri, sign(request)) end |
#sign(request) ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/platform_sdk/learnosity_api/client.rb', line 31 def sign(request) init = Learnosity::Sdk::Request::Init.new( @credentials[:service], @security, @credentials[:consumer_secret], request ) init.generate end |