eventbrite_sdk 3.0.3 → 3.0.4

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: ad86294660fcc8213709f99ad178fa0bfa4c859a
4
- data.tar.gz: 66d814e44489b0b1c17c588a9ff89efe1b4ed68b
3
+ metadata.gz: 80cc8b081e40bc200ab5c877d5002f0ddef451a0
4
+ data.tar.gz: b60c1723223c537ca4f1147c72c5c4767b688957
5
5
  SHA512:
6
- metadata.gz: eb1c57b8aa913a1587443ba666e227100f58d9681715346f68e972d1e737411330ca512ee53dec2b595244d23ebf144d1586d6a4d9355d6c4a0522dbe4b674f0
7
- data.tar.gz: e528566f1fc57c1d0df9a07982616d0f1ce5c1937af395c290079605ef2b973cfc89160ab71d53f69b20bd42b0e18552ba70d73cd589e09bfb259bee8b846acf
6
+ metadata.gz: 23470765f35da5250d104eaa23f882c7d01dc84f7151d7395f648a03bc0d6fcbfc58836c6699bdc6a0975bccabf17f7e3cb8430bdabfe9dabb9e71226a538e5b
7
+ data.tar.gz: 259eb389b25aa7c31c660f72c3a19028aedc35f6be83be13a63cc0e3fd08071713d5c52c122dab43148d6cab6922c4f6a3dddf58d3c559771b300088065e04be
@@ -1,6 +1,11 @@
1
1
  module EventbriteSDK
2
2
  class Resource
3
3
  class Attributes
4
+ SISTER_FIELDS = {
5
+ 'timezone' => 'utc',
6
+ 'utc' => 'timezone'
7
+ }.freeze
8
+
4
9
  attr_reader :attrs, :changes
5
10
 
6
11
  def self.build(attrs, schema)
@@ -108,11 +113,11 @@ module EventbriteSDK
108
113
  # you can run into a case where a "rich media" field needs other attrs
109
114
  # Namely timezone, so if a rich date changed, add the tz with it.
110
115
  def add_rich_value(attribute_key)
111
- if changes[attribute_key] && attribute_key =~ /\A(.+)\.utc\z/
116
+ if changes[attribute_key] && attribute_key =~ /\A(.+)\.(utc|timezone)\z/
117
+ field = Regexp.last_match(2)
112
118
  key_prefix = Regexp.last_match(1)
113
- tz = attrs.dig(key_prefix, 'timezone')
114
119
 
115
- changes["#{key_prefix}.timezone"] = [tz, tz]
120
+ handle_sister_field(key_prefix, field)
116
121
  end
117
122
  end
118
123
 
@@ -142,6 +147,15 @@ module EventbriteSDK
142
147
  attrs.has_key?(method_name.to_s) || super
143
148
  end
144
149
 
150
+ def handle_sister_field(key_prefix, field)
151
+ sister_field = SISTER_FIELDS[field]
152
+ stale_value = attrs.dig(key_prefix, sister_field)
153
+
154
+ unless changes["#{key_prefix}.#{sister_field}"]
155
+ changes["#{key_prefix}.#{sister_field}"] = [stale_value, stale_value]
156
+ end
157
+ end
158
+
145
159
  def handle_requested_attr(value)
146
160
  if value.is_a?(Hash)
147
161
  self.class.new(value)
@@ -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.3'.freeze
4
+ VERSION = '3.0.4'.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.3
4
+ version: 3.0.4
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-17 00:00:00.000000000 Z
13
+ date: 2017-04-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
@@ -166,3 +166,4 @@ signing_key:
166
166
  specification_version: 4
167
167
  summary: Official Eventbrite SDK for the v3 API
168
168
  test_files: []
169
+ has_rdoc: