Sha256: 328c80d31e96daa95aca36dc8a48f3f6968f78a0cc61ea3a2686fbff9e3c816e

Contents?: true

Size: 1.43 KB

Versions: 6

Compression:

Stored size: 1.43 KB

Contents

require_relative '../resource'

module Tickethub
  class Supplier::Booking < Resource
    path '/supplier/bookings'

    require_relative 'booking/ticket'
    require_relative 'booking/voucher'

    require_relative 'rate'
    require_relative 'order'
    require_relative 'answer'
    require_relative 'product'
    require_relative 'variant'
    require_relative 'message'
    require_relative 'extra'
    require_relative 'fee'
    require_relative 'broadcast'

    collection_method :broadcast do |params|
      Supplier::Broadcast.call self.endpoint, begin
        post(:broadcast, params)
      rescue Tickethub::ResourceInvalid => err
        Tickethub::Response.new(err.response).decoded
      end
    end

    collection :answers, Supplier::Answer
    collection :messages, Supplier::Message
    collection :extras, Supplier::Extra
    collection :fees, Supplier::Fee

    association :order, Supplier::Order
    association :rate, Supplier::Rate
    association :coupon, Supplier::Coupon
    association :product, Supplier::Product
    association :variant, Supplier::Variant

    attribute :amount, type: :money
    attribute :tax, type: :money
    attribute :total, type: :money
    attribute :charges, type: :money

    attribute :currency, type: :currency
    attribute :created_at, type: :datetime
    attribute :updated_at, type: :datetime
    attribute :cancelled_at, type: :datetime

    def notify
      @endpoint[:notify].post
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
tickethub-0.3.15 lib/tickethub/supplier/booking.rb
tickethub-0.3.14 lib/tickethub/supplier/booking.rb
tickethub-0.3.13 lib/tickethub/supplier/booking.rb
tickethub-0.3.12 lib/tickethub/supplier/booking.rb
tickethub-0.3.11 lib/tickethub/supplier/booking.rb
tickethub-0.3.9 lib/tickethub/supplier/booking.rb