eventbrite_sdk 3.0.2 → 3.0.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad86294660fcc8213709f99ad178fa0bfa4c859a
|
4
|
+
data.tar.gz: 66d814e44489b0b1c17c588a9ff89efe1b4ed68b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb1c57b8aa913a1587443ba666e227100f58d9681715346f68e972d1e737411330ca512ee53dec2b595244d23ebf144d1586d6a4d9355d6c4a0522dbe4b674f0
|
7
|
+
data.tar.gz: e528566f1fc57c1d0df9a07982616d0f1ce5c1937af395c290079605ef2b973cfc89160ab71d53f69b20bd42b0e18552ba70d73cd589e09bfb259bee8b846acf
|
data/lib/eventbrite_sdk.rb
CHANGED
@@ -11,8 +11,9 @@ require 'eventbrite_sdk/resource/operations/relationships'
|
|
11
11
|
require 'eventbrite_sdk/resource/attributes'
|
12
12
|
require 'eventbrite_sdk/resource/null_schema_definition'
|
13
13
|
require 'eventbrite_sdk/resource/schema_definition'
|
14
|
-
require 'eventbrite_sdk/
|
14
|
+
require 'eventbrite_sdk/blank_resource_list'
|
15
15
|
require 'eventbrite_sdk/resource'
|
16
|
+
require 'eventbrite_sdk/resource_list'
|
16
17
|
|
17
18
|
require 'eventbrite_sdk/lists/owned_event_orders_list'
|
18
19
|
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module EventbriteSDK
|
2
|
+
# An Empty resource listing, returned on ORM calls from new resources
|
3
|
+
class BlankResourceList
|
4
|
+
extend Forwardable
|
5
|
+
include Enumerable
|
6
|
+
|
7
|
+
def_delegators :@objects, :[], :each, :empty?
|
8
|
+
|
9
|
+
def initialize(key: nil)
|
10
|
+
@key = key
|
11
|
+
@objects = []
|
12
|
+
end
|
13
|
+
|
14
|
+
%i(
|
15
|
+
next_page
|
16
|
+
prev_page
|
17
|
+
retrieve
|
18
|
+
).each do |method|
|
19
|
+
define_method(method) { self }
|
20
|
+
end
|
21
|
+
|
22
|
+
def page(_num)
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def with_expansion(*_args)
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_json(opts = {})
|
31
|
+
{ @key => [] }.to_json(opts)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -50,31 +50,32 @@ module EventbriteSDK
|
|
50
50
|
# a method on the instance with the given +rel_method+
|
51
51
|
# ============================================
|
52
52
|
#
|
53
|
-
#
|
54
|
-
#
|
53
|
+
# class Car
|
54
|
+
# include Resource::Operations::Relationships
|
55
55
|
#
|
56
|
-
#
|
56
|
+
# has_many :wheels, object: 'Wheel', key: 'wheels'
|
57
57
|
#
|
58
|
-
#
|
59
|
-
#
|
60
|
-
#
|
58
|
+
# def resource_path(postfix)
|
59
|
+
# "my_path/1/#{postfix}"
|
60
|
+
# end
|
61
61
|
#
|
62
|
-
#
|
63
|
-
#
|
62
|
+
# # ...
|
63
|
+
# end
|
64
64
|
#
|
65
|
-
#
|
65
|
+
# Car.new('id' => '1').wheels
|
66
66
|
#
|
67
67
|
# Would instantiate a new ResourceList
|
68
68
|
#
|
69
|
-
#
|
70
|
-
#
|
71
|
-
#
|
72
|
-
#
|
73
|
-
#
|
69
|
+
# ResourceList.new(
|
70
|
+
# url_base: 'my_path/1/wheels',
|
71
|
+
# object_class: Wheel,
|
72
|
+
# key: :wheels
|
73
|
+
# )
|
74
74
|
#
|
75
75
|
# rel_method: Symbol of the method we are defining on this instance
|
76
76
|
# object_class: String representation of the Class we will give
|
77
|
-
#
|
77
|
+
# to ResourceList
|
78
|
+
#
|
78
79
|
# key: key to use when ResourceList is extracting objects from
|
79
80
|
# a list payload, if nil then rel_method is used as a default
|
80
81
|
#
|
@@ -82,11 +83,16 @@ module EventbriteSDK
|
|
82
83
|
define_method(rel_method) do
|
83
84
|
key ||= rel_method
|
84
85
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
86
|
+
# Don't memoize if it's a new instance
|
87
|
+
if new?
|
88
|
+
BlankResourceList.new(key: key)
|
89
|
+
else
|
90
|
+
relationships[rel_method] ||= list_class(rel_method).new(
|
91
|
+
url_base: path(rel_method),
|
92
|
+
object_class: resource_class_from_string(object_class),
|
93
|
+
key: key
|
94
|
+
)
|
95
|
+
end
|
90
96
|
end
|
91
97
|
end
|
92
98
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eventbrite_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vinnie Franco
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-02-
|
13
|
+
date: 2017-02-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|
@@ -117,6 +117,7 @@ files:
|
|
117
117
|
- eventbrite_sdk.gemspec
|
118
118
|
- lib/eventbrite_sdk.rb
|
119
119
|
- lib/eventbrite_sdk/attendee.rb
|
120
|
+
- lib/eventbrite_sdk/blank_resource_list.rb
|
120
121
|
- lib/eventbrite_sdk/category.rb
|
121
122
|
- lib/eventbrite_sdk/event.rb
|
122
123
|
- lib/eventbrite_sdk/exceptions.rb
|