Class: AILabTools::Client
- Inherits:
-
Object
- Object
- AILabTools::Client
- Defined in:
- lib/ailabtools/client.rb
Instance Attribute Summary collapse
-
#background ⇒ Object
readonly
Returns the value of attribute background.
-
#common ⇒ Object
readonly
Returns the value of attribute common.
-
#cutout ⇒ Object
readonly
Returns the value of attribute cutout.
-
#image ⇒ Object
readonly
Returns the value of attribute image.
-
#portrait ⇒ Object
readonly
Returns the value of attribute portrait.
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(api_key:, base_url: "https://www.ailabapi.com", timeout: 120) ⇒ Client
constructor
A new instance of Client.
- #wait_for_task(task_id, interval: 5, timeout: 300, raise_on_failed: true) ⇒ Object
Constructor Details
#initialize(api_key:, base_url: "https://www.ailabapi.com", timeout: 120) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 12 13 14 |
# File 'lib/ailabtools/client.rb', line 7 def initialize(api_key:, base_url: "https://www.ailabapi.com", timeout: 120) requester = Requester.new(api_key: api_key, base_url: base_url, timeout: timeout) @common = API::CommonAPI.new(requester) @cutout = API::CutoutAPI.new(requester) @image = API::ImageAPI.new(requester) @portrait = API::PortraitAPI.new(requester) @background = API::BackgroundAPI.new(@cutout) end |
Instance Attribute Details
#background ⇒ Object (readonly)
Returns the value of attribute background.
5 6 7 |
# File 'lib/ailabtools/client.rb', line 5 def background @background end |
#common ⇒ Object (readonly)
Returns the value of attribute common.
5 6 7 |
# File 'lib/ailabtools/client.rb', line 5 def common @common end |
#cutout ⇒ Object (readonly)
Returns the value of attribute cutout.
5 6 7 |
# File 'lib/ailabtools/client.rb', line 5 def cutout @cutout end |
#image ⇒ Object (readonly)
Returns the value of attribute image.
5 6 7 |
# File 'lib/ailabtools/client.rb', line 5 def image @image end |
#portrait ⇒ Object (readonly)
Returns the value of attribute portrait.
5 6 7 |
# File 'lib/ailabtools/client.rb', line 5 def portrait @portrait end |
Instance Method Details
#close ⇒ Object
33 34 35 |
# File 'lib/ailabtools/client.rb', line 33 def close nil end |
#wait_for_task(task_id, interval: 5, timeout: 300, raise_on_failed: true) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ailabtools/client.rb', line 16 def wait_for_task(task_id, interval: 5, timeout: 300, raise_on_failed: true) deadline = Time.now + timeout loop do result = @common.common_query_async_task_result( Generated::Params::CommonQueryAsyncTaskResultParams.new(task_id: task_id) ) status = result.data && result.data.task_status || result.task_status return result if status == 2 if status == 3 raise SDKError, "AILabTools task failed: #{task_id}" if raise_on_failed return result end raise SDKError, "AILabTools task timed out: #{task_id}" if Time.now >= deadline sleep interval if interval.positive? end end |