Casecommons / pg_search

pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL’s full text search
http://www.casebook.net
MIT License
1.3k stars 369 forks source link

Maintain a list of generated scope methods #515

Open olivier-thatch opened 1 year ago

olivier-thatch commented 1 year ago

Hello,

I am trying to write a Tapioca compiler for pg_search.

The problem is that currently, there is no way to know which methods were generated by pg_search by introspecting an Active Record model class.

Ideally, pg_search would maintain a list of the methods generated by its pg_search_scope DSL. Rails itself does this for a variety of its DSLs.

For example: the scope DSL calls generate_relation_method, which keeps track of generated methods in the GeneratedRelationMethods module which can then be retrieved by calling the (private) method generated_relation_methods.

Would you be open to such a change? If so, I'd be happy to submit a prototype in a PR and discuss from there.