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

Version Path
artfully_ose-1.2.0 app/models/donation_search.rb
artfully_ose-1.2.0.beta.1 app/models/donation_search.rb
artfully_ose-1.2.0.alpha.2 app/models/donation_search.rb
artfully_ose-1.2.0.alpha.1 app/models/donation_search.rb
artfully_ose-1.2.0.pre.27 app/models/donation_search.rb
artfully_ose-1.2.0.pre.26 app/models/donation_search.rb
artfully_ose-1.2.0.pre.24 app/models/donation_search.rb
artfully_ose-1.2.0.pre.23 app/models/donation_search.rb
artfully_ose-1.2.0.pre.21 app/models/donation_search.rb
artfully_ose-1.2.0.pre.20 app/models/donation_search.rb
artfully_ose-1.2.0.pre.19 app/models/donation_search.rb
artfully_ose-1.2.0.pre.18 app/models/donation_search.rb
artfully_ose-1.2.0.pre.17 app/models/donation_search.rb
artfully_ose-1.2.0.pre.16 app/models/donation_search.rb
artfully_ose-1.2.0.pre.15 app/models/donation_search.rb
artfully_ose-1.2.0.pre.12 app/models/donation_search.rb
artfully_ose-1.2.0.pre.11 app/models/donation_search.rb
artfully_ose-1.2.0.pre.10 app/models/donation_search.rb
artfully_ose-1.2.0.pre.9 app/models/donation_search.rb
artfully_ose-1.2.0.pre.8 app/models/donation_search.rb