tickethub 0.3.56 → 0.3.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2faf725e33ff7442bfe95986bd0c2237660556a7
4
- data.tar.gz: 284bc2745dfaaf7d02f1c4b2c559d6d471355702
3
+ metadata.gz: 5d867dfedd1f4e9fe6de643c2603a868804a2f02
4
+ data.tar.gz: 4cf8c68da773f39c2f42b54102a7d02b4d54b3dc
5
5
  SHA512:
6
- metadata.gz: d3ea5294bfea89414c0873bde6b54a7faf9422b447ff470c32e874e850b113ad7903c86017682f29cd21145ab5eb7c6643c8407da26f69fc9817218434d21323
7
- data.tar.gz: 35518440f8471ea1966f7aee12f29f0f315b898b583d46fc73c541f6aea54aaa98445fde97a4af75f08195f5108aa586db991e9bd5d6b072e672b35194f94a7a
6
+ metadata.gz: ab57c6b750cd3caa1cbf42ab2b2ca2f5837ea0f7c2cad3090bc2868511a7e80581da0007775089f431e4582bf602bef2f615e46acf102bd7de16003827c809c1
7
+ data.tar.gz: b56aa2712da7649170f8bd2e29c84043b07cfb2e9b23c41653021148c6d1387faa64b3a8b001f2510b8c743f80254977aaf3a2aaf1bda0a6258aceca9c2f0bf2
data/lib/tickethub.rb CHANGED
@@ -24,6 +24,7 @@ module Tickethub
24
24
 
25
25
  require_relative 'tickethub/token'
26
26
  require_relative 'tickethub/supplier'
27
+ require_relative 'tickethub/channel'
27
28
  require_relative 'tickethub/reseller'
28
29
  require_relative 'tickethub/app'
29
30
  require_relative 'tickethub/user'
