adamantium
adamantium copied to clipboard
Create immutable objects
How does your `memoize` library deal with garbage collection? Will it release the memory if the instance who's method is memoized goes away? What about the parameters? I tried looking...
Hi @dkubb , I think I might have found an issue with memoization. Apparently, when memoizing a method which initialises objects that define methods dynamically, the dynamic methods on the...
``` ➜ adamantium git:(master) bundle Updating https://github.com/rom-rb/devtools.git Updating https://github.com/mbj/mutant.git Fetching gem metadata from https://rubygems.org/......... Fetching version metadata from https://rubygems.org/... Fetching dependency metadata from https://rubygems.org/.. Resolving dependencies.... Bundler could not find...
I was using Adamantium to help drive some immutability into my code, and noted a key issue in testing. I was memoizing under Adamantium::Flat a result from another class that...
This branch memoizes the `#hash`, `#to_s` and `#inspect` methods automatically since they are based on the instance state, and cannot change since the instance state is immutable. [Fix #9]
I suggest to add a global switch to deactivate Adamantium. If it is activated, all calls to `include Adamantium` will be noops. **Reasoning:** @solnic and I talked about Adamantium when...
This is no git tag for the 0.1.0 release. I believe it should be tagged at https://github.com/dkubb/adamantium/commit/0077c03aa3e0331b6cda729b54c024f59d150378.
An immutable object's state never changes, so the `#hash`, `#inspect` and `#to_s` methods are idempotent. These methods should be memoized by default.