class Line::Bot::V2::MessagingApi::Membership
Attributes
@!attribute [rw] benefits
@return [Array[String]] List of membership plan perks.
@!attribute [rw] currency
@return [String] ('JPY'|'TWD'|'THB') The currency of membership.price.
@!attribute [rw] description
@return [String] Membership plan description.
@!attribute [rw] is_in_app_purchase
@return [Boolean] Payment method for users who subscribe to a membership plan.
@!attribute [rw] is_published
@return [Boolean] Membership plan status.
@!attribute [rw] member_count
@return [Integer] Number of members subscribed to the membership plan.
@!attribute [rw] member_limit
@return [Integer] The upper limit of members who can subscribe. If no upper limit is set, it will be null.
@!attribute [rw] membership_id
@return [Integer] Membership plan ID.
@!attribute [rw] price
@return [Float] Monthly fee for membership plan. (e.g. 1500.00)
@!attribute [rw] title
@return [String] Membership plan name.
Public Class Methods
Source
# File lib/line/bot/v2/messaging_api/model/membership.rb, line 97 def self.create(args) # steep:ignore symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args) return new(**symbolized_args) # steep:ignore end
Create an instance of the class from a hash @param args [Hash] Hash containing all the required attributes @return [Line::Bot::V2::MessagingApi::Membership] Instance of the class
Source
# File lib/line/bot/v2/messaging_api/model/membership.rb, line 56 def initialize( membership_id:, title:, description:, benefits:, price:, currency:, member_count:, member_limit:, is_in_app_purchase:, is_published:, **dynamic_attributes ) @membership_id = membership_id @title = title @description = description @benefits = benefits @price = price @currency = currency @member_count = member_count @member_limit = member_limit @is_in_app_purchase = is_in_app_purchase @is_published = is_published dynamic_attributes.each do |key, value| self.class.attr_accessor key if value.is_a?(Hash) struct_klass = Struct.new(*value.keys.map(&:to_sym)) struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v } instance_variable_set("@#{key}", struct_klass.new(*struct_values)) else instance_variable_set("@#{key}", value) end end end
@param membership_id
[Integer] Membership
plan ID. @param title [String] Membership
plan name. @param description [String] Membership
plan description. @param benefits [Array] List of membership plan perks. @param price [Float] Monthly fee for membership plan. (e.g. 1500.00) @param currency [String] (‘JPY’|‘TWD’|‘THB’) The currency of membership.price. @param member_count
[Integer] Number of members subscribed to the membership plan. @param member_limit
[Integer] The upper limit of members who can subscribe. If no upper limit is set, it will be null. @param is_in_app_purchase
[Boolean] Payment method for users who subscribe to a membership plan. @param is_published
[Boolean] Membership
plan status.
Public Instance Methods
Source
# File lib/line/bot/v2/messaging_api/model/membership.rb, line 104 def ==(other) return false unless self.class == other.class instance_variables.all? do |var| instance_variable_get(var) == other.instance_variable_get(var) end end
@param other [Object] Object to compare @return [Boolean] true if the objects are equal, false otherwise
Source
# File lib/line/bot/v2/messaging_api/model/membership.rb, line 113 def hash [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash end
@return [Integer] Hash code of the object