@@ -0,0 +1,52 @@
1
+ module Tickethub
2
+ class Channel < Resource
3
+ path '/channel', singleton: true
4
+
5
+ require_relative 'channel/voucher'
6
+ require_relative 'channel/coupon'
7
+ require_relative 'channel/tier'
8
+ require_relative 'channel/variant'
9
+ require_relative 'channel/extra'
10
+ require_relative 'channel/question'
11
+ require_relative 'channel/option'
12
+
13
+ require_relative 'channel/booking'
14
+ require_relative 'channel/order'
15
+ require_relative 'channel/payment'
16
+
17
+ require_relative 'channel/product'
18
+ require_relative 'channel/supplier'
19
+
20
+ collection :vouchers, Voucher
21
+ collection :coupons, Coupon
22
+ collection :tiers, Tier
23
+ collection :variants, Variant
24
+ collection :extras, Extra
25
+ collection :questions, Question
26
+ collection :options, Option
27
+
28
+ collection :products, Product
29
+ collection :bookings, Booking
30
+ collection :orders, Order
31
+ collection :payments, Payment
32
+
33
+ association :supplier, Supplier
34
+
35
+ def self.[](attributes)
36
+ token = attributes[:token].is_a?(String) ? attributes[:token]
37
+ : attributes[:token][:access_token]
38
+ self.call Tickethub.endpoint(auth_type: :bearer, password: token)[path]
39
+ end
40
+
41
+ def initialize(endpoint, attributes = nil)
42
+ attributes ||= endpoint.get
43
+
44
+ if attributes['token']
45
+ endpoint = Tickethub.endpoint(auth_type: :bearer,
46
+ password: attributes['token']['access_token'])[self.class.path]
47
+ end
48
+
49
+ super(endpoint, attributes)
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,11 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Answer < Resource
5
+ path '/channel/answers'
6
+
7
+ require_relative 'question'
8
+
9
+ association :question, Channel::Question
10
+ end
11
+ end
@@ -0,0 +1,38 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Booking < Resource
5
+ path '/channel/bookings'
6
+
7
+ require_relative 'booking/ticket'
8
+ require_relative 'booking/voucher'
9
+
10
+ require_relative 'order'
11
+ require_relative 'answer'
12
+ require_relative 'product'
13
+ require_relative 'variant'
14
+ require_relative 'purchase'
15
+ require_relative 'discount'
16
+ require_relative 'fee'
17
+ require_relative 'tier'
18
+
19
+ collection :answers, Channel::Answer
20
+ collection :purchases, Channel::Purchase
21
+ collection :fees, Channel::Fee
22
+ collection :tiers, Channel::Tier
23
+ collection :discounts, Channel::Discount
24
+
25
+ association :order, Channel::Order
26
+ association :product, Channel::Product
27
+ association :variant, Channel::Variant
28
+
29
+ attribute :amount, type: :money
30
+ attribute :discount, type: :money
31
+ attribute :tax, type: :money
32
+ attribute :total, type: :money
33
+
34
+ attribute :created_at, type: :datetime
35
+ attribute :updated_at, type: :datetime
36
+ attribute :cancelled_at, type: :datetime
37
+ end
38
+ end
@@ -0,0 +1,13 @@
1
+ require_relative '../booking'
2
+
3
+ module Tickethub
4
+ class Channel::Booking::Ticket < Channel::Booking
5
+ polymorphic 'ticket'
6
+
7
+ require_relative '../ticket'
8
+
9
+ collection :tickets, Channel::Ticket
10
+
11
+ attribute :valid_from, type: :datetime
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require_relative '../booking'
2
+
3
+ module Tickethub
4
+ class Channel::Booking::Voucher < Channel::Booking
5
+ polymorphic 'voucher'
6
+
7
+ require_relative '../voucher'
8
+
9
+ collection :vouchers, Channel::Voucher
10
+
11
+ attribute :expires_on, type: :date
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Coupon < Resource
5
+ path '/channel/coupons'
6
+
7
+ require_relative 'booking'
8
+
9
+ collection :bookings, Channel::Booking
10
+
11
+ attribute :valid_from, type: :date
12
+ attribute :expires_on, type: :date
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Customer < Resource
5
+ path '/channel/customers'
6
+
7
+ require_relative '../address'
8
+
9
+ association :address, Tickethub::Address
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Discount < Resource
5
+ path '/channel/discounts'
6
+
7
+ attribute :amount, type: :money
8
+
9
+ attribute :created_at, type: :datetime
10
+ attribute :updated_at, type: :datetime
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Extra < Resource
5
+ path '/channel/extras'
6
+
7
+ attribute :price, type: :money
8
+
9
+ attribute :created_at, type: :datetime
10
+ attribute :updated_at, type: :datetime
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Fee < Resource
5
+ path '/channel/fees'
6
+
7
+ require_relative 'tax'
8
+ require_relative 'booking'
9
+
10
+ association :tax, Channel::Tax
11
+ association :booking, Channel::Booking
12
+
13
+ attribute :amount, type: :money
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Option < Resource
5
+ path '/channel/options'
6
+
7
+ scope :dates, -> (params) { @endpoint[:dates].get(params).decoded }
8
+
9
+ attribute :date_time, type: :datetime
10
+
11
+ attribute :time, type: :time
12
+ attribute :total, type: :money
13
+ end
14
+ end
@@ -0,0 +1,38 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Order < Resource
5
+ path '/channel/orders'
6
+
7
+ require_relative 'customer'
8
+ require_relative 'booking'
9
+ require_relative 'payment'
10
+
11
+ require_relative 'customer'
12
+ require_relative 'session'
13
+
14
+ require_relative 'answer'
15
+ require_relative '../address'
16
+
17
+ collection :bookings, Channel::Booking
18
+ collection :payments, Channel::Payment
19
+ collection :answers, Channel::Answer
20
+
21
+ association :customer, Channel::Customer
22
+ association :session, Channel::Session
23
+ association :address, Tickethub::Address
24
+
25
+ attribute :total, type: :money
26
+ attribute :balance, type: :money
27
+ attribute :currency, type: :currency
28
+
29
+ attribute :expires_at, type: :datetime
30
+ attribute :confirmed_at, type: :datetime
31
+ attribute :created_at, type: :datetime
32
+ attribute :updated_at, type: :datetime
33
+
34
+ def confirm(params = {})
35
+ self.load @endpoint[:confirm].post(params)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,27 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Payment < Resource
5
+ path '/channel/payments'
6
+
7
+ require_relative 'refund'
8
+
9
+ require_relative 'payment/paypal'
10
+ require_relative 'payment/stripe'
11
+
12
+ require_relative 'order'
13
+
14
+ association :order, Channel::Order
15
+
16
+ collection :refunds, Channel::Refund
17
+
18
+ attribute :amount, type: :money
19
+ attribute :refunded, type: :money
20
+ attribute :balance, type: :money
21
+ attribute :refunded_at, type: :datetime
22
+ attribute :confirmed_at, type: :datetime
23
+
24
+ attribute :created_at, type: :datetime
25
+ attribute :updated_at, type: :datetime
26
+ end
27
+ end
@@ -0,0 +1,8 @@
1
+ require_relative '../payment'
2
+
3
+ module Tickethub
4
+ class Channel::Payment::Paypal < Channel::Payment
5
+ path '/channel/payments/paypal'
6
+ polymorphic 'paypal'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require_relative '../payment'
2
+
3
+ module Tickethub
4
+ class Channel::Payment::Stripe < Channel::Payment
5
+ path '/channel/payments/stripe'
6
+ polymorphic 'stripe'
7
+ end
8
+ end
@@ -0,0 +1,35 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Product < Resource
5
+ path '/channel/products'
6
+
7
+ require_relative 'booking'
8
+ require_relative 'extra'
9
+ require_relative 'option'
10
+ require_relative 'tier'
11
+ require_relative 'variant'
12
+ require_relative 'question'
13
+ require_relative 'tax'
14
+
15
+ require_relative '../contact'
16
+ require_relative '../address'
17
+
18
+ association :contact, Tickethub::Contact
19
+ association :address, Tickethub::Address
20
+
21
+ collection :bookings, Channel::Booking
22
+ collection :extras, Channel::Extra
23
+ collection :options, Channel::Option
24
+ collection :tiers, Channel::Tier
25
+ collection :variants, Channel::Variant
26
+ collection :questions, Channel::Question
27
+ collection :taxes, Channel::Tax
28
+
29
+ attribute :time_zone, type: :timezone
30
+ attribute :currency, type: :currency
31
+
32
+ attribute :created_at, type: :datetime
33
+ attribute :updated_at, type: :datetime
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Purchase < Resource
5
+ path '/channel/purchases'
6
+
7
+ require_relative 'booking'
8
+ require_relative 'extra'
9
+
10
+ association :booking, Channel::Booking
11
+ association :extra, Channel::Extra
12
+
13
+ attribute :price, type: :money
14
+ attribute :total, type: :money
15
+
16
+ attribute :updated_at, type: :datetime
17
+ attribute :created_at, type: :datetime
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Question < Resource
5
+ path '/channel/questions'
6
+
7
+ require_relative 'answer'
8
+
9
+ collection :answers, Channel::Answer
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Refund < Resource
5
+ path '/channel/refunds'
6
+
7
+ require_relative 'payment'
8
+
9
+ association :payment, Channel::Payment
10
+
11
+ attribute :amount, type: :money
12
+
13
+ attribute :created_at, type: :datetime
14
+ attribute :updated_at, type: :datetime
15
+ end
16
+ end
@@ -0,0 +1,10 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Session < Resource
5
+ path '/channel/sessions'
6
+
7
+ attribute :updated_at, type: :datetime
8
+ attribute :created_at, type: :datetime
9
+ end
10
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Supplier < Resource
5
+ path '/channel/suppliers'
6
+
7
+ require_relative '../contact'
8
+ require_relative '../address'
9
+
10
+ association :contact, Tickethub::Contact
11
+ association :address, Tickethub::Address
12
+
13
+ attribute :time_zone, type: :timezone
14
+ attribute :currency, type: :currency
15
+
16
+ attribute :created_at, type: :datetime
17
+ attribute :updated_at, type: :datetime
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Tax < Resource
5
+ path '/channel/taxes'
6
+
7
+ require_relative 'fee'
8
+
9
+ collection :fees, Channel::Fee
10
+
11
+ attribute :updated_at, type: :datetime
12
+ attribute :created_at, type: :datetime
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Ticket < Resource
5
+ path '/channel/tickets'
6
+
7
+ require_relative 'booking'
8
+ require_relative 'tier'
9
+ require_relative 'voucher'
10
+
11
+ association :booking, Channel::Booking
12
+ association :tier, Channel::Tier
13
+ association :voucher, Channel::Voucher
14
+
15
+ attribute :price, type: :money
16
+ attribute :interval, type: :duration
17
+
18
+ attribute :last_scan_at, type: :datetime
19
+ attribute :expires_at, type: :datetime
20
+ attribute :updated_at, type: :datetime
21
+ attribute :created_at, type: :datetime
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Tier < Resource
5
+ path '/channel/tiers'
6
+
7
+ attribute :price, type: :money
8
+
9
+ attribute :notice, type: :duration
10
+ attribute :period, type: :duration
11
+
12
+ attribute :interval, type: :duration
13
+ attribute :duration, type: :duration
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Variant < Resource
5
+ path '/channel/variants'
6
+ end
7
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../resource'
2
+
3
+ module Tickethub
4
+ class Channel::Voucher < Resource
5
+ path '/channel/vouchers'
6
+
7
+ require_relative 'tier'
8
+ require_relative 'booking'
9
+
10
+ association :tier, Channel::Tier
11
+ association :booking, Channel::Booking
12
+
13
+ attribute :price, type: :money
14
+ attribute :total, type: :money
15
+
16
+ attribute :created_at, type: :datetime
17
+ attribute :updated_at, type: :datetime
18
+ end
19
+ end
@@ -27,7 +27,6 @@ module Tickethub
27
27
  require_relative 'supplier/charge'
