Module: ADN::API

Defined in:
lib/adn/api.rb,
lib/adn/api/post.rb,
lib/adn/api/user.rb,
lib/adn/api/token.rb,
lib/adn/api/filter.rb,
lib/adn/api/stream.rb,
lib/adn/api/response.rb,
lib/adn/api/subscription.rb

Defined Under Namespace

Modules: Filter, Post, Stream, Subscription, Token, User Classes: Error, Response

Class Method Summary collapse

Class Method Details

.delete(url) ⇒ Object



39
40
41
42
# File 'lib/adn/api.rb', line 39

def delete(url)
  request = Net::HTTP::Delete.new(url)
  perform(request)
end

.get(url, params = nil) ⇒ Object



21
22
23
24
25
# File 'lib/adn/api.rb', line 21

def get(url, params = nil)
  url = params.nil? ? url : [url, URI.encode_www_form(params)].join("?")
  request = Net::HTTP::Get.new(url)
  perform(request)
end

.perform(request) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/adn/api.rb', line 12

def perform(request)
  request.add_field("Authorization", "Bearer #{ADN.token}")
  response = JSON.parse ADN::HTTP.request(request).body

  Response.new(response).tap { |r|
    raise ADN::API::Error, r['error'] if r.has_error?
  }
end

.post(url, params = nil) ⇒ Object



27
28
29
30
31
# File 'lib/adn/api.rb', line 27

def post(url, params = nil)
  request = Net::HTTP::Post.new(url)
  request.set_form_data(params) if params
  perform(request)
end

.put(url, params = nil) ⇒ Object



33
34
35
36
37
# File 'lib/adn/api.rb', line 33

def put(url, params = nil)
  request = Net::HTTP::Put.new(url)
  request.set_form_data(params) if params
  perform(request)
end