Class: SmplkitGeneratedClient::App::DiscountTier
- Inherits:
-
ApiModelBase
- Object
- ApiModelBase
- SmplkitGeneratedClient::App::DiscountTier
- Defined in:
- lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb
Overview
A single tier of the multi-product volume discount schedule.
Instance Attribute Summary collapse
-
#percent_off ⇒ Object
Discount percentage applied to every paid subscription item when the customer holds at least “products_count“ paid products.
-
#products_count ⇒ Object
Minimum number of paid product subscriptions a customer must hold for this tier’s discount to apply.
Class Method Summary collapse
-
.acceptable_attribute_map ⇒ Object
Returns attribute mapping this model knows about.
-
.acceptable_attributes ⇒ Object
Returns all the JSON keys this model knows about.
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.build_from_hash(attributes) ⇒ Object
Builds the object from hash.
-
.openapi_nullable ⇒ Object
List of attributes with nullable: true.
-
.openapi_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(o) ⇒ Object
Checks equality by comparing each attribute.
- #eql?(o) ⇒ Boolean
-
#hash ⇒ Integer
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ DiscountTier
constructor
Initializes the object.
-
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#valid? ⇒ Boolean
Check to see if the all the properties in the model are valid.
Methods inherited from ApiModelBase
_deserialize, #_to_hash, #to_body, #to_s
Constructor Details
#initialize(attributes = {}) ⇒ DiscountTier
Initializes the object
59 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 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 59 def initialize(attributes = {}) if (!attributes.is_a?(Hash)) fail ArgumentError, "The input argument (attributes) must be a hash in `SmplkitGeneratedClient::App::DiscountTier` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key acceptable_attribute_map = self.class.acceptable_attribute_map attributes = attributes.each_with_object({}) { |(k, v), h| if (!acceptable_attribute_map.key?(k.to_sym)) fail ArgumentError, "`#{k}` is not a valid attribute in `SmplkitGeneratedClient::App::DiscountTier`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect end h[k.to_sym] = v } if attributes.key?(:'products_count') self.products_count = attributes[:'products_count'] else self.products_count = nil end if attributes.key?(:'percent_off') self.percent_off = attributes[:'percent_off'] else self.percent_off = nil end end |
Instance Attribute Details
#percent_off ⇒ Object
Discount percentage applied to every paid subscription item when the customer holds at least “products_count“ paid products. 0 means no discount at this tier.
23 24 25 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 23 def percent_off @percent_off end |
#products_count ⇒ Object
Minimum number of paid product subscriptions a customer must hold for this tier’s discount to apply. Counts above the highest defined tier are clamped to that tier.
20 21 22 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 20 def products_count @products_count end |
Class Method Details
.acceptable_attribute_map ⇒ Object
Returns attribute mapping this model knows about
34 35 36 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 34 def self.acceptable_attribute_map attribute_map end |
.acceptable_attributes ⇒ Object
Returns all the JSON keys this model knows about
39 40 41 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 39 def self.acceptable_attributes acceptable_attribute_map.values end |
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
26 27 28 29 30 31 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 26 def self.attribute_map { :'products_count' => :'products_count', :'percent_off' => :'percent_off' } end |
.build_from_hash(attributes) ⇒ Object
Builds the object from hash
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 155 def self.build_from_hash(attributes) return nil unless attributes.is_a?(Hash) attributes = attributes.transform_keys(&:to_sym) transformed_hash = {} openapi_types.each_pair do |key, type| if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil? transformed_hash["#{key}"] = nil elsif type =~ /\AArray<(.*)>/i # check to ensure the input is an array given that the attribute # is documented as an array but the input is not if attributes[attribute_map[key]].is_a?(Array) transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) } end elsif !attributes[attribute_map[key]].nil? transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]]) end end new(transformed_hash) end |
.openapi_nullable ⇒ Object
List of attributes with nullable: true
52 53 54 55 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 52 def self.openapi_nullable Set.new([ ]) end |
.openapi_types ⇒ Object
Attribute type mapping.
44 45 46 47 48 49 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 44 def self.openapi_types { :'products_count' => :'Integer', :'percent_off' => :'Integer' } end |
Instance Method Details
#==(o) ⇒ Object
Checks equality by comparing each attribute.
133 134 135 136 137 138 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 133 def ==(o) return true if self.equal?(o) self.class == o.class && products_count == o.products_count && percent_off == o.percent_off end |
#eql?(o) ⇒ Boolean
142 143 144 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 142 def eql?(o) self == o end |
#hash ⇒ Integer
Calculates hash code according to all attributes.
148 149 150 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 148 def hash [products_count, percent_off].hash end |
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons. Usually used together with valid?
88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 88 def list_invalid_properties warn '[DEPRECATED] the `list_invalid_properties` method is obsolete' invalid_properties = Array.new if @products_count.nil? invalid_properties.push('invalid value for "products_count", products_count cannot be nil.') end if @percent_off.nil? invalid_properties.push('invalid value for "percent_off", percent_off cannot be nil.') end invalid_properties end |
#to_hash ⇒ Hash
Returns the object in the form of hash
177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 177 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = self.send(attr) if value.nil? is_nullable = self.class.openapi_nullable.include?(attr) next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) end hash[param] = _to_hash(value) end hash end |
#valid? ⇒ Boolean
Check to see if the all the properties in the model are valid
104 105 106 107 108 109 |
# File 'lib/smplkit/_generated/app/lib/smplkit_app_client/models/discount_tier.rb', line 104 def valid? warn '[DEPRECATED] the `valid?` method is obsolete' return false if @products_count.nil? return false if @percent_off.nil? true end |