Use class methods for multi-line scopes
Some of our team members don't like using `do...end` for scopes, and
some other team members don't like using `{ ... }` for multi-line
blocks, so we've agreed to use class methods instead.
This commit is contained in:
@@ -97,13 +97,22 @@ class Budget
|
||||
scope :by_heading, ->(heading_id) { where(heading_id: heading_id) }
|
||||
scope :by_admin, ->(admin_id) { where(administrator_id: admin_id) }
|
||||
scope :by_tag, ->(tag_name) { tagged_with(tag_name) }
|
||||
scope :by_valuator, ->(valuator_id) { where("budget_valuator_assignments.valuator_id = ?", valuator_id).joins(:valuator_assignments) }
|
||||
scope :by_tracker, ->(tracker_id) { where("budget_tracker_assignments.tracker_id = ?",
|
||||
tracker_id).joins(:tracker_assignments) }
|
||||
scope :by_valuator_group, ->(valuator_group_id) { where("budget_valuator_group_assignments.valuator_group_id = ?", valuator_group_id).joins(:valuator_group_assignments) }
|
||||
|
||||
scope :for_render, -> { includes(:heading) }
|
||||
|
||||
def self.by_valuator(valuator_id)
|
||||
where("budget_valuator_assignments.valuator_id = ?", valuator_id).joins(:valuator_assignments)
|
||||
end
|
||||
|
||||
def self.by_tracker(tracker_id)
|
||||
where("budget_tracker_assignments.tracker_id = ?", tracker_id).joins(:tracker_assignments)
|
||||
end
|
||||
|
||||
def self.by_valuator_group(valuator_group_id)
|
||||
joins(:valuator_group_assignments).
|
||||
where("budget_valuator_group_assignments.valuator_group_id = ?", valuator_group_id)
|
||||
end
|
||||
|
||||
before_create :set_original_heading_id
|
||||
before_save :calculate_confidence_score
|
||||
after_save :recalculate_heading_winners
|
||||
|
||||
@@ -59,9 +59,12 @@ class Legislation::Process < ApplicationRecord
|
||||
scope :past, -> { where("end_date < ?", Date.current) }
|
||||
|
||||
scope :published, -> { where(published: true) }
|
||||
scope :not_in_draft, -> { where("draft_phase_enabled = false or (draft_start_date IS NOT NULL and
|
||||
draft_end_date IS NOT NULL and (draft_start_date > ? or
|
||||
draft_end_date < ?))", Date.current, Date.current) }
|
||||
|
||||
def self.not_in_draft
|
||||
where("draft_phase_enabled = false or (draft_start_date IS NOT NULL and
|
||||
draft_end_date IS NOT NULL and (draft_start_date > ? or
|
||||
draft_end_date < ?))", Date.current, Date.current)
|
||||
end
|
||||
|
||||
def past?
|
||||
end_date < Date.current
|
||||
|
||||
Reference in New Issue
Block a user