Class: Stripe::Billing::Alert

Inherits:
APIResource show all
Extended by:
APIOperations::Create, APIOperations::List, APIOperations::NestedResource
Defined in:
lib/stripe/resources/billing/alert.rb

Overview

A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests.

Defined Under Namespace

Classes: CreditBalanceThreshold, SpendThreshold, UsageThreshold

Constant Summary collapse

OBJECT_NAME =
"billing.alert"

Constants inherited from StripeObject

StripeObject::RESERVED_FIELD_NAMES

Instance Attribute Summary collapse

Attributes inherited from APIResource

#save_with_parent

Attributes inherited from StripeObject

#last_response

Class Method Summary collapse

Instance Method Summary collapse

Methods included from APIOperations::Create

create

Methods included from APIOperations::List

list

Methods included from APIOperations::NestedResource

nested_resource_class_methods

Methods inherited from APIResource

class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource

Methods included from APIOperations::Request

included

Methods inherited from StripeObject

#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values

Constructor Details

This class inherits a constructor from Stripe::StripeObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject

Instance Attribute Details

#alert_typeObject (readonly)

Defines the type of the alert.



310
311
312
# File 'lib/stripe/resources/billing/alert.rb', line 310

def alert_type
  @alert_type
end

#credit_balance_thresholdObject (readonly)

Encapsulates configuration of the alert to monitor billing credit balance.



312
313
314
# File 'lib/stripe/resources/billing/alert.rb', line 312

def credit_balance_threshold
  @credit_balance_threshold
end

#idObject (readonly)

Unique identifier for the object.



314
315
316
# File 'lib/stripe/resources/billing/alert.rb', line 314

def id
  @id
end

#livemodeObject (readonly)

If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.



316
317
318
# File 'lib/stripe/resources/billing/alert.rb', line 316

def livemode
  @livemode
end

#objectObject (readonly)

String representing the object's type. Objects of the same type share the same value.



318
319
320
# File 'lib/stripe/resources/billing/alert.rb', line 318

def object
  @object
end

#spend_thresholdObject (readonly)

Encapsulates the alert's configuration to monitor spend on pricing plan subscriptions.



320
321
322
# File 'lib/stripe/resources/billing/alert.rb', line 320

def spend_threshold
  @spend_threshold
end

#statusObject (readonly)

Status of the alert. This can be active, inactive or archived.



322
323
324
# File 'lib/stripe/resources/billing/alert.rb', line 322

def status
  @status
end

#titleObject (readonly)

Title of the alert.



324
325
326
# File 'lib/stripe/resources/billing/alert.rb', line 324

def title
  @title
end

#usage_thresholdObject (readonly)

Encapsulates configuration of the alert to monitor usage on a specific Billing Meter.



326
327
328
# File 'lib/stripe/resources/billing/alert.rb', line 326

def usage_threshold
  @usage_threshold
end

Class Method Details

.activate(id, params = {}, opts = {}) ⇒ Object

Reactivates this alert, allowing it to trigger again.



339
340
341
342
343
344
345
346
# File 'lib/stripe/resources/billing/alert.rb', line 339

def self.activate(id, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/billing/alerts/%<id>s/activate", { id: CGI.escape(id) }),
    params: params,
    opts: opts
  )
end

.archive(id, params = {}, opts = {}) ⇒ Object

Archives this alert, removing it from the list view and APIs. This is non-reversible.



359
360
361
362
363
364
365
366
# File 'lib/stripe/resources/billing/alert.rb', line 359

def self.archive(id, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/billing/alerts/%<id>s/archive", { id: CGI.escape(id) }),
    params: params,
    opts: opts
  )
end

.create(params = {}, opts = {}) ⇒ Object

Creates a billing alert



369
370
371
# File 'lib/stripe/resources/billing/alert.rb', line 369

def self.create(params = {}, opts = {})
  request_stripe_object(method: :post, path: "/v1/billing/alerts", params: params, opts: opts)
end

.deactivate(id, params = {}, opts = {}) ⇒ Object

Deactivates this alert, preventing it from triggering.



384
385
386
387
388
389
390
391
# File 'lib/stripe/resources/billing/alert.rb', line 384

def self.deactivate(id, params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/billing/alerts/%<id>s/deactivate", { id: CGI.escape(id) }),
    params: params,
    opts: opts
  )
end

.field_encodingsObject



410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
# File 'lib/stripe/resources/billing/alert.rb', line 410

def self.field_encodings
  @field_encodings = {
    credit_balance_threshold: {
      kind: :nullable,
      inner: {
        kind: :object,
        fields: {
          lte: {
            kind: :object,
            fields: {
              custom_pricing_unit: {
                kind: :nullable,
                inner: { kind: :object, fields: { value: :decimal_string } },
              },
            },
          },
        },
      },
    },
    spend_threshold: {
      kind: :nullable,
      inner: {
        kind: :object,
        fields: {
          gte: {
            kind: :object,
            fields: {
              custom_pricing_unit: {
                kind: :nullable,
                inner: { kind: :object, fields: { value: :decimal_string } },
              },
            },
          },
        },
      },
    },
  }
end

.field_remappingsObject



406
407
408
# File 'lib/stripe/resources/billing/alert.rb', line 406

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



398
399
400
401
402
403
404
# File 'lib/stripe/resources/billing/alert.rb', line 398

def self.inner_class_types
  @inner_class_types = {
    credit_balance_threshold: CreditBalanceThreshold,
    spend_threshold: SpendThreshold,
    usage_threshold: UsageThreshold,
  }
end

.list(params = {}, opts = {}) ⇒ Object

Lists billing active and inactive alerts



394
395
396
# File 'lib/stripe/resources/billing/alert.rb', line 394

def self.list(params = {}, opts = {})
  request_stripe_object(method: :get, path: "/v1/billing/alerts", params: params, opts: opts)
end

.object_nameObject



13
14
15
# File 'lib/stripe/resources/billing/alert.rb', line 13

def self.object_name
  "billing.alert"
end

Instance Method Details

#activate(params = {}, opts = {}) ⇒ Object

Reactivates this alert, allowing it to trigger again.



329
330
331
332
333
334
335
336
# File 'lib/stripe/resources/billing/alert.rb', line 329

def activate(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/billing/alerts/%<id>s/activate", { id: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#archive(params = {}, opts = {}) ⇒ Object

Archives this alert, removing it from the list view and APIs. This is non-reversible.



349
350
351
352
353
354
355
356
# File 'lib/stripe/resources/billing/alert.rb', line 349

def archive(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/billing/alerts/%<id>s/archive", { id: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end

#deactivate(params = {}, opts = {}) ⇒ Object

Deactivates this alert, preventing it from triggering.



374
375
376
377
378
379
380
381
# File 'lib/stripe/resources/billing/alert.rb', line 374

def deactivate(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: format("/v1/billing/alerts/%<id>s/deactivate", { id: CGI.escape(self["id"]) }),
    params: params,
    opts: opts
  )
end