Class: Lago::Api::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/lago/api/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key: nil, api_url: nil, use_ingest_service: false, ingest_api_url: nil) ⇒ Client

Returns a new instance of Client.



42
43
44
45
46
47
# File 'lib/lago/api/client.rb', line 42

def initialize(api_key: nil, api_url: nil, use_ingest_service: false, ingest_api_url: nil)
  @api_key = api_key
  @api_url = api_url
  @use_ingest_service = use_ingest_service
  @ingest_api_url = ingest_api_url
end

Instance Attribute Details

#api_key ⇒ Object (readonly)

Returns the value of attribute api_key.



40
41
42
# File 'lib/lago/api/client.rb', line 40

def api_key
  @api_key
end

#api_url ⇒ Object (readonly)

Returns the value of attribute api_url.



40
41
42
# File 'lib/lago/api/client.rb', line 40

def api_url
  @api_url
end

#ingest_api_url ⇒ Object (readonly)

Returns the value of attribute ingest_api_url.



40
41
42
# File 'lib/lago/api/client.rb', line 40

def ingest_api_url
  @ingest_api_url
end

#use_ingest_service ⇒ Object (readonly)

Returns the value of attribute use_ingest_service.



40
41
42
# File 'lib/lago/api/client.rb', line 40

def use_ingest_service
  @use_ingest_service
end

Instance Method Details

#activity_logs ⇒ Object

Resources



63
64
65
# File 'lib/lago/api/client.rb', line 63

def activity_logs
  Resources::ActivityLog.new(self)
end

#add_ons ⇒ Object



67
68
69
# File 'lib/lago/api/client.rb', line 67

def add_ons
  Resources::AddOn.new(self)
end

#api_logs ⇒ Object



71
72
73
# File 'lib/lago/api/client.rb', line 71

def api_logs
  Resources::ApiLog.new(self)
end

#applied_coupons ⇒ Object



75
76
77
# File 'lib/lago/api/client.rb', line 75

def applied_coupons
  Resources::AppliedCoupon.new(self)
end

#base_api_url ⇒ Object



49
50
51
52
53
# File 'lib/lago/api/client.rb', line 49

def base_api_url
  base_url = api_url.nil? ? Lago::Api::BASE_URL : api_url

  URI.join(base_url, Lago::Api::API_PATH)
end

#base_ingest_api_url ⇒ Object



55
56
57
58
59
60
# File 'lib/lago/api/client.rb', line 55

def base_ingest_api_url
  return base_api_url unless use_ingest_service

  ingest_url = ingest_api_url.nil? ? Lago::Api::BASE_INGEST_URL : ingest_api_url
  URI.join(ingest_url, Lago::Api::API_PATH)
end

#billable_metrics ⇒ Object



79
80
81
# File 'lib/lago/api/client.rb', line 79

def billable_metrics
  Resources::BillableMetric.new(self)
end

#billing_entities ⇒ Object



83
84
85
# File 'lib/lago/api/client.rb', line 83

def billing_entities
  Resources::BillingEntity.new(self)
end

#coupons ⇒ Object



87
88
89
# File 'lib/lago/api/client.rb', line 87

def coupons
  Resources::Coupon.new(self)
end

#credit_notes ⇒ Object



91
92
93
# File 'lib/lago/api/client.rb', line 91

def credit_notes
  Resources::CreditNote.new(self)
end

#customers ⇒ Object



95
96
97
# File 'lib/lago/api/client.rb', line 95

def customers
  Resources::Customer.new(self)
end

#events ⇒ Object



99
100
101
# File 'lib/lago/api/client.rb', line 99

def events
  Resources::Event.new(self)
end

#fees ⇒ Object



103
104
105
# File 'lib/lago/api/client.rb', line 103

def fees
  Resources::Fee.new(self)
end

#gross_revenues ⇒ Object



107
108
109
# File 'lib/lago/api/client.rb', line 107

def gross_revenues
  Resources::GrossRevenue.new(self)
end

#invoice_collections ⇒ Object



111
112
113
# File 'lib/lago/api/client.rb', line 111

def invoice_collections
  Resources::InvoiceCollection.new(self)
end

#invoiced_usages ⇒ Object



115
116
117
# File 'lib/lago/api/client.rb', line 115

def invoiced_usages
  Resources::InvoicedUsage.new(self)
end

#invoices ⇒ Object



119
120
121
# File 'lib/lago/api/client.rb', line 119

def invoices
  Resources::Invoice.new(self)
end

#mrrs ⇒ Object



123
124
125
# File 'lib/lago/api/client.rb', line 123

def mrrs
  Resources::Mrr.new(self)
end

#organizations ⇒ Object



127
128
129
# File 'lib/lago/api/client.rb', line 127

def organizations
  Resources::Organization.new(self)
end

#overdue_balances ⇒ Object



131
132
133
# File 'lib/lago/api/client.rb', line 131

def overdue_balances
  Resources::OverdueBalance.new(self)
end

#payment_receipts ⇒ Object



135
136
137
# File 'lib/lago/api/client.rb', line 135

def payment_receipts
  Resources::PaymentReceipt.new(self)
end

#payment_requests ⇒ Object



139
140
141
# File 'lib/lago/api/client.rb', line 139

def payment_requests
  Resources::PaymentRequest.new(self)
end

#payments ⇒ Object



143
144
145
# File 'lib/lago/api/client.rb', line 143

def payments
  Resources::Payment.new(self)
end

#plans ⇒ Object



147
148
149
# File 'lib/lago/api/client.rb', line 147

def plans
  Resources::Plan.new(self)
end

#subscriptions ⇒ Object



151
152
153
# File 'lib/lago/api/client.rb', line 151

def subscriptions
  Resources::Subscription.new(self)
end

#taxes ⇒ Object



155
156
157
# File 'lib/lago/api/client.rb', line 155

def taxes
  Resources::Tax.new(self)
end

#wallet_transactions ⇒ Object



159
160
161
# File 'lib/lago/api/client.rb', line 159

def wallet_transactions
  Resources::WalletTransaction.new(self)
end

#wallets ⇒ Object



163
164
165
# File 'lib/lago/api/client.rb', line 163

def wallets
  Resources::Wallet.new(self)
end

#webhook_endpoints ⇒ Object



167
168
169
# File 'lib/lago/api/client.rb', line 167

def webhook_endpoints
  Resources::WebhookEndpoint.new(self)
end

#webhooks ⇒ Object



171
172
173
# File 'lib/lago/api/client.rb', line 171

def webhooks
  Resources::Webhook.new(self)
end