Class: Tumblr::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/tumblr/request.rb

Class Method Summary collapse

Class Method Details

.authenticate(email, password) ⇒ Object



23
24
25
# File 'lib/tumblr/request.rb', line 23

def self.authenticate(email, password)
  HTTParty.post('http://www.tumblr.com/api/authenticate', :query => {:email => email, :password => password})
end

.delete(options = {}) ⇒ Object

a POST request to www.tumblr.com/api/delete



17
18
19
20
# File 'lib/tumblr/request.rb', line 17

def self.delete(options = {})
  response = HTTParty.post('http://www.tumblr.com/api/delete', :query => options)
  return(response) unless raise_errors(response)
end

.raise_errors(response) ⇒ Object

raise tumblr response errors.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/tumblr/request.rb', line 28

def self.raise_errors(response)
  if(response.is_a?(Hash))
    message = "#{response[:code]}: #{response[:body]}"
    code = response[:code].to_i
  else
    message = "#{response.code}: #{response.body}"
    code = response.code.to_i
  end
  
  case code
    when 403
      raise(Forbidden.new, message)
    when 400
      raise(BadRequest.new, message)
    when 404
      raise(NotFound.new, message)
    when 201
      return false
  end        
end

.read(options = {}) ⇒ Object



5
6
7
8
# File 'lib/tumblr/request.rb', line 5

def self.read(options = {})
    response = HTTParty.get("http://#{Tumblr::blog}/api/read", options)
  return response unless raise_errors(response)
end

.write(options = {}) ⇒ Object

a POST request to www.tumblr.com/api/write



11
12
13
14
# File 'lib/tumblr/request.rb', line 11

def self.write(options = {})
  response = HTTParty.post('http://www.tumblr.com/api/write', :query => options)
  return(response) unless raise_errors(response)
end