eventbrite_sdk 3.0.2

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.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +7 -0
  5. data/Gemfile +12 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +136 -0
  8. data/Rakefile +6 -0
  9. data/bin/console +16 -0
  10. data/bin/setup +6 -0
  11. data/eventbrite_sdk.gemspec +28 -0
  12. data/lib/eventbrite_sdk.rb +135 -0
  13. data/lib/eventbrite_sdk/attendee.rb +26 -0
  14. data/lib/eventbrite_sdk/category.rb +14 -0
  15. data/lib/eventbrite_sdk/event.rb +75 -0
  16. data/lib/eventbrite_sdk/exceptions.rb +42 -0
  17. data/lib/eventbrite_sdk/lists/owned_event_orders_list.rb +27 -0
  18. data/lib/eventbrite_sdk/media.rb +77 -0
  19. data/lib/eventbrite_sdk/order.rb +25 -0
  20. data/lib/eventbrite_sdk/organizer.rb +20 -0
  21. data/lib/eventbrite_sdk/report.rb +49 -0
  22. data/lib/eventbrite_sdk/resource.rb +99 -0
  23. data/lib/eventbrite_sdk/resource/attributes.rb +158 -0
  24. data/lib/eventbrite_sdk/resource/null_schema_definition.rb +13 -0
  25. data/lib/eventbrite_sdk/resource/operations/attribute_schema.rb +57 -0
  26. data/lib/eventbrite_sdk/resource/operations/endpoint.rb +101 -0
  27. data/lib/eventbrite_sdk/resource/operations/list.rb +15 -0
  28. data/lib/eventbrite_sdk/resource/operations/relationships.rb +120 -0
  29. data/lib/eventbrite_sdk/resource/schema_definition.rb +50 -0
  30. data/lib/eventbrite_sdk/resource_list.rb +86 -0
  31. data/lib/eventbrite_sdk/subcategory.rb +12 -0
  32. data/lib/eventbrite_sdk/ticket_class.rb +60 -0
  33. data/lib/eventbrite_sdk/user.rb +28 -0
  34. data/lib/eventbrite_sdk/venue.rb +22 -0
  35. data/lib/eventbrite_sdk/version.rb +5 -0
  36. data/lib/eventbrite_sdk/webhook.rb +11 -0
  37. metadata +167 -0
