Class: Pingram::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/pingram/client_wrapper.rb

Overview

High-level Pingram client: holds API key and base URL, exposes tag APIs and send.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Client.

Parameters:

  • api_key (String)

    API key (e.g. pingram_sk_…) or JWT

  • base_url (String, nil) (defaults to: nil)

    Optional override for base URL (e.g. api.pingram.io)



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'lib/pingram/client_wrapper.rb', line 70

def initialize(api_key:, base_url: nil)
  @api_key = api_key
  @base_url = base_url
  @config = Pingram::Configuration.default.dup
  @config.access_token = api_key
  @config.host = base_url.to_s.sub(%r{/$}, '') if base_url && !base_url.to_s.empty?
  @api_client = Pingram::ApiClient.new(@config)

  @account = Pingram::AccountApi.new(@api_client)

  @addresses = Pingram::AddressesApi.new(@api_client)

  @components = Pingram::ComponentsApi.new(@api_client)

  @default_api = Pingram::DefaultApi.new(@api_client)

  @domains = Pingram::DomainsApi.new(@api_client)

  @editor = Pingram::EditorApi.new(@api_client)

  @email = Pingram::EmailApi.new(@api_client)

  @environments = Pingram::EnvironmentsApi.new(@api_client)

  @health = Pingram::HealthApi.new(@api_client)

  @insights = Pingram::InsightsApi.new(@api_client)

  @keys = Pingram::KeysApi.new(@api_client)

  @logs = Pingram::LogsApi.new(@api_client)

  @members = Pingram::MembersApi.new(@api_client)

  @numbers = Pingram::NumbersApi.new(@api_client)

  @organization = Pingram::OrganizationApi.new(@api_client)

  @profile = Pingram::ProfileApi.new(@api_client)

  @push_settings = Pingram::PushSettingsApi.new(@api_client)

  @sender = Pingram::SenderApi.new(@api_client)

  @sms = Pingram::SmsApi.new(@api_client)

  @templates = Pingram::TemplatesApi.new(@api_client)

  @types = Pingram::TypesApi.new(@api_client)

  @user = Pingram::UserApi.new(@api_client)

  @users = Pingram::UsersApi.new(@api_client)

  @webhooks = Pingram::WebhooksApi.new(@api_client)

end

Instance Attribute Details

#api_keyString (readonly)

Returns API key (e.g. pingram_sk_…).

Returns:

  • (String)

    API key (e.g. pingram_sk_…)



63
64
65
# File 'lib/pingram/client_wrapper.rb', line 63

def api_key
  @api_key
end

#base_urlString? (readonly)

Returns Override base URL (default from Configuration).

Returns:

  • (String, nil)

    Override base URL (default from Configuration)



66
67
68
# File 'lib/pingram/client_wrapper.rb', line 66

def base_url
  @base_url
end

Instance Method Details

#accountPingram::AccountApi

Returns:



130
131
132
# File 'lib/pingram/client_wrapper.rb', line 130

def 
  @account
end

#addressesPingram::AddressesApi



136
137
138
# File 'lib/pingram/client_wrapper.rb', line 136

def addresses
  @addresses
end

#componentsPingram::ComponentsApi



142
143
144
# File 'lib/pingram/client_wrapper.rb', line 142

def components
  @components
end

#default_apiPingram::DefaultApi

Returns:



148
149
150
# File 'lib/pingram/client_wrapper.rb', line 148

def default_api
  @default_api
end

#domainsPingram::DomainsApi

Returns:



154
155
156
# File 'lib/pingram/client_wrapper.rb', line 154

def domains
  @domains
end

#editorPingram::EditorApi

Returns:



160
161
162
# File 'lib/pingram/client_wrapper.rb', line 160

def editor
  @editor
end

#emailPingram::EmailApi

Returns:



166
167
168
# File 'lib/pingram/client_wrapper.rb', line 166

def email
  @email
end

#environmentsPingram::EnvironmentsApi



172
173
174
# File 'lib/pingram/client_wrapper.rb', line 172

def environments
  @environments
end

#healthPingram::HealthApi

Returns:



178
179
180
# File 'lib/pingram/client_wrapper.rb', line 178

def health
  @health
end

#insightsPingram::InsightsApi



184
185
186
# File 'lib/pingram/client_wrapper.rb', line 184

def insights
  @insights
end

#keysPingram::KeysApi

Returns:



190
191
192
# File 'lib/pingram/client_wrapper.rb', line 190

def keys
  @keys
end

#logsPingram::LogsApi

Returns:



196
197
198
# File 'lib/pingram/client_wrapper.rb', line 196

def logs
  @logs
end

#membersPingram::MembersApi

Returns:



202
203
204
# File 'lib/pingram/client_wrapper.rb', line 202

def members
  @members
end

#numbersPingram::NumbersApi

Returns:



208
209
210
# File 'lib/pingram/client_wrapper.rb', line 208

def numbers
  @numbers
end

#organizationPingram::OrganizationApi



214
215
216
# File 'lib/pingram/client_wrapper.rb', line 214

def organization
  @organization
end

#profilePingram::ProfileApi

Returns:



220
221
222
# File 'lib/pingram/client_wrapper.rb', line 220

def profile
  @profile
end

#push_settingsPingram::PushSettingsApi



226
227
228
# File 'lib/pingram/client_wrapper.rb', line 226

def push_settings
  @push_settings
end

#send(body) ⇒ Object

Send a notification. Delegates to DefaultApi#call_send (Ruby renames send to call_send).

Parameters:

  • body (Object)

    Request body (e.g. Pingram::SenderPostBody or Hash)

Returns:

  • (Object)

    Response (e.g. Pingram::SenderPostResponse)



277
278
279
# File 'lib/pingram/client_wrapper.rb', line 277

def send(body)
  @default_api.call_send(body)
end

#senderPingram::SenderApi

Returns:



232
233
234
# File 'lib/pingram/client_wrapper.rb', line 232

def sender
  @sender
end

#smsPingram::SmsApi

Returns:



238
239
240
# File 'lib/pingram/client_wrapper.rb', line 238

def sms
  @sms
end

#templatesPingram::TemplatesApi



244
245
246
# File 'lib/pingram/client_wrapper.rb', line 244

def templates
  @templates
end

#typesPingram::TypesApi

Returns:



250
251
252
# File 'lib/pingram/client_wrapper.rb', line 250

def types
  @types
end

#userPingram::UserApi

Returns:



256
257
258
# File 'lib/pingram/client_wrapper.rb', line 256

def user
  @user
end

#usersPingram::UsersApi

Returns:



262
263
264
# File 'lib/pingram/client_wrapper.rb', line 262

def users
  @users
end

#webhooksPingram::WebhooksApi



268
269
270
# File 'lib/pingram/client_wrapper.rb', line 268

def webhooks
  @webhooks
end