eventbrite_sdk 3.0.3 → 3.0.4

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: 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: