• Yorick Peterse's avatar
    Cache default_issues_tracker? in Banzai · 7f0fd73e
    Yorick Peterse authored
    Every object processed by ExternalIssueReferenceFilter can return a
    different Project instance when calling "project". For example, every
    note processed will have it's own associated Project. If we were to
    cache Project#default_issues_tracker? on Project level this would have
    no impact on Markdown rendering timings as the cache would have to be
    built for every Project instance without it ever being re-used.
    
    To work around this we cache Project#default_issues_tracker? in
    Banzai::Filter::ExternalIssueReferenceFilter using the project's _id_
    instead of the whole object. This setup allows re-using of the cached
    data even when the Project instances used are different, as long as the
    actual project IDs are the same.
    7f0fd73e
external_issue_reference_filter.rb 3.29 KB