leap_salesforce 0.2.5 → 0.2.6
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b318944cb5c337f9eb2f43edb361d5e0ca3fdbe79ffbc493f4b98b6b2fcb81b
|
4
|
+
data.tar.gz: 9f05c958a4c5a359097dfd39eb853fb547350701c3161aa4b1c21ba1e6093fc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 386927d34b1f47d6e3fe6295ecc72c62f4644e093431c667e7656b9175224aabdb947338df9bef91edf4d0d22015364e1bd90898be823d4a82c598b3f9fc3fdf
|
7
|
+
data.tar.gz: 88f5a464645b4d0e5b3cabb23f903bbeb6d4a2c12afa77af9dc7312397f1eb1863af5f39d30cb82b23a24ebccf6ed101f0d0a63bbf57b7d9236f0100e2174b89
|
data/.idea/leap-salesforce.iml
CHANGED
@@ -67,7 +67,7 @@
|
|
67
67
|
<orderEntry type="library" scope="PROVIDED" name="sinatra (v2.0.4, RVM: ruby-2.6.0) [gem]" level="application" />
|
68
68
|
<orderEntry type="library" scope="PROVIDED" name="sinatra-basic-auth (v0.1.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
69
69
|
<orderEntry type="library" scope="PROVIDED" name="sinatra-docdsl (v0.8.6, RVM: ruby-2.6.0) [gem]" level="application" />
|
70
|
-
<orderEntry type="library" scope="PROVIDED" name="soaspec (v0.
|
70
|
+
<orderEntry type="library" scope="PROVIDED" name="soaspec (v0.3.1, RVM: ruby-2.6.0) [gem]" level="application" />
|
71
71
|
<orderEntry type="library" scope="PROVIDED" name="socksify (v1.7.1, RVM: ruby-2.6.0) [gem]" level="application" />
|
72
72
|
<orderEntry type="library" scope="PROVIDED" name="thor (v0.20.3, RVM: ruby-2.6.0) [gem]" level="application" />
|
73
73
|
<orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.6, RVM: ruby-2.6.0) [gem]" level="application" />
|
data/ChangeLog
CHANGED
data/leap_salesforce.gemspec
CHANGED
@@ -40,6 +40,6 @@ It reads the Metadata from Salesforce and creates the foundation for API tests.'
|
|
40
40
|
spec.add_dependency 'require_all'
|
41
41
|
spec.add_dependency 'rubocop'
|
42
42
|
spec.add_dependency 'rubykeyword'
|
43
|
-
spec.add_dependency 'soaspec', '>= 0.
|
43
|
+
spec.add_dependency 'soaspec', '>= 0.3.0'
|
44
44
|
spec.add_dependency 'thor'
|
45
45
|
end
|
@@ -51,7 +51,7 @@ class SoqlData < Exchange
|
|
51
51
|
self.test_name = "Factory for '#{self.class}'#{optional_name}" unless name
|
52
52
|
return unless name.is_a? Hash
|
53
53
|
|
54
|
-
name.each do |field_name, field_value|
|
54
|
+
name.dup.each do |field_name, field_value|
|
55
55
|
send("#{field_name}=", field_value)
|
56
56
|
end
|
57
57
|
end
|
@@ -81,7 +81,7 @@ class SoqlData < Exchange
|
|
81
81
|
# Extract the id or return the cached version of it
|
82
82
|
# @return [String] Id of Salesforce Object
|
83
83
|
def id
|
84
|
-
@id ||=
|
84
|
+
@id ||= value_from_path '$..id,$..Id'
|
85
85
|
end
|
86
86
|
|
87
87
|
# @param [Boolean] set Whether to not retry for successful response (Used when you expect an error)
|
@@ -113,6 +113,7 @@ class SoqlData < Exchange
|
|
113
113
|
# Update current record with data provided
|
114
114
|
# @param [Hash] data Data to update exchange with
|
115
115
|
def update(data)
|
116
|
+
@updated = true
|
116
117
|
self.class.update(id, data)
|
117
118
|
end
|
118
119
|
|
@@ -168,12 +169,26 @@ class SoqlData < Exchange
|
|
168
169
|
# @param [String, Symbol] key Name of request element to set
|
169
170
|
# @param [String] value Value to set request element to
|
170
171
|
def []=(key, value)
|
171
|
-
@override_parameters[:body] ||= {}
|
172
172
|
value = value.salesforce_format if value.is_a? Time
|
173
|
+
@override_parameters[:body] ||= {}
|
173
174
|
@override_parameters[:body][key] = value
|
174
175
|
end
|
175
176
|
|
176
|
-
# @return [String]
|
177
|
+
# @return [String] Value at backend name
|
178
|
+
def [](backend_name)
|
179
|
+
if @updated
|
180
|
+
@updated = false
|
181
|
+
find # Retrieve data freshly after an update
|
182
|
+
end
|
183
|
+
value_from_path backend_name
|
184
|
+
rescue NoElementAtPath
|
185
|
+
raise diagnose_error if error_message?
|
186
|
+
|
187
|
+
find
|
188
|
+
value_from_path backend_name
|
189
|
+
end
|
190
|
+
|
191
|
+
# @return [String, RestClient::Response] Error message if present
|
177
192
|
def diagnose_error
|
178
193
|
return error_message if error_message?
|
179
194
|
|
@@ -201,37 +201,22 @@ module SoqlGlobalObjectData
|
|
201
201
|
delete
|
202
202
|
end
|
203
203
|
|
204
|
-
# rubocop:disable Metrics/MethodLength
|
205
|
-
# rubocop:disable Metrics/AbcSize
|
206
204
|
def soql_element(name, backend_name)
|
207
205
|
# Either set the element (if creating a new record) or update the object
|
208
|
-
# @todo: ensure next time an element is retrieved it's not from a cached value
|
209
206
|
# @param [String] new_value Value to update record to
|
210
207
|
define_method("#{name}=") do |new_value|
|
211
|
-
if @response
|
208
|
+
if @response # Performing an update
|
212
209
|
@response = update(backend_name => new_value).response
|
213
|
-
else
|
210
|
+
else # Setting value on creating new object
|
214
211
|
self[backend_name] = new_value.class < SoqlData ? new_value.id : new_value
|
215
212
|
end
|
216
213
|
end
|
217
214
|
|
218
215
|
# @return [String] Value of backend name
|
219
|
-
define_method
|
220
|
-
begin
|
221
|
-
self[backend_name]
|
222
|
-
rescue NoElementAtPath
|
223
|
-
raise diagnose_error if error_message?
|
224
|
-
|
225
|
-
# TODO: Response here should not be necessary. Only find is
|
226
|
-
@response = find.response
|
227
|
-
self[backend_name]
|
228
|
-
end
|
229
|
-
end
|
216
|
+
define_method(name.to_s) { self[backend_name] }
|
230
217
|
# @return [String] Name of backend name for element
|
231
218
|
define_method("#{name}_element") { backend_name }
|
232
219
|
end
|
233
|
-
# rubocop:enable Metrics/MethodLength
|
234
|
-
# rubocop:enable Metrics/AbcSize
|
235
220
|
|
236
221
|
# Map key to a field name if used directly or field defined through 'soql_element'
|
237
222
|
# @param [Symbol, String] key Key to map to Table field name
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: leap_salesforce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- IQA
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-09-
|
12
|
+
date: 2019-09-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -213,14 +213,14 @@ dependencies:
|
|
213
213
|
requirements:
|
214
214
|
- - ">="
|
215
215
|
- !ruby/object:Gem::Version
|
216
|
-
version: 0.
|
216
|
+
version: 0.3.0
|
217
217
|
type: :runtime
|
218
218
|
prerelease: false
|
219
219
|
version_requirements: !ruby/object:Gem::Requirement
|
220
220
|
requirements:
|
221
221
|
- - ">="
|
222
222
|
- !ruby/object:Gem::Version
|
223
|
-
version: 0.
|
223
|
+
version: 0.3.0
|
224
224
|
- !ruby/object:Gem::Dependency
|
225
225
|
name: thor
|
226
226
|
requirement: !ruby/object:Gem::Requirement
|