leap_salesforce 0.2.7 → 0.2.8
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 +4 -4
- data/.idea/leap-salesforce.iml +5 -3
- data/ChangeLog +4 -0
- data/lib/leap_salesforce/soql_data/soql_global_object_data.rb +17 -11
- data/lib/leap_salesforce/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0727f9b6fbfb3b1c1b20b77a96eae10a2769574e7aeefd9af1282bffa2c9ce1d
|
4
|
+
data.tar.gz: 6ebb6a6246a65acec84880ac0b0c06f5757f0cad273bcff6e03c974973e2b41b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15c74d38ab17892e205e0682ecdc677357a7810b384b60ed8b09b182de08abfca49320ba092af86e3f74a48293c158faf5544d24fc496b4f05831426e4c2e492
|
7
|
+
data.tar.gz: 4bf6d4319d775a085f1083128b36adbfe02d824238fa830c4f08a3f932c7077a0476235917d86e0aada28fbec9dc9986f1d400a918a39af6acd6ef809f22919b
|
data/.idea/leap-salesforce.iml
CHANGED
@@ -4,7 +4,9 @@
|
|
4
4
|
<shared />
|
5
5
|
</component>
|
6
6
|
<component name="NewModuleRootManager">
|
7
|
-
<content url="file://$MODULE_DIR$"
|
7
|
+
<content url="file://$MODULE_DIR$">
|
8
|
+
<excludeFolder url="file://$MODULE_DIR$/doc" />
|
9
|
+
</content>
|
8
10
|
<orderEntry type="jdk" jdkName="RVM: ruby-2.6.0" jdkType="RUBY_SDK" />
|
9
11
|
<orderEntry type="sourceFolder" forTests="false" />
|
10
12
|
<orderEntry type="library" scope="PROVIDED" name="activemodel (v6.0.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
@@ -21,7 +23,7 @@
|
|
21
23
|
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, RVM: ruby-2.6.0) [gem]" level="application" />
|
22
24
|
<orderEntry type="library" scope="PROVIDED" name="domain_name (v0.5.20190701, RVM: ruby-2.6.0) [gem]" level="application" />
|
23
25
|
<orderEntry type="library" scope="PROVIDED" name="factory_bot (v5.1.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
24
|
-
<orderEntry type="library" scope="PROVIDED" name="faker (v2.
|
26
|
+
<orderEntry type="library" scope="PROVIDED" name="faker (v2.5.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
25
27
|
<orderEntry type="library" scope="PROVIDED" name="gyoku (v1.3.1, RVM: ruby-2.6.0) [gem]" level="application" />
|
26
28
|
<orderEntry type="library" scope="PROVIDED" name="hashie (v3.6.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
27
29
|
<orderEntry type="library" scope="PROVIDED" name="http-accept (v1.7.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
@@ -60,7 +62,7 @@
|
|
60
62
|
<orderEntry type="library" scope="PROVIDED" name="rspec-its (v1.3.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
61
63
|
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.8.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
62
64
|
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.8.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
63
|
-
<orderEntry type="library" scope="PROVIDED" name="rubocop (v0.
|
65
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop (v0.75.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
64
66
|
<orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.10.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
65
67
|
<orderEntry type="library" scope="PROVIDED" name="rubykeyword (v0.0.4, RVM: ruby-2.6.0) [gem]" level="application" />
|
66
68
|
<orderEntry type="library" scope="PROVIDED" name="savon (v2.12.0, RVM: ruby-2.6.0) [gem]" level="application" />
|
data/ChangeLog
CHANGED
@@ -61,7 +61,7 @@ module SoqlGlobalObjectData
|
|
61
61
|
lookup.each do |key, value|
|
62
62
|
conditional_term = conditional.empty? ? 'WHERE' : 'AND'
|
63
63
|
key_used = map_key key
|
64
|
-
conditional += "#{conditional_term} #{key_used} #{condition_for(value)} "
|
64
|
+
conditional += "#{conditional_term} #{key_used} #{condition_for(key_used, value)} "
|
65
65
|
end
|
66
66
|
query = conditional + "ORDER BY #{@default_filter} DESC NULLS FIRST"
|
67
67
|
query += " LIMIT #{limit}" if limit
|
@@ -238,24 +238,30 @@ module SoqlGlobalObjectData
|
|
238
238
|
# Returns SOQL condition for value passed to be used in SOQL query
|
239
239
|
# @example Greater than or equal to yesterday's date
|
240
240
|
# condition_for("<=#{Time.mktime(2019,1,1)}") # => '<= 2019-01-01T00:00:00.000Z'
|
241
|
+
# @param [String] field_name Backend field name
|
241
242
|
# @param [String, Object] value Value to search for. Certain characters modify this to be more of a complex
|
242
243
|
# check. Object will be converted String if not already one
|
243
244
|
# @return [String] Condition criteria to match value using SOQL
|
244
|
-
def condition_for(value)
|
245
|
-
value = value.to_s
|
245
|
+
def condition_for(field_name, value)
|
246
|
+
value = value.nil? ? 'null' : value.to_s
|
246
247
|
operator, value = case value[0]
|
247
248
|
when '>', '<', '!', 'I' then extract_comparator(value)
|
248
249
|
when '~' then ['LIKE', value[1..-1]]
|
249
|
-
else
|
250
|
-
return "= '#{value}'" unless value.type_of_time?
|
251
|
-
|
252
|
-
return "= #{value.to_zulu_date_string}"
|
250
|
+
else ['=', value]
|
253
251
|
end
|
254
|
-
|
255
|
-
|
256
|
-
|
252
|
+
case type_for(field_name)
|
253
|
+
when 'boolean', 'double', 'int' then "#{operator} #{value}"
|
254
|
+
when 'date', 'datetime', 'time'
|
255
|
+
unless value.type_of_time?
|
256
|
+
raise LeapSalesforce::RequestError,
|
257
|
+
"Value '#{value}' cannot be interpreted as date for #{field_name}"
|
258
|
+
end
|
259
|
+
"#{operator} #{value.to_zulu_date_string}"
|
260
|
+
else # string, picklist, reference, id, textarea
|
261
|
+
return "#{operator} #{value}" if operator.end_with?('IN') || value == 'null'
|
257
262
|
|
258
|
-
|
263
|
+
"#{operator} '#{value}'"
|
264
|
+
end
|
259
265
|
end
|
260
266
|
|
261
267
|
# @param [String] value Value to extract comparator for
|
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.8
|
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-
|
12
|
+
date: 2019-10-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|