Sha256: bb4474ad3be4452e6ac0bee6fd0f2007d9dab8087e20e2d7c1f808fd02b169dd

Contents?: true

Size: 1.96 KB

Versions: 14

Compression:

Stored size: 1.96 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 'extra'
    require_relative 'fee'
    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 'widget'
    require_relative 'import'

    collection :bookings, Supplier::Booking
    collection :vouchers, Supplier::Voucher
    collection :tickets, Supplier::Ticket
    collection :extras, Supplier::Extra
    collection :fees, Supplier::Fee
    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 :widgets, Supplier::Widget
    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
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
tickethub-0.3.30 lib/tickethub/supplier/product.rb
tickethub-0.3.29 lib/tickethub/supplier/product.rb
tickethub-0.3.28 lib/tickethub/supplier/product.rb
tickethub-0.3.27 lib/tickethub/supplier/product.rb
tickethub-0.3.26 lib/tickethub/supplier/product.rb
tickethub-0.3.25 lib/tickethub/supplier/product.rb
tickethub-0.3.24 lib/tickethub/supplier/product.rb
tickethub-0.3.23 lib/tickethub/supplier/product.rb
tickethub-0.3.22 lib/tickethub/supplier/product.rb
tickethub-0.3.21 lib/tickethub/supplier/product.rb
tickethub-0.3.20 lib/tickethub/supplier/product.rb
tickethub-0.3.18 lib/tickethub/supplier/product.rb
tickethub-0.3.17 lib/tickethub/supplier/product.rb
tickethub-0.3.16 lib/tickethub/supplier/product.rb