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 |