Skip to content

Instantly share code, notes, and snippets.

@dmitry
Created January 12, 2021 18:20
Show Gist options
  • Save dmitry/8aa38643e44752dd728d441a2d6f83c9 to your computer and use it in GitHub Desktop.
Save dmitry/8aa38643e44752dd728d441a2d6f83c9 to your computer and use it in GitHub Desktop.

Revisions

  1. dmitry renamed this gist Jan 12, 2021. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. dmitry created this gist Jan 12, 2021.
    9 changes: 9 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    module UnionScopeConcern
    extend ActiveSupport::Concern

    class_methods do
    def union_scope(*scopes)
    scopes[1..-1].inject(where(id: scopes.first)) { |all, scope| all.or(where(id: scope)) }
    end
    end
    end