Sha256: 4017af41dbcee2f2ae71ac4994311a4ca6d81c130e71ea9f396aceab5940d388
Contents?: true
Size: 774 Bytes
Versions: 28
Compression:
Stored size: 774 Bytes
Contents
class DonationSearch attr_reader :start, :stop def initialize(start, stop, organization) @organization = organization @start = start_with(start) @stop = stop_with(stop) @results = yield(results) if block_given? end def results @results ||= Order.in_range(@start, @stop, @organization.id).select(&:has_donation?).sort_by(&:created_at) end private def start_with(start) start.present? ? DateTime.parse(start) : default_start end def stop_with(stop) stop.present? ? Sundial.midnightish(@organization, stop) : default_stop end def default_start DateTime.now.in_time_zone(@organization.time_zone).beginning_of_month end def default_stop DateTime.now.in_time_zone(@organization.time_zone).end_of_day end end
Version data entries
28 entries across 28 versions & 1 rubygems