chinwagsocial/app/models/instance_filter.rb

31 lines
717 B
Ruby
Raw Normal View History

2017-09-13 20:30:07 +10:00
# frozen_string_literal: true
class InstanceFilter
KEYS = %i(
limited
by_domain
).freeze
2017-09-13 20:30:07 +10:00
attr_reader :params
def initialize(params)
@params = params
end
def results
2019-01-08 23:39:49 +11:00
if params[:limited].present?
scope = DomainBlock
scope = scope.matches_domain(params[:by_domain]) if params[:by_domain].present?
scope.order(id: :desc)
2019-07-30 19:10:46 +10:00
elsif params[:allowed].present?
scope = DomainAllow
scope = scope.matches_domain(params[:by_domain]) if params[:by_domain].present?
scope.order(id: :desc)
2017-09-13 20:30:07 +10:00
else
scope = Account.remote
scope = scope.matches_domain(params[:by_domain]) if params[:by_domain].present?
scope.by_domain_accounts
2017-09-13 20:30:07 +10:00
end
end
end