Class: Stripe::Entitlements::Feature

Inherits:
APIResource show all
Extended by:
APIOperations::Create, APIOperations::List
Includes:
APIOperations::Save
Defined in:
lib/stripe/resources/entitlements/feature.rb

Overview

A feature represents a monetizable ability or functionality in your system. Features can be assigned to products, and when those products are purchased, Stripe will create an entitlement to the feature for the purchasing customer.

Defined Under Namespace

Classes: CreateParams, ListParams, UpdateParams

Constant Summary collapse

OBJECT_NAME =
"entitlements.feature"

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

Methods included from APIOperations::Create

create

Methods included from APIOperations::List

list

Methods included from APIOperations::Save

included, #save

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

#==, #[], #[]=, 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

#activeObject (readonly)

Inactive features cannot be attached to new products and will not be returned from the features list endpoint.



85
86
87
# File 'lib/stripe/resources/entitlements/feature.rb', line 85

def active
  @active
end

#idObject (readonly)

Unique identifier for the object.



87
88
89
# File 'lib/stripe/resources/entitlements/feature.rb', line 87

def id
  @id
end

#livemodeObject (readonly)

Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.



89
90
91
# File 'lib/stripe/resources/entitlements/feature.rb', line 89

def livemode
  @livemode
end

#lookup_keyObject (readonly)

A unique key you provide as your own system identifier. This may be up to 80 characters.



91
92
93
# File 'lib/stripe/resources/entitlements/feature.rb', line 91

def lookup_key
  @lookup_key
end

#metadataObject (readonly)

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.



93
94
95
# File 'lib/stripe/resources/entitlements/feature.rb', line 93

def 
  @metadata
end

#nameObject (readonly)

The feature’s name, for your own purpose, not meant to be displayable to the customer.



95
96
97
# File 'lib/stripe/resources/entitlements/feature.rb', line 95

def name
  @name
end

#objectObject (readonly)

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



97
98
99
# File 'lib/stripe/resources/entitlements/feature.rb', line 97

def object
  @object
end

Class Method Details

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

Creates a feature



100
101
102
103
104
105
106
107
# File 'lib/stripe/resources/entitlements/feature.rb', line 100

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

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

Retrieve a list of features



110
111
112
113
114
115
116
117
# File 'lib/stripe/resources/entitlements/feature.rb', line 110

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

.object_nameObject



14
15
16
# File 'lib/stripe/resources/entitlements/feature.rb', line 14

def self.object_name
  "entitlements.feature"
end

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

Update a feature’s metadata or permanently deactivate it.



120
121
122
123
124
125
126
127
# File 'lib/stripe/resources/entitlements/feature.rb', line 120

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