class RailsAiAdmin::Operations::ExecutionContext
Attributes
Public Class Methods
Source
# File lib/rails_ai_admin/operations/execution_context.rb, line 14 def initialize(context, resource, record, run: nil, duration: 5) @context, @resource, @record = context, resource, record @deadline = Process.clock_gettime(Process::CLOCK_MONOTONIC) + duration @outbox = run ? Outbox::Writer.new(context, run, resource) : PreviewOutbox.new end
Public Instance Methods
Source
# File lib/rails_ai_admin/operations/execution_context.rb, line 24 def check_deadline! raise DeadlineExceeded if Process.clock_gettime(Process::CLOCK_MONOTONIC) > @deadline end
Source
# File lib/rails_ai_admin/operations/execution_context.rb, line 28 def ref(record) unless record.is_a?(@resource.model_class) && record.id.to_s == @record.id.to_s raise ConfigurationError, "References must identify this operation's scoped target" end value = "raa:record:#{record.class.base_class.name}:#{record.id}" raise ConfigurationError, "Record reference is too long" if value.bytesize > 150 value end