@@ -0,0 +1,12 @@
1
+ module EventbriteSDK
2
+ class Subcategory < Resource
3
+ extend Operations::List
4
+
5
+ resource_path 'subcategories/:id'
6
+
7
+ schema_definition do
8
+ string 'name', read_only: true
9
+ string 'parent_category', read_only: true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,60 @@
1
+ module EventbriteSDK
2
+ class TicketClass < Resource
3
+ ON_SALE_STATUS_AVAILABLE = 'AVAILABLE'.freeze
4
+ # Ticket classes with future start dates are marked as NOT_YET_ON_SALE
5
+ NOT_YET_ON_SALE = 'NOT_YET_ON_SALE'.freeze
6
+
7
+ # Constants for the supported sales channels
8
+ AT_THE_DOOR = 'atd'.freeze
9
+ ONLINE = 'online'.freeze
10
+ SALES_CHANNELS = [AT_THE_DOOR, ONLINE].freeze
11
+
12
+ resource_path 'events/:event_id/ticket_classes/:id'
13
+
14
+ belongs_to :event, object_class: 'Event'
15
+
16
+ attributes_prefix 'ticket_class'
17
+
18
+ schema_definition do
19
+ string 'name'
20
+ string 'description'
21
+ integer 'quantity_total'
22
+ currency 'cost'
23
+ currency 'fee', read_only: true
24
+ currency 'tax', read_only: true
25
+ boolean 'free'
26
+ boolean 'include_fee'
27
+ boolean 'split_fee'
28
+ string 'sales_channels'
29
+ datetime 'sales_start'
30
+ datetime 'sales_end'
31
+ integer 'minimum_quantity'
32
+ integer 'maximum_quantity'
33
+ boolean 'auto_hide'
34
+ boolean 'hidden'
35
+ string 'order_confirmation_message'
36
+ string 'on_sale_status', read_only: true
37
+ end
38
+
39
+ def available?
40
+ respond_to?(:on_sale_status) && on_sale_status == ON_SALE_STATUS_AVAILABLE
41
+ end
42
+
43
+ def available_in_the_future?
44
+ respond_to?(:on_sale_status) && on_sale_status == NOT_YET_ON_SALE
45
+ end
46
+
47
+ def hide!
48
+ hidden || change('hidden' => true)
49
+ end
50
+
51
+ def unhide!
52
+ ! hidden || change('hidden' => false)
53
+ end
54
+
55
+ def change(attrs)
56
+ assign_attributes(attrs)
57
+ save
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,28 @@
1
+ module EventbriteSDK
2
+ class User < Resource
3
+ # Defines user#verify and user#unverify
4
+ #
5
+ # An user logged using Eventbrite we should generate a verification action
6
+ # NOTE: only selected users can verify/unverify other users.
7
+ # POSTS to users/:id/(verify|unverify)
8
+ define_api_actions :verify, :unverify
9
+
10
+ resource_path 'users/:id'
11
+
12
+ has_many :organizers, object_class: 'Organizer', key: :organizers
13
+ has_many :owned_event_orders, object_class: 'Order', key: :orders
14
+ has_many :owned_events, object_class: 'Event', key: :events
15
+
16
+ schema_definition do
17
+ string 'name'
18
+ string 'first_name'
19
+ string 'last_name'
20
+ string 'emails'
21
+ string 'image_id'
22
+ end
23
+
24
+ def self.me
25
+ new('id' => 'me')
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ module EventbriteSDK
2
+ class Venue < Resource
3
+ resource_path 'venues/:id'
4
+
5
+ attributes_prefix 'venue'
6
+
7
+ belongs_to :organizer, object_class: 'Organizer'
8
+
9
+ schema_definition do
10
+ string 'name'
11
+ string 'address.latitude'
12
+ string 'address.longitude'
13
+ string 'organizer_id'
14
+ string 'address.address_1'
15
+ string 'address.address_2'
16
+ string 'address.city'
17
+ string 'address.region'
18
+ string 'address.postal_code'
19
+ string 'address.country'
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ module EventbriteSDK
2
+ # Major should always line up with the major point release of the public API
3
+ # v3 => 3.x.x
4
+ VERSION = '3.0.2'.freeze
5
+ end
@@ -0,0 +1,11 @@
1
+ module EventbriteSDK
2
+ class Webhook < Resource
3
+ resource_path 'webhooks/:id'
4
+
5
+ schema_definition do
6
+ string 'endpoint_url'
7
+ string 'event_id'
8
+ string 'actions'
9
+ end
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,167 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: eventbrite_sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Vinnie Franco
8
+ - Jeff McKenzie
9
+ - Emilio Tagua
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2017-02-13 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rest-client
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: bundler
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '1.12'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.12'
43
+ - !ruby/object:Gem::Dependency
44
+ name: rake
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '10.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '10.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: rspec
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '3.0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '3.0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: simplecov
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '0.11'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '0.11'
85
+ - !ruby/object:Gem::Dependency
86
+ name: codeclimate-test-reporter
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '1.0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '1.0'
99
+ description: Official Eventbrite SDK for the v3 API
100
+ email:
101
+ - vinnie@eventbrite.com
102
+ - jeffm@eventbrite.com
103
+ - emilio@eventbrite.com
104
+ executables: []
105
+ extensions: []
106
+ extra_rdoc_files: []
107
+ files:
108
+ - ".gitignore"
109
+ - ".rspec"
110
+ - ".travis.yml"
111
+ - Gemfile
112
+ - LICENSE.txt
113
+ - README.md
114
+ - Rakefile
115
+ - bin/console
116
+ - bin/setup
117
+ - eventbrite_sdk.gemspec
118
+ - lib/eventbrite_sdk.rb
119
+ - lib/eventbrite_sdk/attendee.rb
120
+ - lib/eventbrite_sdk/category.rb
121
+ - lib/eventbrite_sdk/event.rb
122
+ - lib/eventbrite_sdk/exceptions.rb
123
+ - lib/eventbrite_sdk/lists/owned_event_orders_list.rb
124
+ - lib/eventbrite_sdk/media.rb
125
+ - lib/eventbrite_sdk/order.rb
126
+ - lib/eventbrite_sdk/organizer.rb
127
+ - lib/eventbrite_sdk/report.rb
128
+ - lib/eventbrite_sdk/resource.rb
129
+ - lib/eventbrite_sdk/resource/attributes.rb
130
+ - lib/eventbrite_sdk/resource/null_schema_definition.rb
131
+ - lib/eventbrite_sdk/resource/operations/attribute_schema.rb
132
+ - lib/eventbrite_sdk/resource/operations/endpoint.rb
133
+ - lib/eventbrite_sdk/resource/operations/list.rb
134
+ - lib/eventbrite_sdk/resource/operations/relationships.rb
135
+ - lib/eventbrite_sdk/resource/schema_definition.rb
136
+ - lib/eventbrite_sdk/resource_list.rb
137
+ - lib/eventbrite_sdk/subcategory.rb
138
+ - lib/eventbrite_sdk/ticket_class.rb
139
+ - lib/eventbrite_sdk/user.rb
140
+ - lib/eventbrite_sdk/venue.rb
141
+ - lib/eventbrite_sdk/version.rb
142
+ - lib/eventbrite_sdk/webhook.rb
143
+ homepage: https://github.com/eventbrite
144
+ licenses:
145
+ - MIT
146
+ metadata: {}
147
+ post_install_message:
148
+ rdoc_options: []
149
+ require_paths:
150
+ - lib
151
+ required_ruby_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: 2.3.0
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ requirements: []
162
+ rubyforge_project:
163
+ rubygems_version: 2.5.1
164
+ signing_key:
165
+ specification_version: 4
166
+ summary: Official Eventbrite SDK for the v3 API
167
+ test_files: []