Class: TicketSales::TicketList

Inherits:
Object
  • Object
show all
Includes:
Enumerable, TicketSearch
Defined in:
lib/ticket_sales/ticket_list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from TicketSearch

#cheapest_ticket, #fastest_ticket, #get_tickets, #next_tickets_combined_with, #previous_tickets_combined_with, #tickets_arriving_at, #tickets_connected_with, #tickets_departing_from

Constructor Details

#initializeTicketList

Returns a new instance of TicketList.



49
50
51
# File 'lib/ticket_sales/ticket_list.rb', line 49

def initialize
  @tickets = []
end

Instance Attribute Details

#ticketsObject (readonly)

Returns the value of attribute tickets.



47
48
49
# File 'lib/ticket_sales/ticket_list.rb', line 47

def tickets
  @tickets
end

Instance Method Details

#add(ticket) ⇒ Object



53
54
55
56
# File 'lib/ticket_sales/ticket_list.rb', line 53

def add(ticket)
  @tickets |= tickets_combined_with(ticket)
  @tickets << ticket
end

#each(&block) ⇒ Object



58
59
60
# File 'lib/ticket_sales/ticket_list.rb', line 58

def each(&block)
  @tickets.each(&block)
end

#filter(criteria) ⇒ Object



62
63
64
# File 'lib/ticket_sales/ticket_list.rb', line 62

def filter(criteria)
  @tickets.select { |ticket| criteria.met_by? ticket }
end