Twingly::UrlCache
URL cache, remember if an URL been seen before. Uses Memcached to cache data, prefers MemCachier.
Installation
Add this line to your application's Gemfile:
gem 'twingly-url_cache'
And then execute:
$ bundle
Or install it yourself as:
$ gem install twingly-url_cache
Usage
Initialize an instance, cache an URL with #cache!
and look if it's cached with #cached?
.
[1] pry(main)> cache = Twingly::UrlCache.new
=> #<Twingly::UrlCache:0x007fd58c96b978 ...>
[2] pry(main)> cache.cache!("http://www.twingly.com/")
=> true
[3] pry(main)> cache.cached?("http://www.twingly.com/")
=> true
[4] pry(main)> cache.cached?("http://blog.twingly.com/")
=> false
Optional environment variables:
MEMCACHIER_SERVERS # Defaults to localhost
MEMCACHIER_PASSWORD
MEMCACHIER_USERNAME
Development
After checking out the repo, run bin/setup
to install dependencies. Start memcached. Then, run bundle exec rake
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
.
Release workflow
Update the examples in this README if needed.
Bump the version in
lib/twingly/url_cache/version.rb
in a commit, no need to push (the release task does that).Ensure you are signed in to RubyGems.org as twingly with
gem signin
.Build and publish the gem. This will create the proper tag in git, push the commit and tag and upload to RubyGems.
bundle exec rake release
Update the changelog with GitHub Changelog Generator (
gem install github_changelog_generator
if you don't have it, setCHANGELOG_GITHUB_TOKEN
to a personal access token to avoid rate limiting by GitHub). This command will updateCHANGELOG.md
. You need to commit and push manually.github_changelog_generator -u twingly -p twingly-url_cache
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/twingly/twingly-url_cache.