Class: Ffccmmx::Client
- Inherits:
-
Object
- Object
- Ffccmmx::Client
- Defined in:
- lib/ffccmmx/client.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#access_token_expiry ⇒ Object
readonly
Returns the value of attribute access_token_expiry.
-
#base_url ⇒ Object
readonly
Returns the value of attribute base_url.
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
-
#httpx ⇒ Object
readonly
Returns the value of attribute httpx.
-
#push_uri ⇒ Object
readonly
Returns the value of attribute push_uri.
-
#topic_base_url ⇒ Object
readonly
Returns the value of attribute topic_base_url.
Instance Method Summary collapse
- #concurrent_push(bodies, headers: {}) ⇒ Object
- #concurrent_subscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
- #concurrent_unsubscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
-
#initialize(base_url, topic_base_url, project_id, configuration) ⇒ Client
constructor
rubocop:disable Metrics/MethodLength.
-
#push(body, headers: {}) ⇒ Object
rubocop:enable Metrics/MethodLength.
- #subscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
- #unsubscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
Constructor Details
#initialize(base_url, topic_base_url, project_id, configuration) ⇒ Client
rubocop:disable Metrics/MethodLength
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/ffccmmx/client.rb', line 22 def initialize(base_url, topic_base_url, project_id, configuration) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength @base_url = base_url @topic_base_url = topic_base_url @project_id = project_id @push_uri = URI.join(base_url, V1_ENDPOINT_PREFIX + project_id.to_s + V1_ENDPOINT_SUFFIX) @batch_subscribe_uri = create_batch_uri(:subscribe) @batch_unsubscribe_uri = create_batch_uri(:unsubscribe) @configuration = configuration.dup access_token_response = @access_token = access_token_response["access_token"] @access_token_expiry = Time.now.utc + access_token_response["expires_in"] @httpx = ::HTTPX.plugin(:auth).plugin(:persistent, configuration.) end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
19 20 21 |
# File 'lib/ffccmmx/client.rb', line 19 def access_token @access_token end |
#access_token_expiry ⇒ Object (readonly)
Returns the value of attribute access_token_expiry.
19 20 21 |
# File 'lib/ffccmmx/client.rb', line 19 def access_token_expiry @access_token_expiry end |
#base_url ⇒ Object (readonly)
Returns the value of attribute base_url.
19 20 21 |
# File 'lib/ffccmmx/client.rb', line 19 def base_url @base_url end |
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
19 20 21 |
# File 'lib/ffccmmx/client.rb', line 19 def configuration @configuration end |
#httpx ⇒ Object (readonly)
Returns the value of attribute httpx.
19 20 21 |
# File 'lib/ffccmmx/client.rb', line 19 def httpx @httpx end |
#push_uri ⇒ Object (readonly)
Returns the value of attribute push_uri.
19 20 21 |
# File 'lib/ffccmmx/client.rb', line 19 def push_uri @push_uri end |
#topic_base_url ⇒ Object (readonly)
Returns the value of attribute topic_base_url.
19 20 21 |
# File 'lib/ffccmmx/client.rb', line 19 def topic_base_url @topic_base_url end |
Instance Method Details
#concurrent_push(bodies, headers: {}) ⇒ Object
43 44 45 |
# File 'lib/ffccmmx/client.rb', line 43 def concurrent_push(bodies, headers: {}) do_concurrent_push_request(bodies, headers) end |
#concurrent_subscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
51 52 53 |
# File 'lib/ffccmmx/client.rb', line 51 def concurrent_subscribe(topic, *instance_ids, query: {}, headers: {}) do_concurrent_subscription_request(topic, *instance_ids, :subscribe, query, headers) end |
#concurrent_unsubscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
59 60 61 |
# File 'lib/ffccmmx/client.rb', line 59 def concurrent_unsubscribe(topic, *instance_ids, query: {}, headers: {}) do_concurrent_subscription_request(topic, *instance_ids, :unsubscribe, query, headers) end |
#push(body, headers: {}) ⇒ Object
rubocop:enable Metrics/MethodLength
39 40 41 |
# File 'lib/ffccmmx/client.rb', line 39 def push(body, headers: {}) do_push_request(body, headers) end |
#subscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
47 48 49 |
# File 'lib/ffccmmx/client.rb', line 47 def subscribe(topic, *instance_ids, query: {}, headers: {}) do_subscription_request(topic, *instance_ids, :subscribe, query, headers) end |
#unsubscribe(topic, *instance_ids, query: {}, headers: {}) ⇒ Object
55 56 57 |
# File 'lib/ffccmmx/client.rb', line 55 def unsubscribe(topic, *instance_ids, query: {}, headers: {}) do_subscription_request(topic, *instance_ids, :unsubscribe, query, headers) end |