module ServiceActor::NilCheckable::PrependedMethods
Public Instance Methods
_call()
click to toggle source
Calls superclass method
# File lib/service_actor/nil_checkable.rb, line 18 def _call check_context_for_nil(self.class.inputs, origin: 'input') super check_context_for_nil(self.class.outputs, origin: 'output') end
Private Instance Methods
allow_nil?(options)
click to toggle source
# File lib/service_actor/nil_checkable.rb, line 38 def allow_nil?(options) if options.key?(:allow_nil) options[:allow_nil] elsif options.key?(:default) && options[:default].nil? true elsif options[:type] false else true end end
check_context_for_nil(definitions, origin:)
click to toggle source
# File lib/service_actor/nil_checkable.rb, line 28 def check_context_for_nil(definitions, origin:) definitions.each do |name, options| next if !result[name].nil? || allow_nil?(options) raise ArgumentError, "The #{origin} \"#{name}\" on #{self.class} does not allow " \ 'nil values' end end