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)



64
65
66
67
68
69
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
# File 'lib/pingram/client_wrapper.rb', line 64

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)

  @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)

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

  @sender = Pingram::SenderApi.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_…)



57
58
59
# File 'lib/pingram/client_wrapper.rb', line 57

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)



60
61
62
# File 'lib/pingram/client_wrapper.rb', line 60

def base_url
  @base_url
end

Instance Method Details

#accountPingram::AccountApi

Returns:



118
119
120
# File 'lib/pingram/client_wrapper.rb', line 118

def 
  @account
end

#addressesPingram::AddressesApi



124
125
126
# File 'lib/pingram/client_wrapper.rb', line 124

def addresses
  @addresses
end

#componentsPingram::ComponentsApi



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

def components
  @components
end

#default_apiPingram::DefaultApi

Returns:



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

def default_api
  @default_api
end

#domainsPingram::DomainsApi

Returns:



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

def domains
  @domains
end

#editorPingram::EditorApi

Returns:



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

def editor
  @editor
end

#environmentsPingram::EnvironmentsApi



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

def environments
  @environments
end

#healthPingram::HealthApi

Returns:



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

def health
  @health
end

#insightsPingram::InsightsApi



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

def insights
  @insights
end

#keysPingram::KeysApi

Returns:



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

def keys
  @keys
end

#logsPingram::LogsApi

Returns:



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

def logs
  @logs
end

#membersPingram::MembersApi

Returns:



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

def members
  @members
end

#numbersPingram::NumbersApi

Returns:



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

def numbers
  @numbers
end

#organizationPingram::OrganizationApi



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

def organization
  @organization
end

#push_settingsPingram::PushsettingsApi

Returns:

  • (Pingram::PushsettingsApi)


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

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)



247
248
249
# File 'lib/pingram/client_wrapper.rb', line 247

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

#senderPingram::SenderApi

Returns:



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

def sender
  @sender
end

#templatesPingram::TemplatesApi



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

def templates
  @templates
end

#typesPingram::TypesApi

Returns:



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

def types
  @types
end

#userPingram::UserApi

Returns:



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

def user
  @user
end

#usersPingram::UsersApi

Returns:



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

def users
  @users
end

#webhooksPingram::WebhooksApi



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

def webhooks
  @webhooks
end