Module: TicketSales::Criteria
- Defined in:
- lib/ticket_sales/criteria.rb
Defined Under Namespace
Classes: Criterion
Class Method Summary collapse
- .arrives_after(time) ⇒ Object
- .arrives_before(time) ⇒ Object
- .departs_after(time) ⇒ Object
- .departs_before(time) ⇒ Object
- .feature(string) ⇒ Object
- .from(location) ⇒ Object
- .price_from(amount) ⇒ Object
- .price_to(amount) ⇒ Object
- .to(location) ⇒ Object
Class Method Details
.arrives_after(time) ⇒ Object
32 33 34 |
# File 'lib/ticket_sales/criteria.rb', line 32 def arrives_after(time) Criterion.new { |ticket| time < ticket.arrival_time } end |
.arrives_before(time) ⇒ Object
28 29 30 |
# File 'lib/ticket_sales/criteria.rb', line 28 def arrives_before(time) Criterion.new { |ticket| ticket.arrival_time < time } end |
.departs_after(time) ⇒ Object
24 25 26 |
# File 'lib/ticket_sales/criteria.rb', line 24 def departs_after(time) Criterion.new { |ticket| time < ticket.departure_time } end |
.departs_before(time) ⇒ Object
20 21 22 |
# File 'lib/ticket_sales/criteria.rb', line 20 def departs_before(time) Criterion.new { |ticket| ticket.departure_time < time } end |
.feature(string) ⇒ Object
36 37 38 |
# File 'lib/ticket_sales/criteria.rb', line 36 def feature(string) Criterion.new { |ticket| /#{string}/ === ticket.features } end |
.from(location) ⇒ Object
4 5 6 |
# File 'lib/ticket_sales/criteria.rb', line 4 def from(location) Criterion.new { |ticket| ticket.from == location } end |
.price_from(amount) ⇒ Object
12 13 14 |
# File 'lib/ticket_sales/criteria.rb', line 12 def price_from(amount) Criterion.new { |ticket| amount <= ticket.price } end |