Class: MagicBell::Client

Inherits:
Object
  • Object
show all
Includes:
ApiOperations
Defined in:
lib/magicbell/client.rb

Defined Under Namespace

Classes: HTTPError

Instance Method Summary collapse

Methods included from ApiOperations

#get, #post, #put

Constructor Details

#initialize(api_key: nil, api_secret: nil) ⇒ Client

Returns a new instance of Client.



12
13
14
15
# File 'lib/magicbell/client.rb', line 12

def initialize(api_key: nil, api_secret: nil)
  @api_key = api_key
  @api_secret = api_secret
end

Instance Method Details

#authentication_headersObject



31
32
33
# File 'lib/magicbell/client.rb', line 31

def authentication_headers
  MagicBell.authentication_headers(client_api_key: @api_key, client_api_secret: @api_secret)
end

#create_notification(notification_attributes) ⇒ Object



17
18
19
# File 'lib/magicbell/client.rb', line 17

def create_notification(notification_attributes)
  MagicBell::Notification.create(self, notification_attributes)
end

#hmac(message) ⇒ Object



35
36
37
38
39
# File 'lib/magicbell/client.rb', line 35

def hmac(message)
  secret = @api_secret || MagicBell.api_secret

  Base64.encode64(OpenSSL::HMAC::digest(sha256_digest, secret, message)).strip
end

#user_with_email(email) ⇒ Object



21
22
23
24
# File 'lib/magicbell/client.rb', line 21

def user_with_email(email)
  client = self
  MagicBell::User.new(client, "email" => email)
end

#user_with_external_id(external_id) ⇒ Object



26
27
28
29
# File 'lib/magicbell/client.rb', line 26

def user_with_external_id(external_id)
  client = self
  MagicBell::User.new(client, "external_id" => external_id)
end