module ObjectAttorney::Helpers

Public Instance Methods

call_method!(base, method, *args) click to toggle source
# File lib/object_attorney/helpers.rb, line 19
def call_method!(base, method, *args)
  unless base.respond_to?(method)
    raise NotImplementedError, "#{base} does not respond to #{method}"
  end

  base.send(method, *args)
end
call_proc_or_method(base, proc_or_method, object = nil) click to toggle source
# File lib/object_attorney/helpers.rb, line 11
def call_proc_or_method(base, proc_or_method, object = nil)
  if proc_or_method.is_a?(Proc)
    base.instance_exec(object, &proc_or_method)
  else
    call_method!(base, proc_or_method, object)
  end
end
extend_errors_if_necessary(object) click to toggle source
# File lib/object_attorney/helpers.rb, line 27
def extend_errors_if_necessary(object)
  return if object.respond_to?(:errors)

  object.class.send(:include, Errors)
end
marked_for_destruction?(object) click to toggle source
# File lib/object_attorney/helpers.rb, line 5
def marked_for_destruction?(object)
  return false unless object.respond_to?(:marked_for_destruction?)

  object.marked_for_destruction?
end