Sha256: c2fdac859dbfc363a1f5939a0a1cbe213197dabffc916d94ec28bc5b5ed18682

Contents?: true

Size: 1.82 KB

Versions: 6

Compression:

Stored size: 1.82 KB

Contents

require 'date'
require_relative '../resource'
require_relative '../collection'

module Tickethub
  class Supplier::Product < Resource
    path '/supplier/products'

    require_relative '../contact'
    require_relative '../address'

    require_relative 'booking'
    require_relative 'voucher'
    require_relative 'ticket'
    require_relative 'option'
    require_relative 'tier'
    require_relative 'variant'
    require_relative 'season'
    require_relative 'rate'
    require_relative 'coupon'
    require_relative 'reseller'
    require_relative 'question'
    require_relative 'answer'
    require_relative 'tax'
    require_relative 'scan'
    require_relative 'import'

    collection :bookings, Supplier::Booking
    collection :vouchers, Supplier::Voucher
    collection :tickets, Supplier::Ticket
    collection :tiers, Supplier::Tier
    collection :variants, Supplier::Variant
    collection :seasons, Supplier::Season
    collection :coupons, Supplier::Coupon
    collection :rates, Supplier::Rate
    collection :questions, Supplier::Question
    collection :answers, Supplier::Answer
    collection :taxes, Supplier::Tax
    collection :scans, Supplier::Scan
    collection :imports, Supplier::Import

    collection :options, Supplier::Option do
      def dates(from, to, booking = {})
        @endpoint[:dates].get(from: from, to: to, booking: booking).decoded
      end
    end

    association :contact, Tickethub::Contact
    association :address, Tickethub::Address

    attribute :time_zone, type: :timezone
    attribute :currency, type: :currency

    attribute :created_at, type: :datetime
    attribute :updated_at, type: :datetime

    def resellers
      Collection.new @endpoint['/supplier/resellers'], Supplier::Reseller, filters: { products: [id] }
    end

    def settings
      @endpoint[:settings].get.decoded
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
tickethub-0.2.14 lib/tickethub/supplier/product.rb
tickethub-0.2.13 lib/tickethub/supplier/product.rb
tickethub-0.2.12 lib/tickethub/supplier/product.rb
tickethub-0.2.11 lib/tickethub/supplier/product.rb
tickethub-0.2.10 lib/tickethub/supplier/product.rb
tickethub-0.2.9 lib/tickethub/supplier/product.rb