Module: FeedlyApi

Defined in:
lib/feedly_api.rb,
lib/feedly_api/api.rb,
lib/feedly_api/feed.rb,
lib/feedly_api/client.rb,
lib/feedly_api/errors.rb,
lib/feedly_api/version.rb,
lib/feedly_api/feed_item.rb

Defined Under Namespace

Modules: API Classes: AuthError, BadRequest, Client, Error, Feed, FeedItem, NotFound

Constant Summary collapse

API_ENDPOINT =

A Ruby client library for Feedly Reader

'http://cloud.feedly.com/v3/'.freeze
VERSION =
'0.6.3'.freeze

Class Method Summary collapse

Class Method Details

.get(url, token) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/feedly_api.rb', line 14

def get(url, token)
  uri = URI(url)
  req = Net::HTTP::Get.new(uri.request_uri)

  unless token.nil?
    req['$Authorization.feedly'] = '$FeedlyAuth'
    req['Authorization'] = "OAuth #{token}"
  end

  response = Net::HTTP.start(uri.hostname, uri.port) do |http|
    http.request(req)
  end

  handle_errors(response)
end

.handle_errors(response) ⇒ Object

Raises:



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/feedly_api.rb', line 30

def handle_errors(response)
  raise BadRequest if 'null' == response.body

  case response.code.to_i
  when 200 then response.body
  when 401 then raise AuthError
  when 403 then raise AuthError
  when 404 then raise NotFound
  when 500 then raise Error
  else
    raise Error
  end
end