class Line::Bot::V2::MessagingApi::NarrowcastRequest
@see developers.line.biz/en/reference/messaging-api/#send-narrowcast-message
Attributes
@!attribute [rw] filter
@return [Filter,nil]
@!attribute [rw] limit
@return [Limit,nil]
@!attribute [rw] messages
@return [Array[Message]] List of Message objects.
@!attribute [rw] notification_disabled
@return [Boolean,nil] `true`: The user doesn’t receive a push notification when a message is sent. `false`: The user receives a push notification when the message is sent (unless they have disabled push notifications in LINE and/or their device). The default value is false.
@!attribute [rw] recipient
@return [Recipient,nil]
Public Class Methods
Source
# File lib/line/bot/v2/messaging_api/model/narrowcast_request.rb, line 74 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::NarrowcastRequest] Instance of the class
Source
# File lib/line/bot/v2/messaging_api/model/narrowcast_request.rb, line 37 def initialize( messages:, recipient: nil, filter: nil, limit: nil, notification_disabled: false, **dynamic_attributes ) @messages = messages.map do |item| if item.is_a?(Hash) Line::Bot::V2::MessagingApi::Message.create(**item) # steep:ignore InsufficientKeywordArguments else item end end @recipient = recipient.is_a?(Line::Bot::V2::MessagingApi::Recipient) || recipient.nil? ? recipient : Line::Bot::V2::MessagingApi::Recipient.create(**recipient) # steep:ignore @filter = filter.is_a?(Line::Bot::V2::MessagingApi::Filter) || filter.nil? ? filter : Line::Bot::V2::MessagingApi::Filter.create(**filter) # steep:ignore @limit = limit.is_a?(Line::Bot::V2::MessagingApi::Limit) || limit.nil? ? limit : Line::Bot::V2::MessagingApi::Limit.create(**limit) # steep:ignore @notification_disabled = notification_disabled 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 messages [Array[Message, Hash[Symbol, untyped]]] List of Message
objects. @param recipient [Recipient, Hash[Symbol, untyped], nil] @param filter [Filter, Hash[Symbol, untyped], nil] @param limit [Limit, Hash[Symbol, untyped], nil] @param notification_disabled
[Boolean,nil] ‘true`: The user doesn’t receive a push notification when a message is sent. `false`: The user receives a push notification when the message is sent (unless they have disabled push notifications in LINE and/or their device). The default value is false.
Public Instance Methods
Source
# File lib/line/bot/v2/messaging_api/model/narrowcast_request.rb, line 81 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/narrowcast_request.rb, line 90 def hash [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash end
@return [Integer] Hash code of the object