class Centaman::Filter
Attributes
booking_time_id[R]
booking_type_id[R]
email[R]
end_date[R]
member_code[R]
membership_type_id[R]
start_date[R]
Public Class Methods
new(args = {})
click to toggle source
# File lib/centaman/filter.rb, line 7 def initialize(args = {}) @booking_type_id = args[:booking_type_id].try(:to_i) @booking_time_id = args[:booking_time_id].try(:to_i) @start_date = args[:start_date] @end_date = args[:end_date] @membership_type_id = args.fetch(:membership_type_id, nil).try(:to_i) @member_code = args.fetch(:member_code, nil).try(:to_i) @email = args.fetch(:email, nil) end
Public Instance Methods
add_ons()
click to toggle source
# File lib/centaman/filter.rb, line 59 def add_ons Centaman::Service::AddOn.new(membership_type_id: membership_type_id).objects end
booking_times()
click to toggle source
# File lib/centaman/filter.rb, line 34 def booking_times @booking_times ||= Centaman::Service::BookingTime.new( booking_type_id: booking_type_id, start_date: start_date, end_date: end_date ).objects end
booking_types()
click to toggle source
# File lib/centaman/filter.rb, line 26 def booking_types @booking_types ||= Centaman::Service::BookingType.new.objects end
capacity()
click to toggle source
# File lib/centaman/filter.rb, line 46 def capacity @capacity ||= Centaman::Service::Capacity.new(booking_time_id: booking_time_id, start_date: start_date).objects.first end
find_add_on(membership_type_id, id)
click to toggle source
# File lib/centaman/filter.rb, line 63 def find_add_on(membership_type_id, id) Centaman::Service::AddOn.find(membership_type_id, id) end
find_booking_time(booking_time_id)
click to toggle source
# File lib/centaman/filter.rb, line 21 def find_booking_time(booking_time_id) raise "booking_time_id is required for find_booking_time method of #{self.class.name} class" if booking_time_id.nil? booking_times.detect { |c| c.id.to_s == booking_time_id.to_s } end
find_booking_type(booking_type_id)
click to toggle source
# File lib/centaman/filter.rb, line 17 def find_booking_type(booking_type_id) booking_types.detect { |c| c.booking_type_id == booking_type_id } end
find_member(args)
click to toggle source
# File lib/centaman/filter.rb, line 67 def find_member(args) Centaman::Service::Member.new( member_code: args[:member_code], email: args[:email] ).objects end
find_membership_type(membership_type_id)
click to toggle source
# File lib/centaman/filter.rb, line 54 def find_membership_type(membership_type_id) raise "membership_type_id is required for find_membership_type method of #{self.class.name} class" if membership_type_id.nil? Centaman::Service::MembershipType.find(membership_type_id) end
gift_tickets()
click to toggle source
# File lib/centaman/filter.rb, line 42 def gift_tickets @gift_tickets ||= Centaman::Service::GiftTicket.new.objects end
membership_types()
click to toggle source
# File lib/centaman/filter.rb, line 50 def membership_types Centaman::Service::MembershipType.new.objects end
tickets()
click to toggle source
# File lib/centaman/filter.rb, line 30 def tickets @tickets ||= Centaman::Service::TicketType.new(booking_time_id: booking_time_id).objects end