Class: ArtemisApi::User

Inherits:
Model
  • Object
show all
Defined in:
lib/artemis_api/user.rb

Instance Attribute Summary

Attributes inherited from Model

#attributes, #client, #id, #relationships

Class Method Summary collapse

Methods inherited from Model

#initialize, instance_for, json_type, #method_missing, related_to_many, related_to_one

Constructor Details

This class inherits a constructor from ArtemisApi::Model

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ArtemisApi::Model

Class Method Details

.find(id:, facility_id:, client:, include: nil, force: false) ⇒ Object



19
20
21
# File 'lib/artemis_api/user.rb', line 19

def self.find(id:, facility_id:, client:, include: nil, force: false)
  client.find_one(self.json_type, id, facility_id: facility_id, include: include, force: force)
end

.find_all(facility_id:, client:, include: nil) ⇒ Object



23
24
25
# File 'lib/artemis_api/user.rb', line 23

def self.find_all(facility_id:, client:, include: nil)
  client.find_all(self.json_type, facility_id: facility_id, include: include)
end

.get_current(client:, include: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/artemis_api/user.rb', line 6

def self.get_current(client:, include: nil)
  self.json_type
  client.refresh if client.oauth_token.expired?
  url = "#{client.options[:base_uri]}/api/v3/user"
  url = "#{url}?include=#{include}" if include
  response = client.oauth_token.get(url)
  if response.status == 200
    json = JSON.parse(response.body)
    obj = client.store_record('users', json['data']['id'], json['data'])
  end
  obj
end