Class: Centra::OrderFilter
- Inherits:
-
Object
- Object
- Centra::OrderFilter
- Defined in:
- lib/centra/order_filter.rb
Instance Method Summary collapse
- #allow?(order) ⇒ Boolean
- #date_range_covered?(order) ⇒ Boolean
- #included_country?(order) ⇒ Boolean
-
#initialize(countries: [], date_range: nil) ⇒ OrderFilter
constructor
A new instance of OrderFilter.
Constructor Details
#initialize(countries: [], date_range: nil) ⇒ OrderFilter
3 4 5 6 |
# File 'lib/centra/order_filter.rb', line 3 def initialize(countries: [], date_range: nil) @date_range = date_range @countries = countries end |
Instance Method Details
#allow?(order) ⇒ Boolean
8 9 10 11 12 13 |
# File 'lib/centra/order_filter.rb', line 8 def allow?(order) return false unless date_range_covered?(order) return false unless included_country?(order) true end |
#date_range_covered?(order) ⇒ Boolean
15 16 17 18 19 |
# File 'lib/centra/order_filter.rb', line 15 def date_range_covered?(order) return true unless @date_range @date_range.cover?(order.order_date) end |
#included_country?(order) ⇒ Boolean
21 22 23 24 25 |
# File 'lib/centra/order_filter.rb', line 21 def included_country?(order) return true if @countries.empty? @countries.include?(order.delivery_country) end |