Class: Livedoor::API::FeedDiscover::Client
- Inherits:
-
Object
- Object
- Livedoor::API::FeedDiscover::Client
- Defined in:
- lib/livedoor/api/feed_discover/client.rb
Constant Summary collapse
- BASE_URI =
URI("http://rpc.reader.livedoor.com/feed/discover").freeze
- DEFAULT_USERAGENT =
"livedoor-feeddiscover/#{Livedoor::API::FeedDiscover::VERSION::STRING} (+http://feeddiscoverapi.rubyforge.org)"
Instance Method Summary collapse
- #find(*args) ⇒ Object
- #find_from(url, header = nil) ⇒ Object
- #http_header ⇒ Object
-
#initialize(header = nil) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(header = nil) ⇒ Client
Returns a new instance of Client.
23 24 25 26 27 28 |
# File 'lib/livedoor/api/feed_discover/client.rb', line 23 def initialize(header = nil) @http_header = { "User-Agent" => DEFAULT_USERAGENT, } @http_header.update(header) if header end |
Instance Method Details
#find(*args) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/livedoor/api/feed_discover/client.rb', line 34 def find(*args) urls = (args || []).flatten header = (Hash === urls.last ? urls.pop : {}) raise ArgumentError, "empty link" if urls.empty? raise ArgumentError, "to many links `#{urls.size}' (max 1000)" if 1000 < urls.size FeedList.new(discover_lazy(http_header.update(header), :links => urls.join("\n"))) end |
#find_from(url, header = nil) ⇒ Object
42 43 44 45 46 |
# File 'lib/livedoor/api/feed_discover/client.rb', line 42 def find_from(url, header = nil) raise ArgumentError, "nil url" if url.nil? header ||= {} FeedList.new(discover_lazy(http_header.update(header), :url => url)) end |
#http_header ⇒ Object
30 31 32 |
# File 'lib/livedoor/api/feed_discover/client.rb', line 30 def http_header @http_header.dup end |