Class: Fal::Client
- Inherits:
-
Object
- Object
- Fal::Client
- Defined in:
- lib/fal/client.rb
Overview
Main client facade providing public API.
Instance Method Summary collapse
-
#initialize(config:, connection: nil) ⇒ Client
constructor
A new instance of Client.
- #queue ⇒ Object
- #run(app_id, input) ⇒ Object
- #subscribe(app_id, input, &on_queue_update) ⇒ Object
Constructor Details
#initialize(config:, connection: nil) ⇒ Client
Returns a new instance of Client.
10 11 12 13 |
# File 'lib/fal/client.rb', line 10 def initialize(config:, connection: nil) @config = config @connection = connection || Connection.new(config: config) end |
Instance Method Details
#queue ⇒ Object
26 27 28 |
# File 'lib/fal/client.rb', line 26 def queue @queue ||= Queue.new(connection: @connection, config: @config) end |
#run(app_id, input) ⇒ Object
15 16 17 18 19 |
# File 'lib/fal/client.rb', line 15 def run(app_id, input) endpoint = Endpoints::Run.new(app_id: app_id, base_url: @config.run_url) response = @connection.post(endpoint, body: input) response.data end |
#subscribe(app_id, input, &on_queue_update) ⇒ Object
21 22 23 24 |
# File 'lib/fal/client.rb', line 21 def subscribe(app_id, input, &on_queue_update) request_id = queue.submit(app_id, input) subscriber.wait_for_completion(app_id, request_id, &on_queue_update) end |