Skip to content

Instantly share code, notes, and snippets.

@yalab
Last active April 17, 2016 09:01
Show Gist options
  • Save yalab/e332fe7e0bf8f17e75cabbe0adf2e3ed to your computer and use it in GitHub Desktop.
Save yalab/e332fe7e0bf8f17e75cabbe0adf2e3ed to your computer and use it in GitHub Desktop.
# config/initializers/active_record_save_scope_names.rb
ActiveSupport.on_load(:active_record) do
module SaveScopeNames
extend ActiveSupport::Concern
module ClassMethods
attr_reader :scope_names
def scope(*args)
@scope_names ||= []
@scope_names << :"#{self.name.downcase}##{args.first}"
super
end
def all_scope_names
ActiveRecord::Base.subclasses.map(&:scope_names).flatten.compact
end
end
end
ActiveRecord::Base.include(SaveScopeNames)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment