class ActiveInteraction::RecordFilter

@private

Private Instance Methods

convert(value) click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 46
def convert(value)
  finder = options.fetch(:finder, :find)
  find(klass, value, finder)
end
find(klass, value, finder) click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 51
def find(klass, value, finder)
  result = klass.public_send(finder, value)

  raise InvalidValueError if result.nil?

  result
rescue StandardError => e
  raise e if e.is_a?(InvalidConverterError)

  raise InvalidValueError
end
klass() click to toggle source
# File lib/active_interaction/filters/record_filter.rb, line 33
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 40
def matches?(value)
  value.class <= klass
rescue NoMethodError
  false
end