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)



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
115
116
117
118
# File 'lib/pingram/client_wrapper.rb', line 66

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)

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



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

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)



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

def base_url
  @base_url
end

Instance Method Details

#accountPingram::AccountApi

Returns:



122
123
124
# File 'lib/pingram/client_wrapper.rb', line 122

def 
  @account
end

#addressesPingram::AddressesApi



128
129
130
# File 'lib/pingram/client_wrapper.rb', line 128

def addresses
  @addresses
end

#componentsPingram::ComponentsApi



134
135
136
# File 'lib/pingram/client_wrapper.rb', line 134

def components
  @components
end

#default_apiPingram::DefaultApi

Returns:



140
141
142
# File 'lib/pingram/client_wrapper.rb', line 140

def default_api
  @default_api
end

#domainsPingram::DomainsApi

Returns:



146
147
148
# File 'lib/pingram/client_wrapper.rb', line 146

def domains
  @domains
end

#editorPingram::EditorApi

Returns:



152
153
154
# File 'lib/pingram/client_wrapper.rb', line 152

def editor
  @editor
end

#environmentsPingram::EnvironmentsApi



158
159
160
# File 'lib/pingram/client_wrapper.rb', line 158

def environments
  @environments
end

#healthPingram::HealthApi

Returns:



164
165
166
# File 'lib/pingram/client_wrapper.rb', line 164

def health
  @health
end

#insightsPingram::InsightsApi



170
171
172
# File 'lib/pingram/client_wrapper.rb', line 170

def insights
  @insights
end

#keysPingram::KeysApi

Returns:



176
177
178
# File 'lib/pingram/client_wrapper.rb', line 176

def keys
  @keys
end

#logsPingram::LogsApi

Returns:



182
183
184
# File 'lib/pingram/client_wrapper.rb', line 182

def logs
  @logs
end

#membersPingram::MembersApi

Returns:



188
189
190
# File 'lib/pingram/client_wrapper.rb', line 188

def members
  @members
end

#numbersPingram::NumbersApi

Returns:



194
195
196
# File 'lib/pingram/client_wrapper.rb', line 194

def numbers
  @numbers
end

#organizationPingram::OrganizationApi



200
201
202
# File 'lib/pingram/client_wrapper.rb', line 200

def organization
  @organization
end

#profilePingram::ProfileApi

Returns:



206
207
208
# File 'lib/pingram/client_wrapper.rb', line 206

def profile
  @profile
end

#push_settingsPingram::PushSettingsApi



212
213
214
# File 'lib/pingram/client_wrapper.rb', line 212

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)



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

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

#senderPingram::SenderApi

Returns:



218
219
220
# File 'lib/pingram/client_wrapper.rb', line 218

def sender
  @sender
end

#templatesPingram::TemplatesApi



224
225
226
# File 'lib/pingram/client_wrapper.rb', line 224

def templates
  @templates
end

#typesPingram::TypesApi

Returns:



230
231
232
# File 'lib/pingram/client_wrapper.rb', line 230

def types
  @types
end

#userPingram::UserApi

Returns:



236
237
238
# File 'lib/pingram/client_wrapper.rb', line 236

def user
  @user
end

#usersPingram::UsersApi

Returns:



242
243
244
# File 'lib/pingram/client_wrapper.rb', line 242

def users
  @users
end

#webhooksPingram::WebhooksApi



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

def webhooks
  @webhooks
end