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.



12
13
14
15
16
17
# File 'lib/lago/api/client.rb', line 12

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_keyObject (readonly)

Returns the value of attribute api_key.



10
11
12
# File 'lib/lago/api/client.rb', line 10

def api_key
  @api_key
end

#api_urlObject (readonly)

Returns the value of attribute api_url.



10
11
12
# File 'lib/lago/api/client.rb', line 10

def api_url
  @api_url
end

#ingest_api_urlObject (readonly)

Returns the value of attribute ingest_api_url.



10
11
12
# File 'lib/lago/api/client.rb', line 10

def ingest_api_url
  @ingest_api_url
end

#use_ingest_serviceObject (readonly)

Returns the value of attribute use_ingest_service.



10
11
12
# File 'lib/lago/api/client.rb', line 10

def use_ingest_service
  @use_ingest_service
end

Instance Method Details

#add_onsObject



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

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

#applied_couponsObject



52
53
54
# File 'lib/lago/api/client.rb', line 52

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

#base_api_urlObject



19
20
21
22
23
# File 'lib/lago/api/client.rb', line 19

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_urlObject



25
26
27
28
29
30
# File 'lib/lago/api/client.rb', line 25

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_metricsObject



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

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

#billing_entitiesObject



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

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

#couponsObject



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

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

#credit_notesObject



60
61
62
# File 'lib/lago/api/client.rb', line 60

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

#customersObject



32
33
34
# File 'lib/lago/api/client.rb', line 32

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

#eventsObject



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

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

#feesObject



48
49
50
# File 'lib/lago/api/client.rb', line 48

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

#invoicesObject



36
37
38
# File 'lib/lago/api/client.rb', line 36

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

#organizationsObject



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

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

#plansObject



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

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

#subscriptionsObject



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

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

#taxesObject



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

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

#wallet_transactionsObject



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

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

#walletsObject



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

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

#webhook_endpointsObject



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

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

#webhooksObject



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

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