eventbrite_sdk 3.0.10 → 3.0.11

Sign up to get free protection for your applications and to get access to all the features.
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