Class: Delicious::API

Inherits:
Object
  • Object
show all
Defined in:
lib/delicious-api-via-oauth/delicious/api.rb

Instance Method Summary collapse

Constructor Details

#initialize(api_key, shared_secret) ⇒ API

Returns a new instance of API.



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/delicious-api-via-oauth/delicious/api.rb', line 5

def initialize(api_key, shared_secret)
  yahoo_consumer = OAuth::Yahoo::Consumer.new(api_key, shared_secret)
  unless @request_token = OAuth::Yahoo::RequestToken.load
    @request_token = yahoo_consumer.get_request_token
    @request_token.save
  end
  unless @access_token = OAuth::Delicious::AccessToken.load
    oauth_access_token = @request_token.get_access_token
    @request_token.save
    @access_token = OAuth::Delicious::AccessToken.new(oauth_access_token)
    @access_token.save
  end
end

Instance Method Details

#posts_add!(parameters) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/delicious-api-via-oauth/delicious/api.rb', line 19

def posts_add!(parameters)
  response = @access_token.get('/v2/posts/add', parameters)
  unless response.is_a?(Net::HTTPOK)
    raise "HTTP response code: #{response.code}"
  end
  matches = Regexp.new('<result code="([^\"]*)" />').match(response.body)
  unless matches && matches[1] == 'done'
    raise "Delicious API code: '#{matches[1]}'"
  end
  response
end