First, install it:
$ gem install tacky
Then, use it like this:
require 'tacky'
obj = Tacky.new(obj)
That's it, all method calls will be cached. This means that only the first
call of any method will actually reach your object. All consecutive calls
will be intercepted by the Tacky
decorator, which will return
previously calculated values. The decorator keeps all values in its internal
Hash
.
If you want all methods of everything your methods return be cached too, you
need to use "deep" caching (it's true
by default):
obj = Tacky.new(obj, deep: true)
Keep in mind that Tacky
is thread-safe.
How to contribute
Read these guidelines. Make sure you build is green before you contribute your pull request. You will need to have Ruby 2.3+ and Bundler installed. Then:
$ bundle update
$ bundle exec rake
If it's clean and you don't see any error messages, submit your pull request.