Sha256: b1f8e2e4b34670ce0c43484861ddc81043822bab607da3ea4167f3f5ca980e1b

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

module MachineShop
  class User < APIResource
    
    # Specific API calls
    def self.authenticate(user_hash)
      #user_hash is => { email: email, password: password }
      response = MachineShop.post(authenticate_url, nil, user_hash)            
      auth_token = response[:authentication_token]
      id = response[:_id]
      
      return auth_token, self.retrieve(id, auth_token)
    end
    
    def self.all_roles(auth_token)
      MachineShop.get(self.role_url, auth_token)
    end
    
    def all_roles
      MachineShop.get(self.class.role_url, @auth_token)
    end       
    
    def device_instances(filters={})
      filters.merge!(:user_id => self.id)
      MachineShop::DeviceInstance.all(filters, @auth_token)
    end
    
    def meters(filters={})
      filters.merge!(:user_id => self.id)
      MachineShop::Meter.all(filters, @auth_token)
    end
    
    private

    def self.authenticate_url
      '/user_session/user/authenticate'
    end

    def self.role_url
      '/platform/role'
    end
    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
machineshop-1.0.0 lib/machineshop/user.rb
machineshop-0.0.4 lib/machineshop/user.rb
machineshop-0.0.3 lib/machineshop/user.rb
machineshop-0.0.2 machineshop/lib/machineshop/user.rb
machineshop-0.0.1 lib/machineshop/user.rb