lib/unitwise/compatible.rb in unitwise-0.6.1 vs lib/unitwise/compatible.rb in unitwise-0.6.2
- old
+ new
@@ -4,9 +4,16 @@
# represented as a Signed Multiset.
module Compatible
# @api private
def self.included(base)
base.send :include, Comparable
+ base.send :include, Memoizable unless base < Memoizable
+ base.send :memoize, :composition, :composition_string
+ end
+
+ def initialize(*args)
+ super(*args)
+ freeze
end
# A representation of a unit based on the atoms it's derived from.
# @return [SignedMultiset]
# @api public