Class: MachineShop::Users

Inherits:
APIResource show all
Defined in:
lib/machineshop/users.rb

Instance Attribute Summary

Attributes inherited from MachineShopObject

#auth_token

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from APIResource

class_name, #refresh, retrieve, url, #url

Methods inherited from MachineShopObject

#[], #[]=, #as_json, construct_from, #each, #initialize, #inspect, #keys, #refresh_from, #to_hash, #to_json, #to_s, #values

Constructor Details

This class inherits a constructor from MachineShop::MachineShopObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class MachineShop::MachineShopObject

Class Method Details

.all_roles(auth_token) ⇒ Object



14
15
16
# File 'lib/machineshop/users.rb', line 14

def self.all_roles(auth_token)
  MachineShop.gem_get(self.role_url, auth_token)
end

.authenticate(user_hash) ⇒ Object

Specific API calls



5
6
7
8
9
10
11
12
# File 'lib/machineshop/users.rb', line 5

def self.authenticate(user_hash)
  #user_hash is => { email: email, password: password }
  response = MachineShop.gem_post(authenticate_url, nil, user_hash)            
  auth_token = response[:authentication_token]
  id = response[:_id]
  
  return auth_token, self.retrieve(id, auth_token)
end

Instance Method Details

#all_rolesObject



18
19
20
# File 'lib/machineshop/users.rb', line 18

def all_roles
  MachineShop.gem_get(self.class.role_url, @auth_token)
end

#device_instances(filters = {}) ⇒ Object



22
23
24
25
# File 'lib/machineshop/users.rb', line 22

def device_instances(filters={})
  filters.merge!(:user_id => self.id)
  MachineShop::DeviceInstance.all(filters, @auth_token)
end

#meters(filters = {}) ⇒ Object



27
28
29
30
# File 'lib/machineshop/users.rb', line 27

def meters(filters={})
  filters.merge!(:user_id => self.id)
  MachineShop::Meter.all(filters, @auth_token)
end