28
28
  require_relative 'supplier/import'
29
29
  require_relative 'supplier/broadcast'
30
- require_relative 'supplier/widget'
31
30
  require_relative 'supplier/transfer'
32
31
  require_relative 'supplier/channel'
33
32
  require_relative 'supplier/discount'
@@ -63,7 +62,6 @@ module Tickethub
63
62
  collection :charges, Charge
64
63
  collection :imports, Import
65
64
  collection :broadcasts, Broadcast
66
- collection :widgets, Widget
67
65
  collection :transfers, Transfer
68
66
  collection :channels, Channel
69
67
  collection :discounts, Discount
@@ -11,7 +11,6 @@ module Tickethub
11
11
 
12
12
  require_relative 'booking'
13
13
  require_relative 'voucher'
14
- require_relative 'channel'
15
14
  require_relative 'ticket'
16
15
  require_relative 'extra'
17
16
  require_relative 'fee'
@@ -25,13 +24,12 @@ module Tickethub
25
24
  require_relative 'question'
26
25
  require_relative 'answer'
27
26
  require_relative 'tax'
27
+ require_relative 'channel'
28
28
  require_relative 'scan'
29
- require_relative 'widget'
30
29
  require_relative 'import'
31
30
 
32
31
  collection :bookings, Supplier::Booking
