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)



60
61
62
63
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
# File 'lib/pingram/client_wrapper.rb', line 60

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)

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



53
54
55
# File 'lib/pingram/client_wrapper.rb', line 53

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)



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

def base_url
  @base_url
end

Instance Method Details

#accountPingram::AccountApi

Returns:



110
111
112
# File 'lib/pingram/client_wrapper.rb', line 110

def 
  @account
end

#addressesPingram::AddressesApi



116
117
118
# File 'lib/pingram/client_wrapper.rb', line 116

def addresses
  @addresses
end

#componentsPingram::ComponentsApi



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

def components
  @components
end

#default_apiPingram::DefaultApi

Returns:



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

def default_api
  @default_api
end

#domainsPingram::DomainsApi

Returns:



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

def domains
  @domains
end

#editorPingram::EditorApi

Returns:



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

def editor
  @editor
end

#environmentsPingram::EnvironmentsApi



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

def environments
  @environments
end

#healthPingram::HealthApi

Returns:



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

def health
  @health
end

#insightsPingram::InsightsApi



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

def insights
  @insights
end

#keysPingram::KeysApi

Returns:



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

def keys
  @keys
end

#logsPingram::LogsApi

Returns:



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

def logs
  @logs
end

#membersPingram::MembersApi

Returns:



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

def members
  @members
end

#organizationPingram::OrganizationApi



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

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



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

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

#senderPingram::SenderApi

Returns:



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

def sender
  @sender
end

#templatesPingram::TemplatesApi



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

def templates
  @templates
end

#typesPingram::TypesApi

Returns:



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

def types
  @types
end

#userPingram::UserApi

Returns:



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

def user
  @user
end

#usersPingram::UsersApi

Returns:



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

def users
  @users
end

#webhooksPingram::WebhooksApi



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

def webhooks
  @webhooks
end