The official Ruby library for accessing the DataSift API. See http://datasift.net for full details and to sign up for an account.
The examples and tests use the username and API key in config.yml.
sudo gem install datasift
If you're using the source you'll need to install the dependencies.
sudo gem install yajl-ruby rest-client
This example looks for anything that contains the word "datasift" and simply prints the content to the screen as they come in.
require 'rubygems'
require 'datasift'
user = DataSift::User.new("your username", "your api_key")
definition = user.createDefinition('interaction.content contains "football"')
consumer = definition.getConsumer(DataSift::StreamConsumer::TYPE_HTTP)
consumer.consume(true) do |interaction|
if interaction
puts interaction['interaction']['content']
end
end
See the DataSift documentation for full details of the data contained within each interaction. See this page on our developer site for an example tweet: http://dev.datasift.com/docs/targets/twitter/twitter-output-format
All code contained in this repository is Copyright 2011-2012 MediaSift Ltd.
This code is released under the BSD license. Please see the LICENSE file for more details.
-
v.1.3.0 Improved error handling (2012-03-08)
Added onError and onWarning events - see examples/consume-stream.rb for an example.
Stopped the HTTP consumer from attempting to reconnect when it receives a 4xx response from the server.
-
v.1.2.0 Twitter Compliance (2012-02-28)
The consumer now has an onDeleted method to which you can assign a block that will be called to handle DELETE requests from Twitter. See delete.rb in the examples folder for a sample implementation. (@see http://dev.datasift.com/docs/twitter-deletes)
NB: if you are storing tweets you must implement this method in your code and take appropriate action to maintain compliance with the Twitter license.