33
32
  collection :vouchers, Supplier::Voucher
34
- collection :channels, Supplier::Channel
35
33
  collection :tickets, Supplier::Ticket
36
34
  collection :extras, Supplier::Extra
37
35
  collection :fees, Supplier::Fee
@@ -44,7 +42,7 @@ module Tickethub
44
42
  collection :answers, Supplier::Answer
45
43
  collection :taxes, Supplier::Tax
46
44
  collection :scans, Supplier::Scan
47
- collection :widgets, Supplier::Widget
45
+ collection :channels, Supplier::Channel
48
46
  collection :imports, Supplier::Import
49
47
 
50
48
  collection :options, Supplier::Option do
@@ -4,10 +4,6 @@ module Tickethub
4
4
  class Supplier::Session < Resource
5
5
  path '/supplier/sessions'
6
6
 
7
- require_relative 'widget'
8
-
9
- association :widget, Supplier::Widget
10
-
11
7
  attribute :updated_at, type: :datetime
12
8
  attribute :created_at, type: :datetime
13
9
  end
@@ -1,3 +1,3 @@
1
1
  module Tickethub
2
- VERSION = '0.3.56'
2
+ VERSION = '0.3.57'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tickethub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.56
4
+ version: 0.3.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Morgan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-04 00:00:00.000000000 Z
11
+ date: 2015-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,32 @@ files:
94
94
  - lib/tickethub/app.rb
