module AxleAttributes module Versioned extend ActiveSupport::Concern included do class_attribute :versioned_attributes, instance_accessor: false self.versioned_attributes = Set.new end module ClassMethods def inherited(child) child.versioned_attributes = versioned_attributes.dup super end def add_versioned_attribute(*attributes) attributes.each { |attribute| versioned_attributes << attribute.to_s } end end end end