Class: Courier::Models::NotificationGetContent::Block

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/courier/models/notification_get_content.rb

Defined Under Namespace

Modules: Content, Locale, Type

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(children: nil, parent: nil) ⇒ Object

Parameters:

  • children (String, nil) (defaults to: nil)
  • parent (String, nil) (defaults to: nil)


30
31
32
33
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/courier/models/notification_get_content.rb', line 30

class Block < Courier::Internal::Type::BaseModel
  # @!attribute id
  #
  #   @return [String]
  required :id, String

  # @!attribute type
  #
  #   @return [Symbol, Courier::Models::NotificationGetContent::Block::Type]
  required :type, enum: -> { Courier::NotificationGetContent::Block::Type }

  # @!attribute alias_
  #
  #   @return [String, nil]
  optional :alias_, String, api_name: :alias, nil?: true

  # @!attribute checksum
  #
  #   @return [String, nil]
  optional :checksum, String, nil?: true

  # @!attribute content
  #
  #   @return [String, Courier::Models::NotificationGetContent::Block::Content::NotificationContentHierarchy, nil]
  optional :content, union: -> { Courier::NotificationGetContent::Block::Content }, nil?: true

  # @!attribute context
  #
  #   @return [String, nil]
  optional :context, String, nil?: true

  # @!attribute locales
  #
  #   @return [Hash{Symbol=>String, Courier::Models::NotificationGetContent::Block::Locale::NotificationContentHierarchy}, nil]
  optional :locales,
           -> {
             Courier::Internal::Type::HashOf[union: Courier::NotificationGetContent::Block::Locale]
           },
           nil?: true

  # @!method initialize(id:, type:, alias_: nil, checksum: nil, content: nil, context: nil, locales: nil)
  #   @param id [String]
  #   @param type [Symbol, Courier::Models::NotificationGetContent::Block::Type]
  #   @param alias_ [String, nil]
  #   @param checksum [String, nil]
  #   @param content [String, Courier::Models::NotificationGetContent::Block::Content::NotificationContentHierarchy, nil]
  #   @param context [String, nil]
  #   @param locales [Hash{Symbol=>String, Courier::Models::NotificationGetContent::Block::Locale::NotificationContentHierarchy}, nil]

  # @see Courier::Models::NotificationGetContent::Block#type
  module Type
    extend Courier::Internal::Type::Enum

    ACTION = :action
    DIVIDER = :divider
    IMAGE = :image
    JSONNET = :jsonnet
    LIST = :list
    MARKDOWN = :markdown
    QUOTE = :quote
    TEMPLATE = :template
    TEXT = :text

    # @!method self.values
    #   @return [Array<Symbol>]
  end

  # @see Courier::Models::NotificationGetContent::Block#content
  module Content
    extend Courier::Internal::Type::Union

    variant String

    variant -> { Courier::NotificationGetContent::Block::Content::NotificationContentHierarchy }

    class NotificationContentHierarchy < Courier::Internal::Type::BaseModel
      # @!attribute children
      #
      #   @return [String, nil]
      optional :children, String, nil?: true

      # @!attribute parent
      #
      #   @return [String, nil]
      optional :parent, String, nil?: true

      # @!method initialize(children: nil, parent: nil)
      #   @param children [String, nil]
      #   @param parent [String, nil]
    end

    # @!method self.variants
    #   @return [Array(String, Courier::Models::NotificationGetContent::Block::Content::NotificationContentHierarchy)]
  end

  module Locale
    extend Courier::Internal::Type::Union

    variant String

    variant -> { Courier::NotificationGetContent::Block::Locale::NotificationContentHierarchy }

    class NotificationContentHierarchy < Courier::Internal::Type::BaseModel
      # @!attribute children
      #
      #   @return [String, nil]
      optional :children, String, nil?: true

      # @!attribute parent
      #
      #   @return [String, nil]
      optional :parent, String, nil?: true

      # @!method initialize(children: nil, parent: nil)
      #   @param children [String, nil]
      #   @param parent [String, nil]
    end

    # @!method self.variants
    #   @return [Array(String, Courier::Models::NotificationGetContent::Block::Locale::NotificationContentHierarchy)]
  end
end

Instance Attribute Details

#alias_String?

Returns:

  • (String, nil)


44
# File 'lib/courier/models/notification_get_content.rb', line 44

optional :alias_, String, api_name: :alias, nil?: true

#checksumString?

Returns:

  • (String, nil)


49
# File 'lib/courier/models/notification_get_content.rb', line 49

optional :checksum, String, nil?: true

#contentString, ...



54
# File 'lib/courier/models/notification_get_content.rb', line 54

optional :content, union: -> { Courier::NotificationGetContent::Block::Content }, nil?: true

#contextString?

Returns:

  • (String, nil)


59
# File 'lib/courier/models/notification_get_content.rb', line 59

optional :context, String, nil?: true

#idString

Returns:

  • (String)


34
# File 'lib/courier/models/notification_get_content.rb', line 34

required :id, String

#localesHash{Symbol=>String, Courier::Models::NotificationGetContent::Block::Locale::NotificationContentHierarchy}?



64
65
66
67
68
# File 'lib/courier/models/notification_get_content.rb', line 64

optional :locales,
-> {
  Courier::Internal::Type::HashOf[union: Courier::NotificationGetContent::Block::Locale]
},
nil?: true

#typeSymbol, Courier::Models::NotificationGetContent::Block::Type



39
# File 'lib/courier/models/notification_get_content.rb', line 39

required :type, enum: -> { Courier::NotificationGetContent::Block::Type }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/courier/models/notification_get_content.rb', line 93

.variantsArray(String, Courier::Models::NotificationGetContent::Block::Content::NotificationContentHierarchy)



# File 'lib/courier/models/notification_get_content.rb', line 121