Sha256: 6b271b3b232413ec95f67ecc6597c42ed699f5eae61b02587218d338c05e6020
Contents?: true
Size: 620 Bytes
Versions: 10
Compression:
Stored size: 620 Bytes
Contents
class SiteHub module Equality module ClassMethods def transient_fields @transient_fields ||= [] end def transient(*fields) transient_fields.concat(fields.collect { |field| "@#{field}".to_sym }) end end def self.included(clazz) clazz.extend(ClassMethods) end def ==(other) fields = instance_variables.find_all { |field| !_clazz.transient_fields.include?(field) } fields.all? do |variable| instance_variable_get(variable) == other.instance_variable_get(variable) end end def _clazz self.class end end end
Version data entries
10 entries across 10 versions & 1 rubygems