Twingly Search API Ruby
A Ruby gem for Twingly's Blog Search API (previously known as Analytics API) and Blog LiveFeed API. Twingly is a blog search service that provides a searchable API known as Twingly Blog Search API and a blog data firehose called Twingly Blog LiveFeed API.
Install via RubyGems
gem install twingly-search
Or add to your application's Gemfile and then run
twingly-search gem talks to a commercial API and requires an API key. Best practice is to set the
TWINGLY_SEARCH_KEY environment variable to the obtained key.
Twingly::LiveFeed::Client can be passed a key at initialization if your setup does not allow environment variables.
Blog Search API
require "twingly/search" client = Twingly::Search::Client.new do |client| client.user_agent = "MyCompany/1.0" end query = client.query do |query| query.search_query = "github page-size:10" query.language = "sv" end result = query.execute => #<Twingly::Search::Result:0x3ff7adcbe3d4 @posts, @number_of_matches_returned=10, @number_of_matches_total=3035221> result.posts # will include all returned posts
Blog LiveFeed API
require "twingly/livefeed" client = Twingly::LiveFeed::Client.new do |client| client.user_agent = "MyCompany/1.0" # Start getting posts indexed by Twingly at this timestamp client.timestamp = Time.now - 3600 # 1 hour ago client.max_posts = 1000 # Maximum number of posts returned per call end # get the next chunk of posts result = client.next_result => #<Twingly::LiveFeed::Result:0x3fcd98215c14 @posts, @ts=2017-04-18 14:42:18 UTC, @from=2017-04-18 13:42:06 UTC, @number_of_posts=989, @max_number_of_posts=1000, @first_post=2017-04-18 13:42:19 UTC, @last_post=2017-04-18 14:42:13 UTC> result.posts # will include all returned posts
Make sure you have all the dependencies
Run the tests
bundle exec rake
- Make a commit bumping the version in
lib/twingly/search/version.rb, follow Semantic Versioning 2.0.0. No need to push as this will be taken care of automatically in the next step.
- Build and the release gem with
bundle exec rake release. This will create a git tag for the version and push the
.gemfile to RubyGems.org.
- Generate a changelog with
gem install github_changelog_generatorif you don't have it). Set
CHANGELOG_GITHUB_TOKENto a personal access token to increase the API rate limit. (The changelog uses GitHub Changelog Generator)
- Update release information on the releases page. This is done manually.
This gem is documented using YARD. To start a local YARD server run:
bundle exec rake yard:server
The YARD server reloads the documentation automatically so there is no need to restart it when making changes.