class ConcurrentRails::Future
Attributes
executor[R]
future[R]
Public Class Methods
new(executor: :io, &block)
click to toggle source
# File lib/concurrent_rails/future.rb, line 5 def initialize(executor: :io, &block) @executor = executor @future = run_on_rails(block) ActiveSupport::Deprecation.warn('ConcurrentRails::Future is deprecated. See README for details') end
Public Instance Methods
execute()
click to toggle source
# File lib/concurrent_rails/future.rb, line 11 def execute future.execute self end
Private Instance Methods
permit_concurrent_loads(&block)
click to toggle source
# File lib/concurrent_rails/future.rb, line 41 def permit_concurrent_loads(&block) rails_wrapped do ActiveSupport::Dependencies.interlock.permit_concurrent_loads(&block) end end
rails_wrapped(&block)
click to toggle source
# File lib/concurrent_rails/future.rb, line 37 def rails_wrapped(&block) Rails.application.executor.wrap(&block) end
run_on_rails(block)
click to toggle source
# File lib/concurrent_rails/future.rb, line 29 def run_on_rails(block) @future = rails_wrapped do Concurrent::Future.new(executor: executor) do rails_wrapped(&block) end end end