zuora_connect_ui 0.11.3 → 0.11.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
  SHA256:
3
- metadata.gz: 309e6a936c073ec3ea3e85c69c1d3a13d87a0de2e59bd8631ac82b3c98aa79eb
4
- data.tar.gz: 0acc7df063518442b1502be0637816c1b95b58d45c4408d811ca8e431de480da
3
+ metadata.gz: 8d3ee0b0562de45310cf476445bf5d3b542180bb7ba3a7b270d04030e1e7edd9
4
+ data.tar.gz: cb8c8638d6415aa63eba70bec014f568aa23d01c202b5268c9175be549761b48
5
5
  SHA512:
6
- metadata.gz: 6d98619932b563bff644092858e5ab974aea8fc19709d673c8564a23457dcccfa21bd67dd2ff2d32961b32fdc4bae6281247ea656d55ad1965c089bd3f703180
7
- data.tar.gz: f28ff5d7865ee95021ae7d43c587dfc2e7bf380dc4c729cf292939c65cefc9465b472a76e527ece1ee724535338c1cd6c7c5dbc927a422a9e9b45dc92721b1c6
6
+ metadata.gz: 793b449079b7ccac03476048fc1ff005178bdc93c57928e31ec14db76948d06349dbea5824fe9106e47a3a8ecf8c2d58fce42d456528713cf96e8a0baca937cc
7
+ data.tar.gz: aa198f72de50493c365c66d6c1ffa818c95da2737226c87b0d04f123b7d4024febaf55fa08e1bb0ecbabae5c4983c49f142ef83c649f0e56a49c22dd0d6d6750
@@ -12,6 +12,7 @@ module ZuoraConnectUi
12
12
  @is_collection = options[:is_collection]
13
13
 
14
14
  @record_type = parse_record_type(@kind, @resource)
15
+ @camel_type = key_transform(@record_type)
15
16
 
16
17
  @associations = parse_associations(
17
18
  options[:has_many], options[:belongs_to], options[:has_one]
@@ -76,7 +77,7 @@ module ZuoraConnectUi
76
77
  end
77
78
 
78
79
  def record_hash(resource, record_type)
79
- hash = @kind.nil? ? {} : { kind: record_type }
80
+ hash = @kind.nil? ? {} : { kind: @camel_type }
80
81
  hash[:id] = resource.id
81
82
  @fields[record_type].each do |field|
82
83
  hash[key_transform(field)] = resource.public_send(field)
@@ -124,11 +125,11 @@ module ZuoraConnectUi
124
125
  end
125
126
 
126
127
  def parse_record_type(kind, resource)
127
- return key_transform(kind) if kind
128
+ return kind.to_sym if kind
128
129
 
129
- return key_transform(resource.class.name) unless collection?(resource)
130
+ return resource.class.name.underscore.to_sym unless collection?(resource)
130
131
 
131
- key_transform(resource.first.class.name)
132
+ resource.first.class.name.underscore.to_sym
132
133
  end
133
134
 
134
135
  # TODO: hold reserved words
@@ -9,6 +9,7 @@ module ZuoraConnectUi
9
9
  :record_type, :plural_type
10
10
 
11
11
  def initialize(key:, relationship_type:)
12
+ @camel_fields = {}
12
13
  @key = key
13
14
  @relationship_type = relationship_type
14
15
 
@@ -18,6 +19,9 @@ module ZuoraConnectUi
18
19
  def serialize(resources, fields)
19
20
  resources.each_with_object({}) do |resource, hash|
20
21
  relations = resource.public_send(key)
22
+
23
+ next if relations.nil?
24
+
21
25
  relations = [relations] unless @relationship_type == :has_many
22
26
 
23
27
  relations.each do |relation|
@@ -34,7 +38,8 @@ module ZuoraConnectUi
34
38
  hash = { id: resource.id }
35
39
 
36
40
  fields.each do |field|
37
- hash[key_transform(field)] = resource.public_send(field)
41
+ key = @camel_fields[field] ||= key_transform(field)
42
+ hash[key] = resource.public_send(field)
38
43
  end
39
44
 
40
45
  hash
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZuoraConnectUi
4
- VERSION = '0.11.3'
4
+ VERSION = '0.11.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_connect_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.3
4
+ version: 0.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Connect Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-17 00:00:00.000000000 Z
11
+ date: 2020-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: benchmark-ips
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: brakeman
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - ">"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '1.16'
139
+ - !ruby/object:Gem::Dependency
140
+ name: factory_bot
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: rspec
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +220,20 @@ dependencies:
192
220
  - - ">="
193
221
  - !ruby/object:Gem::Version
194
222
  version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: ruby-prof
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
195
237
  - !ruby/object:Gem::Dependency
196
238
  name: simplecov
197
239
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +262,20 @@ dependencies:
220
262
  - - ">="
221
263
  - !ruby/object:Gem::Version
222
264
  version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: stackprof
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
223
279
  description: Description of Connect UI
224
280
  email:
225
281
  - connect@zuora.com