Class: Line::Bot::V2::ManageAudience::CreateAudienceGroupRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb

Overview

Create audience for uploading user IDs (by JSON)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description: nil, is_ifa_audience: nil, upload_description: nil, audiences: nil, **dynamic_attributes) ⇒ CreateAudienceGroupRequest

Returns a new instance of CreateAudienceGroupRequest.

Parameters:

  • description (String, nil) (defaults to: nil)

    The audience’s name. This is case-insensitive, meaning AUDIENCE and audience are considered identical. Max character limit: 120

  • is_ifa_audience (Boolean, nil) (defaults to: nil)

    To specify recipients by IFAs: set true. To specify recipients by user IDs: set false or omit isIfaAudience property.

  • upload_description (String, nil) (defaults to: nil)

    The description to register for the job (in jobs[].description).

  • audiences (Array[Audience, Hash[Symbol, untyped]], nil) (defaults to: nil)

    An array of user IDs or IFAs. Max number: 10,000



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 34

def initialize(
  description: nil,
  is_ifa_audience: nil,
  upload_description: nil,
  audiences: nil,
  **dynamic_attributes
)
  
  @description = description
  @is_ifa_audience = is_ifa_audience
  @upload_description = upload_description
  @audiences = audiences&.map do |item|
    if item.is_a?(Hash)
      Line::Bot::V2::ManageAudience::Audience.create(**item) # steep:ignore InsufficientKeywordArguments
    else
      item
    end
  end

  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

Instance Attribute Details

#audiencesArray[Audience]?

Returns An array of user IDs or IFAs. Max number: 10,000.

Returns:

  • (Array[Audience], nil)

    An array of user IDs or IFAs. Max number: 10,000



28
29
30
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 28

def audiences
  @audiences
end

#descriptionString?

Returns The audience’s name. This is case-insensitive, meaning AUDIENCE and audience are considered identical. Max character limit: 120.

Returns:

  • (String, nil)

    The audience’s name. This is case-insensitive, meaning AUDIENCE and audience are considered identical. Max character limit: 120



19
20
21
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 19

def description
  @description
end

#is_ifa_audienceBoolean?

Returns To specify recipients by IFAs: set true. To specify recipients by user IDs: set false or omit isIfaAudience property.

Returns:

  • (Boolean, nil)

    To specify recipients by IFAs: set true. To specify recipients by user IDs: set false or omit isIfaAudience property.



22
23
24
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 22

def is_ifa_audience
  @is_ifa_audience
end

#upload_descriptionString?

Returns The description to register for the job (in jobs[].description).

Returns:

  • (String, nil)

    The description to register for the job (in jobs[].description).



25
26
27
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 25

def upload_description
  @upload_description
end

Class Method Details

.create(args) ⇒ Line::Bot::V2::ManageAudience::CreateAudienceGroupRequest

Create an instance of the class from a hash

Parameters:

  • args (Hash)

    Hash containing all the required attributes

Returns:



69
70
71
72
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 69

def self.create(args) # steep:ignore
  symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args)
  return new(**symbolized_args) # steep:ignore
end

Instance Method Details

#==(other) ⇒ Boolean

Returns true if the objects are equal, false otherwise.

Parameters:

  • other (Object)

    Object to compare

Returns:

  • (Boolean)

    true if the objects are equal, false otherwise



76
77
78
79
80
81
82
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 76

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

#hashInteger

Returns Hash code of the object.

Returns:

  • (Integer)

    Hash code of the object



85
86
87
# File 'lib/line/bot/v2/manage_audience/model/create_audience_group_request.rb', line 85

def hash
  [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash
end