class Hash
Public Instance Methods
shrink()
click to toggle source
# File lib/rantly/shrinks.rb, line 174 def shrink if self.any?{|_,v| v.respond_to?(:shrinkable?) && v.shrinkable? } key,_ = self.detect{|_,v| v.respond_to?(:shrinkable?) && v.shrinkable? } clone = self.dup clone[key] = clone[key].shrink return clone elsif !self.empty? key = self.keys.first h2 = self.dup h2.delete(key) return h2 else return self end end
shrinkable?()
click to toggle source
# File lib/rantly/shrinks.rb, line 190 def shrinkable? self.any?{|_,v| v.respond_to?(:shrinkable?) && v.shrinkable? } || !self.empty? end