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/")
=> falseOptional environment variables:
MEMCACHIER_SERVERS # Defaults to localhost
MEMCACHIER_PASSWORD
MEMCACHIER_USERNAMEDevelopment
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.rbin 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_generatorif you don't have it, setCHANGELOG_GITHUB_TOKENto 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.