Module: TicketSales::Criteria

Defined in:
lib/ticket_sales/criteria.rb

Defined Under Namespace

Classes: Criterion

Class Method Summary collapse

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

.price_to(amount) ⇒ Object



16
17
18
# File 'lib/ticket_sales/criteria.rb', line 16

def price_to(amount)
  Criterion.new { |ticket| ticket.price <= amount }
end

.to(location) ⇒ Object



8
9
10
# File 'lib/ticket_sales/criteria.rb', line 8

def to(location)
  Criterion.new { |ticket| ticket.to == location }
end