class ActiveNetsuite::SearchRecord
{urn:core_2013_2.platform.webservices.netsuite.com}SearchRecord abstract
Attributes
method[R]
op[R]
record_class[RW]
value[R]
Public Class Methods
new()
click to toggle source
# File lib/activenetsuite/soap/default.rb, line 23938 def initialize end
Public Instance Methods
active()
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 24 def active where(isInactive: false) end
deleted(op, val)
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 28 def deleted(op, val) search_value = SearchDateField.new search_value.xmlattr_operator = SearchDateFieldOperator.make(op) search_value.predefinedSearchValue = SearchDate.make(val) search_type = SearchEnumMultiSelectField.new search_type.xmlattr_operator = SearchEnumMultiSelectFieldOperator::AnyOf search_type.searchValue = type get_deleted_filter = GetDeletedFilter.new(search_value, search_type) client.get_deleted(get_deleted_filter) end
find_by(*args)
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 16 def find_by(*args) where(*args).first end
inactive()
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 20 def inactive where(isInactive: true) end
response()
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 41 def response @response ||= client.search(self) end
where(*args)
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 12 def where(*args) dup.send(:add, *args) end
Private Instance Methods
add(*args)
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 53 def add(*args) if args.first.is_a?(Hash) @method, @value = args.first.flatten @op = default_operator end if args.size == 3 @method, @op, @value = args end method = record_class.inflected_method(@method) send("#{method}=", search_class.new) unless value == true || value == false send(method).xmlattr_operator = search_operator end send(method).searchValue = value self end
client()
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 49 def client Record.client end
default_operator()
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 72 def default_operator case value when String :is when Fixnum :equal_to when Date, DateTime :on else raise ArgumentError, "Can't find search class for #{value.inspect}" end end
search_class()
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 85 def search_class case value when String SearchStringField when Fixnum SearchLongField when TrueClass, FalseClass SearchBooleanField when Date, DateTime SearchDateField else raise ArgumentError, "Can't find search class for #{value.inspect}" end end
search_operator()
click to toggle source
# File lib/activenetsuite/core/search_record.rb, line 100 def search_operator operator_constant_name = op.to_s.camelize operator_class_name = search_class.to_s + "Operator" "#{operator_class_name}::#{operator_constant_name}".constantize end