Class: GetStreamRuby::Client
- Inherits:
-
Object
- Object
- GetStreamRuby::Client
- Defined in:
- lib/getstream_ruby/client.rb
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
Instance Method Summary collapse
-
#chat ⇒ GetStream::Generated::ChatClient
The chat API client.
-
#common ⇒ GetStream::Generated::CommonClient
The common API client.
-
#feed(feed_group_id, feed_id) ⇒ GetStream::Generated::Feed
Create an individual feed instance.
- #feed_resource ⇒ Object
-
#feeds ⇒ GetStream::Generated::FeedsClient
The feeds API client.
-
#initialize(config = nil, api_key: nil, api_secret: nil, base_url: nil, timeout: nil) ⇒ Client
constructor
A new instance of Client.
- #make_request(method, path, query_params: nil, body: nil) ⇒ Object
-
#moderation ⇒ GetStream::Generated::ModerationClient
The moderation API client.
-
#post(path, body = {}) ⇒ GetStreamRuby::StreamResponse
The API response.
-
#video ⇒ GetStream::Generated::VideoClient
The video API client.
Constructor Details
#initialize(config = nil, api_key: nil, api_secret: nil, base_url: nil, timeout: nil) ⇒ Client
Returns a new instance of Client.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/getstream_ruby/client.rb', line 24 def initialize(config = nil, api_key: nil, api_secret: nil, base_url: nil, timeout: nil) @configuration = config || GetStreamRuby.configuration # Create new configuration with overrides if any parameters provided if api_key || api_secret || base_url || timeout @configuration = Configuration.with_overrides( api_key: api_key, api_secret: api_secret, base_url: base_url, timeout: timeout, ) end @configuration.validate! @connection = build_connection end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
22 23 24 |
# File 'lib/getstream_ruby/client.rb', line 22 def configuration @configuration end |
Instance Method Details
#chat ⇒ GetStream::Generated::ChatClient
Returns The chat API client.
63 64 65 |
# File 'lib/getstream_ruby/client.rb', line 63 def chat @chat ||= GetStream::Generated::ChatClient.new(self) end |
#common ⇒ GetStream::Generated::CommonClient
Returns The common API client.
48 49 50 |
# File 'lib/getstream_ruby/client.rb', line 48 def common @common ||= GetStream::Generated::CommonClient.new(self) end |
#feed(feed_group_id, feed_id) ⇒ GetStream::Generated::Feed
Create an individual feed instance
76 77 78 |
# File 'lib/getstream_ruby/client.rb', line 76 def feed(feed_group_id, feed_id) GetStream::Generated::Feed.new(self, feed_group_id, feed_id) end |
#feed_resource ⇒ Object
41 42 43 |
# File 'lib/getstream_ruby/client.rb', line 41 def feed_resource @feed_resource ||= Resources::Feed.new(self) end |
#feeds ⇒ GetStream::Generated::FeedsClient
Returns The feeds API client.
53 54 55 |
# File 'lib/getstream_ruby/client.rb', line 53 def feeds @feeds ||= GetStream::Generated::FeedsClient.new(self) end |
#make_request(method, path, query_params: nil, body: nil) ⇒ Object
87 88 89 90 91 92 93 94 95 96 |
# File 'lib/getstream_ruby/client.rb', line 87 def make_request(method, path, query_params: nil, body: nil) # Handle query parameters if query_params && !query_params.empty? query_string = query_params.map { |k, v| "#{k}=#{v}" }.join('&') path = "#{path}?#{query_string}" end # Make the request request(method, path, body) end |
#moderation ⇒ GetStream::Generated::ModerationClient
Returns The moderation API client.
58 59 60 |
# File 'lib/getstream_ruby/client.rb', line 58 def moderation @moderation ||= GetStream::Generated::ModerationClient.new(self) end |
#post(path, body = {}) ⇒ GetStreamRuby::StreamResponse
Returns The API response.
83 84 85 |
# File 'lib/getstream_ruby/client.rb', line 83 def post(path, body = {}) request(:post, path, body) end |
#video ⇒ GetStream::Generated::VideoClient
Returns The video API client.
68 69 70 |
# File 'lib/getstream_ruby/client.rb', line 68 def video @video ||= GetStream::Generated::VideoClient.new(self) end |