class ActiveInteraction::RecordFilter

@private

Private Instance Methods

blank_string?(value) click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 61
def blank_string?(value)
  value.is_a?(String) && value.blank?
rescue NoMethodError # BasicObject
  false
end
convert(value) click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 48
def convert(value)
  return [nil, nil] if blank_string?(value)

  finder = options.fetch(:finder, :find)
  result = find(klass, value, finder)

  if result.nil?
    [value, Filter::Error.new(self, :invalid_type)]
  else
    [result, nil]
  end
end
find(klass, value, finder) click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 67
def find(klass, value, finder)
  klass.public_send(finder, value)
rescue StandardError
  nil
end
klass() click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 35
def klass
  klass_name = options.fetch(:class, name).to_s.camelize
  Object.const_get(klass_name)
rescue NameError
  raise InvalidNameError, "class #{klass_name.inspect} does not exist"
end
matches?(value) click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 42
def matches?(value)
  value.class <= klass
rescue NoMethodError
  false
end