Sha256: 265b8a097a48cba890d86846e67a59cad230bec206a1f80d22bf3858153f212a

Contents?: true

Size: 508 Bytes

Versions: 8

Compression:

Stored size: 508 Bytes

Contents

module Schemas
  class Paginate < PaginationSearch::HashPaginate
    protected

    def searched(items, search)
      search = expand_dot_notation(search) if /\A[A-z0-9]+\.[A-z0-9]+\z/ =~ search
      super(items, search)
    end

    def sorted(items, _)
      items.sort_by { |i| "#{i[:schema]}.#{i[:table]}.#{i[:column]}" }.reverse
    end

    private

    def expand_dot_notation(search)
      schema, table = search.split('.')
      "schema:#{schema} table:#{table} match_type:exact"
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
aleph_analytics-0.4.9.pre.dev lib/schemas/paginate.rb
aleph_analytics-0.4.8 lib/schemas/paginate.rb
aleph_analytics-0.4.7 lib/schemas/paginate.rb
aleph_analytics-0.4.4 lib/schemas/paginate.rb
aleph_analytics-0.4.2 lib/schemas/paginate.rb
aleph_analytics-0.4.1 lib/schemas/paginate.rb
aleph_analytics-0.3.0 lib/schemas/paginate.rb
aleph_analytics-0.2.0 lib/schemas/paginate.rb