Class: Dronetrack::RestService

Inherits:
Object
  • Object
show all
Defined in:
lib/dronetrack/restservice.rb

Direct Known Subclasses

Drone, Track

Instance Method Summary collapse

Constructor Details

#initialize(baseUrl, path, accessToken) ⇒ RestService

Returns a new instance of RestService.



5
6
7
8
9
10
11
12
13
14
# File 'lib/dronetrack/restservice.rb', line 5

def initialize (baseUrl, path, accessToken)
  @path = path
  if baseUrl.length > 0 and baseUrl[baseUrl.length - 1] == "/"
        baseUrl = baseUrl[0, baseUrl.length - 1]
  end 
  @baseUrl = baseUrl
  @accessToken = accessToken
  @client = OAuth2::Client.new("", "", :site => baseUrl)
  @token = OAuth2::AccessToken.from_hash(@client, :access_token => accessToken)
end

Instance Method Details

#all(query = nil) ⇒ Object



16
17
18
19
# File 'lib/dronetrack/restservice.rb', line 16

def all (query=nil)
    opts = if query.nil? then {} else {:params => query} end
    makeRequest @path, :get, opts
end

#create(item) ⇒ Object



25
26
27
# File 'lib/dronetrack/restservice.rb', line 25

def create (item)
    makeRequest @path, :post, {:body => item}
end

#get(id) ⇒ Object



21
22
23
# File 'lib/dronetrack/restservice.rb', line 21

def get (id)
    makeRequest "#{@path}/#{id}", :get
end

#remove(id) ⇒ Object Also known as: destroy



33
34
35
# File 'lib/dronetrack/restservice.rb', line 33

def remove (id)
    makeRequest "#{@path}/#{id}", :delete
end

#update(item) ⇒ Object



29
30
31
# File 'lib/dronetrack/restservice.rb', line 29

def update (item)
    makeRequest "#{@path}/#{item['id']}", :put, {:body => item}
end