55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# File 'lib/netsuite/utilities.rb', line 55
def find_record(record, names, opts = {})
field_name = opts[:field_name]
names = [ names ] if names.is_a?(String)
names.each do |name|
@netsuite_find_record_cache ||= {}
if @netsuite_find_record_cache.has_key?(name)
return @netsuite_find_record_cache[name]
end
if !field_name && /@.*\./ =~ name
field_name = 'email'
end
field_name ||= 'name'
search = backoff { record.search({
basic: [
{
field: field_name,
operator: 'contains',
value: name,
}
]
}) }
if search.results.first
return @netsuite_find_record_cache[name] = search.results.first
end
end
nil
end
|