Class: ActivityProvider::LRS::Client

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/activity_provider/lrs/client.rb

Constant Summary collapse

DEFAULT_HEADERS =
{ 'Content-Type' => 'application/json' }

Instance Method Summary collapse

Instance Method Details

#fetch_statement(statement_id) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/activity_provider/lrs/client.rb', line 19

def fetch_statement(statement_id)
  response = self.class.get("#{ActivityProvider.config.statement_path}?statementId=#{statement_id}",
                            headers: DEFAULT_HEADERS)
  if response.response.is_a?(Net::HTTPSuccess)
    ActivityProvider::LRS::Statement.new(response.body)
  else
    fail response.body
  end
end

#save_statement(statement) ⇒ Object



29
30
31
32
33
34
# File 'lib/activity_provider/lrs/client.rb', line 29

def save_statement(statement)
  response = self.class.put(ActivityProvider.config.statement_path,
                             body: statement.to_json,
                             headers: DEFAULT_HEADERS)
  fail response.body unless response.response.is_a?(Net::HTTPSuccess)
end

#send_statements(statements) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/activity_provider/lrs/client.rb', line 8

def send_statements(statements)
  response = self.class.post(ActivityProvider.config.statement_path,
                             body: statements.to_json,
                             headers: DEFAULT_HEADERS)
  if response.response.is_a?(Net::HTTPSuccess)
    JSON.parse(response.body)
  else
    fail response.body
  end
end