module DockerRailsProxy::Callbacks::ClassMethods

Private Instance Methods

_add_callbacks(type:, callbacks:, &block) click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 44
def _add_callbacks(type:, callbacks:, &block)
  callbacks.each { |c| send(type) << _make_lambda(callback: c) }
  send(type) << _make_lambda(callback: block) if block_given?
  send type
end
_make_lambda(callback:) click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 50
def _make_lambda(callback:)
  case callback
  when Symbol
    ->(resource, *args, **kw_args) { resource.send(callback, *args, **kw_args) }
  when ::Proc
    lambda do |resource, *args, **kw_args|
      resource.instance_exec(*args, **kw_args, &callback)
    end
  else
    ->(*) {}
  end
end
_run_after_initialize_callbacks(resource:) click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 74
def _run_after_initialize_callbacks(resource:)
  Array(_after_initialize).each { |c| c.call(resource) }
end
_run_after_process_callbacks(resource:) click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 93
def _run_after_process_callbacks(resource:)
  Array(_after_process).each { |c| c.call(resource) }
end
_run_before_initialize_callbacks() click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 63
def _run_before_initialize_callbacks
  Array(_before_initialize).each do |callback|
    if (result = callback.call(self)).is_a?(String)
      $stderr.puts %(
        #{result}
      )
      exit 1
    end
  end
end
_run_before_process_callbacks(resource:) click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 89
def _run_before_process_callbacks(resource:)
  Array(_before_process).each { |c| c.call(resource) }
end
_run_build_callbacks(params:) click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 97
def _run_build_callbacks(params:)
  Array(_builds).each do |callback|
    result = callback.call(self, params: params)
    return result if result.is_a?(Class)
  end

  self
end
_run_validation_callbacks(resource:) click to toggle source
# File lib/docker_rails_proxy/concerns/callbacks.rb, line 78
def _run_validation_callbacks(resource:)
  Array(_validates).each do |callback|
    if (result = callback.call(resource)).is_a?(String)
      $stderr.puts %(
        #{result}
      )
      exit 1
    end
  end
end