module ActiveInteraction::Missable
Handle common `method_missing` functionality.
@private
Public Instance Methods
method_missing(slug, *args) { |klass, args, options| ... }
click to toggle source
@param slug [Symbol]
@yield [klass, args, options]
@yieldparam klass [Class] @yieldparam args [Array] @yieldparam options [Hash]
@return [Missable]
Calls superclass method
# File lib/active_interaction/concerns/missable.rb, line 19 def method_missing(slug, *args) return super unless (klass = filter(slug)) options = args.last.is_a?(Hash) ? args.pop : {} yield(klass, args, options) if block_given? self end
Private Instance Methods
filter(slug)
click to toggle source
@param slug [Symbol]
@return [Filter, nil]
# File lib/active_interaction/concerns/missable.rb, line 34 def filter(slug) Filter.factory(slug) rescue MissingFilterError nil end
respond_to_missing?(slug, *)
click to toggle source
@param slug [Symbol]
@return [Boolean]
# File lib/active_interaction/concerns/missable.rb, line 43 def respond_to_missing?(slug, *) filter(slug) end