Skip to Content Skip to Search
Methods
A
M
N
P

Attributes

[RW] member_status
[RW] plan_id
[RW] plan_status
[RW] query
[RW] results
[RW] site
[RW] site_plans
[RW] term

Class Public methods

active_members(plan: nil, site: nil, plan_id: nil)

# File app/actions/action/member_searcher.rb, line 33
def active_members(plan: nil, site: nil, plan_id: nil)
  # `plan` is required if `site_id` or `plan_id`` are nil
  plan_id ||= plan.id
  site ||= plan.site
  new(site, plan_status: :active, plan_id:).results
end

member_statuses()

# File app/actions/action/member_searcher.rb, line 4
def member_statuses
  %w[
    approved
    denied
    awaiting_approval
    imported
    invited
  ].map { |s| [s.tr("_", " ").titleize, s] }
end

new(site, search = {})

# File app/actions/action/member_searcher.rb, line 44
def initialize(site, search = {})
  @site = site
  @site_plans = site.all_plans
  @plan_id = get_plan_id(search)
  @plan_status = get_plan_status(search)
  @member_status = get_member_status(search)
  @term = get_term(search)
  @results = lazy_load_query(search)
end

plan_selection(site)

# File app/actions/action/member_searcher.rb, line 29
def plan_selection(site)
  site.plans.map { |plan| [plan.name, plan.id] }
end

plan_statuses(site = nil)

# File app/actions/action/member_searcher.rb, line 14
def plan_statuses(site = nil)
  %W[
    show_all
    paid
    free
    #{"agency" if site&.memberspace?}
    on_trial
    past_due
    canceled
    plan_set_to_cancel
    expired
    not_on_a_plan
  ].filter(&:present?).map { |s| [s.tr("_", " ").capitalize, s] }
end