Class: Streambird

Inherits:
Object
  • Object
show all
Defined in:
lib/streambird.rb,
lib/streambird/api.rb,
lib/streambird/api/otp.rb,
lib/streambird/api/user.rb,
lib/streambird/api/oauth.rb,
lib/streambird/api/errors.rb,
lib/streambird/api/wallet.rb,
lib/streambird/api/session.rb,
lib/streambird/api/magic_link.rb,
lib/streambird/api/oauth_connection.rb

Defined Under Namespace

Classes: Api

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key: nil, default_request_params: {}, logging: false) ⇒ Streambird

Returns a new instance of Streambird.



10
11
12
13
14
15
16
# File 'lib/streambird.rb', line 10

def initialize(api_key: nil, default_request_params: {}, logging: false)
  Streambird.validate_api_key(api_key)

  self.api_key = api_key
  self.default_request_params = default_request_params
  self.logging = logging
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



2
3
4
# File 'lib/streambird.rb', line 2

def api_key
  @api_key
end

#default_request_paramsObject

Returns the value of attribute default_request_params.



2
3
4
# File 'lib/streambird.rb', line 2

def default_request_params
  @default_request_params
end

#loggingObject

Returns the value of attribute logging.



2
3
4
# File 'lib/streambird.rb', line 2

def logging
  @logging
end

Class Method Details

.validate_api_key(api_key) ⇒ Object



4
5
6
7
8
# File 'lib/streambird.rb', line 4

def self.validate_api_key(api_key)
  if api_key.length < 5 || !(api_key.start_with?('sk_live') || api_key.start_with?('sk_test')) 
    raise Api::APIKeyInvalid
  end
end

Instance Method Details

#clientObject



26
27
28
# File 'lib/streambird.rb', line 26

def client
  @client ||= Api.new(api_key, default_request_params, logging)
end

#live?Boolean Also known as: live, live_mode?

Returns:

  • (Boolean)


18
19
20
# File 'lib/streambird.rb', line 18

def live?
  api_key.start_with?('sk_live')
end


30
31
32
# File 'lib/streambird.rb', line 30

def magic_links
  @magic_links ||= Streambird::Api::MagicLink.new(client)
end

#oauthObject



42
43
44
# File 'lib/streambird.rb', line 42

def oauth
  @oauth ||= Streambird::Api::OAuth.new(client)
end

#oauth_connectionsObject



54
55
56
# File 'lib/streambird.rb', line 54

def oauth_connections
  @oauth_connections ||= Streambird::Api::OAuthConnection.new(client)
end

#otpsObject



34
35
36
# File 'lib/streambird.rb', line 34

def otps
  @otps ||= Streambird::Api::Otp.new(client)
end

#sessionsObject



46
47
48
# File 'lib/streambird.rb', line 46

def sessions
  @sessions ||= Streambird::Api::Session.new(client)
end

#test?Boolean Also known as: test, test_mode?

Returns:

  • (Boolean)


22
23
24
# File 'lib/streambird.rb', line 22

def test?
  api_key.start_with?('sk_test')
end

#usersObject



38
39
40
# File 'lib/streambird.rb', line 38

def users
  @users ||= Streambird::Api::User.new(client)
end

#walletsObject



50
51
52
# File 'lib/streambird.rb', line 50

def wallets
  @wallets ||= Streambird::Api::Wallet.new(client)
end