eventbrite_sdk 3.0.10 → 3.0.11

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: 4dfdd45e387d9f9aae865a92b5e09d8b1e9ab138
4
- data.tar.gz: 421bea4586d880c27226994fa03d86199396ef51
3
+ metadata.gz: 6d338ea5c07da5410ccdc449c576ecf3fe5ecd19
4
+ data.tar.gz: de23a7829bb4af4076967559740c0d48c73d393b
5
5
  SHA512:
6
- metadata.gz: dc2ae219cd70ca3978e4ac1d830b14e63dc577a8c6128b23c734a52f687c82a9c15fcc1d46ed8d42bebaad10bac3129bd643f18cfa40c912eb61d5be0c7e51e9
7
- data.tar.gz: ac4df68c187861f32a187d7ec0d9cea8d60be273095dec54de9842be640c1fb7fc4567e595223c6a1ea283fadefbcc99316e20ada6e8803ce3fbed867e5e0eee
6
+ metadata.gz: d39e71c1d0a2b372423d3d6e0145b985cff67aedfc8ae7a58f36972a7526f985b6287f937e54f65c168a358fc2e01ad7c6e007fa1ba3b8b3a131a1ffb38257a2
7
+ data.tar.gz: 27c8368e96424e6b0732f85f25c46533d15471b22d36435c86af0532b89cc14c9f81db4587645bfa85e5d08e3069533f7379310e7c98b289f54c7338e77400f1
@@ -94,6 +94,7 @@ module EventbriteSDK
94
94
 
95
95
  def reload(hydrated_attrs = {})
96
96
  build_attrs(hydrated_attrs)
97
+ reset_memoized_relationships
97
98
  end
98
99
  end
99
100
  end
@@ -36,13 +36,11 @@ module EventbriteSDK
36
36
  # object_class: String representation of resource
37
37
  # e.g. 'Event' => EventbriteSDK::Event
38
38
  #
39
- def belongs_to(rel_method, object_class: nil)
39
+ def belongs_to(rel_method, object_class:)
40
40
  define_method(rel_method) do
41
- query = { id: public_send(:"#{rel_method}_id") }
42
-
43
- relationships[rel_method] ||= begin
44
- resource_class_from_string(object_class).retrieve(query)
45
- end
41
+ relationships[rel_method] ||= build_relative(
42
+ rel_method, object_class
43
+ )
46
44
  end
47
45
  end
48
46
 
@@ -111,9 +109,24 @@ module EventbriteSDK
111
109
 
112
110
  private
113
111
 
112
+ def build_relative(name, klass)
113
+ relation_class = resource_class_from_string(klass)
114
+ relative_attrs = attrs.respond_to?(name) && attrs.public_send(name)
115
+
116
+ if relative_attrs
117
+ relation_class.new(relative_attrs)
118
+ else
119
+ relation_class.retrieve(id: public_send(:"#{name}_id"))
120
+ end
121
+ end
122
+
114
123
  def relationships
115
124
  @_relationships ||= {}
116
125
  end
126
+
127
+ def reset_memoized_relationships
128
+ @_relationships = {}
129
+ end
117
130
  end
118
131
 
119
132
  def self.included(receiver)
@@ -1,5 +1,5 @@
1
1
  module EventbriteSDK
2
2
  # Major should always line up with the major point release of the public API
3
3
  # v3 => 3.x.x
4
- VERSION = '3.0.10'.freeze
4
+ VERSION = '3.0.11'.freeze
5
5
  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.10
4
+ version: 3.0.11
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-07-27 00:00:00.000000000 Z
13
+ date: 2017-08-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client