95
95
  - lib/tickethub/app/category.rb
96
96
  - lib/tickethub/app/subscription.rb
97
+ - lib/tickethub/channel.rb
98
+ - lib/tickethub/channel/answer.rb
99
+ - lib/tickethub/channel/booking.rb
100
+ - lib/tickethub/channel/booking/ticket.rb
101
+ - lib/tickethub/channel/booking/voucher.rb
102
+ - lib/tickethub/channel/coupon.rb
103
+ - lib/tickethub/channel/customer.rb
104
+ - lib/tickethub/channel/discount.rb
105
+ - lib/tickethub/channel/extra.rb
106
+ - lib/tickethub/channel/fee.rb
107
+ - lib/tickethub/channel/option.rb
108
+ - lib/tickethub/channel/order.rb
109
+ - lib/tickethub/channel/payment.rb
110
+ - lib/tickethub/channel/payment/paypal.rb
111
+ - lib/tickethub/channel/payment/stripe.rb
112
+ - lib/tickethub/channel/product.rb
113
+ - lib/tickethub/channel/purchase.rb
114
+ - lib/tickethub/channel/question.rb
115
+ - lib/tickethub/channel/refund.rb
116
+ - lib/tickethub/channel/session.rb
117
+ - lib/tickethub/channel/supplier.rb
118
+ - lib/tickethub/channel/tax.rb
119
+ - lib/tickethub/channel/ticket.rb
120
+ - lib/tickethub/channel/tier.rb
121
+ - lib/tickethub/channel/variant.rb
122
+ - lib/tickethub/channel/voucher.rb
97
123
  - lib/tickethub/collection.rb
98
124
  - lib/tickethub/connection.rb
99
125
  - lib/tickethub/contact.rb
@@ -196,7 +222,6 @@ files:
196
222
  - lib/tickethub/supplier/user.rb
197
223
  - lib/tickethub/supplier/variant.rb
198
224
  - lib/tickethub/supplier/voucher.rb
199
- - lib/tickethub/supplier/widget.rb
200
225
  - lib/tickethub/token.rb
201
226
  - lib/tickethub/user.rb
202
227
  - lib/tickethub/user/app.rb
@@ -1,19 +0,0 @@
1
- require_relative '../resource'
2
-
3
- module Tickethub
4
- class Supplier::Widget < Resource
5
- path '/supplier/widgets'
6
-
7
- require_relative 'session'
8
- require_relative 'product'
9
- require_relative 'rate'
10
-
11
- association :product, Supplier::Product
12
- association :rate, Supplier::Rate
13
-
14
- collection :sessions, Supplier::Session
15
-
16
- attribute :updated_at, type: :datetime
17
- attribute :created_at, type: :datetime
18
- end
19
- end