expo_notifier 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +3 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +172 -0
  6. data/Rakefile +17 -0
  7. data/lib/expo_notifier/mapper/base.rb +30 -0
  8. data/lib/expo_notifier/mapper/error.rb +24 -0
  9. data/lib/expo_notifier/mapper/push_message.rb +132 -0
  10. data/lib/expo_notifier/mapper/push_messages.rb +15 -0
  11. data/lib/expo_notifier/mapper/push_receipt.rb +23 -0
  12. data/lib/expo_notifier/mapper/push_receipt_error_details.rb +23 -0
  13. data/lib/expo_notifier/mapper/push_receipt_ids.rb +16 -0
  14. data/lib/expo_notifier/mapper/push_receipts.rb +38 -0
  15. data/lib/expo_notifier/mapper/push_ticket.rb +30 -0
  16. data/lib/expo_notifier/mapper/push_ticket_error_details.rb +19 -0
  17. data/lib/expo_notifier/mapper/push_tickets.rb +26 -0
  18. data/lib/expo_notifier/mapper/rich_content.rb +17 -0
  19. data/lib/expo_notifier/request/base.rb +162 -0
  20. data/lib/expo_notifier/request/get_push_notification_receipts.rb +18 -0
  21. data/lib/expo_notifier/request/send_push_notifications.rb +26 -0
  22. data/lib/expo_notifier/response.rb +93 -0
  23. data/lib/expo_notifier/sorbet_shim.rb +18 -0
  24. data/lib/expo_notifier/version.rb +6 -0
  25. data/lib/expo_notifier.rb +19 -0
  26. data/sorbet/config +6 -0
  27. data/sorbet/rbi/annotations/.gitattributes +1 -0
  28. data/sorbet/rbi/annotations/activesupport.rbi +495 -0
  29. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  30. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  31. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  32. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  33. data/sorbet/rbi/dsl/.gitattributes +1 -0
  34. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  35. data/sorbet/rbi/dsl/expo_notifier/mapper/base.rbi +12 -0
  36. data/sorbet/rbi/dsl/expo_notifier/mapper/error.rbi +42 -0
  37. data/sorbet/rbi/dsl/expo_notifier/mapper/push_message.rbi +263 -0
  38. data/sorbet/rbi/dsl/expo_notifier/mapper/push_messages.rbi +29 -0
  39. data/sorbet/rbi/dsl/expo_notifier/mapper/push_receipt.rbi +45 -0
  40. data/sorbet/rbi/dsl/expo_notifier/mapper/push_receipt_error_details.rbi +38 -0
  41. data/sorbet/rbi/dsl/expo_notifier/mapper/push_receipt_ids.rbi +20 -0
  42. data/sorbet/rbi/dsl/expo_notifier/mapper/push_receipts.rbi +25 -0
  43. data/sorbet/rbi/dsl/expo_notifier/mapper/push_ticket.rbi +59 -0
  44. data/sorbet/rbi/dsl/expo_notifier/mapper/push_ticket_error_details.rbi +32 -0
  45. data/sorbet/rbi/dsl/expo_notifier/mapper/push_tickets.rbi +54 -0
  46. data/sorbet/rbi/dsl/expo_notifier/mapper/rich_content.rbi +26 -0
  47. data/sorbet/rbi/dsl/time.rbi +13 -0
  48. data/sorbet/rbi/gems/.gitattributes +1 -0
  49. data/sorbet/rbi/gems/activesupport@8.1.1.rbi +22456 -0
  50. data/sorbet/rbi/gems/addressable@2.8.8.rbi +2005 -0
  51. data/sorbet/rbi/gems/ast@2.4.3.rbi +586 -0
  52. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  53. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +637 -0
  54. data/sorbet/rbi/gems/bigdecimal@4.0.1.rbi +409 -0
  55. data/sorbet/rbi/gems/booleans@0.1.3.rbi +31 -0
  56. data/sorbet/rbi/gems/concurrent-ruby@1.3.6.rbi +11729 -0
  57. data/sorbet/rbi/gems/connection_pool@3.0.2.rbi +9 -0
  58. data/sorbet/rbi/gems/crack@1.0.1.rbi +145 -0
  59. data/sorbet/rbi/gems/date@3.5.1.rbi +403 -0
  60. data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
  61. data/sorbet/rbi/gems/erb@6.0.1.rbi +815 -0
  62. data/sorbet/rbi/gems/erubi@1.13.1.rbi +157 -0
  63. data/sorbet/rbi/gems/faraday-net_http@3.4.2.rbi +72 -0
  64. data/sorbet/rbi/gems/faraday@2.14.0.rbi +3301 -0
  65. data/sorbet/rbi/gems/hashdiff@1.2.1.rbi +355 -0
  66. data/sorbet/rbi/gems/i18n@1.14.8.rbi +2383 -0
  67. data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
  68. data/sorbet/rbi/gems/json@2.18.0.rbi +2278 -0
  69. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +323 -0
  70. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  71. data/sorbet/rbi/gems/minitest@6.0.1.rbi +1524 -0
  72. data/sorbet/rbi/gems/net-http@0.9.1.rbi +4304 -0
  73. data/sorbet/rbi/gems/netrc@0.11.0.rbi +177 -0
  74. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  75. data/sorbet/rbi/gems/parser@3.3.10.0.rbi +5537 -0
  76. data/sorbet/rbi/gems/pp@0.6.3.rbi +390 -0
  77. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +477 -0
  78. data/sorbet/rbi/gems/prism@1.6.0.rbi +42126 -0
  79. data/sorbet/rbi/gems/psych@5.3.1.rbi +2556 -0
  80. data/sorbet/rbi/gems/public_suffix@7.0.2.rbi +957 -0
  81. data/sorbet/rbi/gems/racc@1.8.1.rbi +168 -0
  82. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +404 -0
  83. data/sorbet/rbi/gems/rake@13.3.1.rbi +3038 -0
  84. data/sorbet/rbi/gems/rbi@0.3.8.rbi +5238 -0
  85. data/sorbet/rbi/gems/rbs@4.0.0.dev.4.rbi +7805 -0
  86. data/sorbet/rbi/gems/regexp_parser@2.11.3.rbi +3849 -0
  87. data/sorbet/rbi/gems/reline@0.6.3.rbi +2995 -0
  88. data/sorbet/rbi/gems/require-hooks@0.2.2.rbi +110 -0
  89. data/sorbet/rbi/gems/rexml@3.4.4.rbi +5258 -0
  90. data/sorbet/rbi/gems/rubocop-espago@1.2.0.rbi +9 -0
  91. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  92. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  93. data/sorbet/rbi/gems/shale-builder@0.8.5.rbi +267 -0
  94. data/sorbet/rbi/gems/shale@1.2.2.rbi +2323 -0
  95. data/sorbet/rbi/gems/shoulda-context@2.0.0.rbi +563 -0
  96. data/sorbet/rbi/gems/spoom@1.7.11.rbi +5878 -0
  97. data/sorbet/rbi/gems/stringio@3.2.0.rbi +9 -0
  98. data/sorbet/rbi/gems/tapioca@0.17.4.rbi +3507 -0
  99. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  100. data/sorbet/rbi/gems/tsort@0.2.0.rbi +393 -0
  101. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5919 -0
  102. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +132 -0
  103. data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +254 -0
  104. data/sorbet/rbi/gems/uri@1.1.1.rbi +2407 -0
  105. data/sorbet/rbi/gems/vcr@6.4.0.rbi +3055 -0
  106. data/sorbet/rbi/gems/webmock@3.26.1.rbi +1816 -0
  107. data/sorbet/rbi/shims/gems/set.rbi +2 -0
  108. data/sorbet/rbi/shims/gems/shale.rbi +27 -0
  109. data/sorbet/rbi/shims/gems/shoulda-context.rbi +20 -0
  110. data/sorbet/tapioca/config.yml +21 -0
  111. data/sorbet/tapioca/extensions/load_gem.rb +1 -0
  112. data/sorbet/tapioca/require.rb +15 -0
  113. metadata +228 -0
@@ -0,0 +1,75 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `securerandom` gem.
5
+ # Please instead update this file by running `bin/tapioca gem securerandom`.
6
+
7
+
8
+ # == Secure random number generator interface.
9
+ #
10
+ # This library is an interface to secure random number generators which are
11
+ # suitable for generating session keys in HTTP cookies, etc.
12
+ #
13
+ # You can use this library in your application by requiring it:
14
+ #
15
+ # require 'securerandom'
16
+ #
17
+ # It supports the following secure random number generators:
18
+ #
19
+ # * openssl
20
+ # * /dev/urandom
21
+ # * Win32
22
+ #
23
+ # SecureRandom is extended by the Random::Formatter module which
24
+ # defines the following methods:
25
+ #
26
+ # * alphanumeric
27
+ # * base64
28
+ # * choose
29
+ # * gen_random
30
+ # * hex
31
+ # * rand
32
+ # * random_bytes
33
+ # * random_number
34
+ # * urlsafe_base64
35
+ # * uuid
36
+ #
37
+ # These methods are usable as class methods of SecureRandom such as
38
+ # +SecureRandom.hex+.
39
+ #
40
+ # If a secure random number generator is not available,
41
+ # +NotImplementedError+ is raised.
42
+ #
43
+ # source://securerandom//lib/securerandom.rb#41
44
+ module SecureRandom
45
+ extend ::Random::Formatter
46
+
47
+ class << self
48
+ # Returns a random binary string containing +size+ bytes.
49
+ #
50
+ # See Random.bytes
51
+ #
52
+ # source://securerandom//lib/securerandom.rb#50
53
+ def bytes(n); end
54
+
55
+ # source://securerandom//lib/securerandom.rb#84
56
+ def gen_random(n); end
57
+
58
+ private
59
+
60
+ # Implementation using OpenSSL
61
+ #
62
+ # source://securerandom//lib/securerandom.rb#65
63
+ def gen_random_openssl(n); end
64
+
65
+ # Implementation using system random device
66
+ #
67
+ # source://securerandom//lib/securerandom.rb#70
68
+ def gen_random_urandom(n); end
69
+ end
70
+ end
71
+
72
+ # The version
73
+ #
74
+ # source://securerandom//lib/securerandom.rb#44
75
+ SecureRandom::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,267 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `shale-builder` gem.
5
+ # Please instead update this file by running `bin/tapioca gem shale-builder`.
6
+
7
+
8
+ # source://shale-builder//lib/shale/builder/version.rb#3
9
+ module Shale; end
10
+
11
+ # source://shale-builder//lib/shale/attribute.rb#7
12
+ class Shale::Attribute
13
+ # Contains the documentation comment for the shale attribute
14
+ # in a Ruby String.
15
+ #
16
+ # source://shale-builder//lib/shale/attribute.rb#24
17
+ sig { returns(T.nilable(T::Array[::Symbol])) }
18
+ def aliases; end
19
+
20
+ # Contains the documentation comment for the shale attribute
21
+ # in a Ruby String.
22
+ #
23
+ # source://shale-builder//lib/shale/attribute.rb#24
24
+ def aliases=(_arg0); end
25
+
26
+ # source://shale-builder//lib/shale/attribute.rb#27
27
+ sig { returns(T::Array[::Symbol]) }
28
+ def all_names; end
29
+
30
+ # Returns `true` if the attribute is handled by a shale builder.
31
+ #
32
+ #
33
+ # source://shale-builder//lib/shale/attribute.rb#45
34
+ sig { returns(T::Boolean) }
35
+ def builder?; end
36
+
37
+ # Contains the documentation comment for the shale attribute
38
+ # in a Ruby String.
39
+ #
40
+ # source://shale-builder//lib/shale/attribute.rb#19
41
+ sig { returns(T.nilable(::String)) }
42
+ def doc; end
43
+
44
+ # Contains the documentation comment for the shale attribute
45
+ # in a Ruby String.
46
+ #
47
+ # source://shale-builder//lib/shale/attribute.rb#19
48
+ def doc=(_arg0); end
49
+
50
+ # Returns `true` if the attribute is handled by a shale mapper.
51
+ #
52
+ #
53
+ # source://shale-builder//lib/shale/attribute.rb#38
54
+ sig { returns(T::Boolean) }
55
+ def mapper?; end
56
+
57
+ # source://shale-builder//lib/shale/attribute.rb#14
58
+ sig { returns(T.untyped) }
59
+ def return_type; end
60
+
61
+ # source://shale-builder//lib/shale/attribute.rb#14
62
+ def return_type=(_arg0); end
63
+
64
+ # source://shale-builder//lib/shale/attribute.rb#11
65
+ sig { returns(T.untyped) }
66
+ def setter_type; end
67
+
68
+ # source://shale-builder//lib/shale/attribute.rb#11
69
+ def setter_type=(_arg0); end
70
+ end
71
+
72
+ # It's meant to be included in subclasses of `Shale::Mapper`
73
+ # to provide an easier way of building instances.
74
+ #
75
+ # Example:
76
+ #
77
+ # require 'shale/builder'
78
+ #
79
+ # class PaymentInstrument < Shale::Mapper
80
+ # include Shale::Builder
81
+ #
82
+ # attribute :number, Shale::Type::String
83
+ # attribute :expiration_year, ::Shale::Type::Integer
84
+ # attribute :expiration_month, ::Shale::Type::Integer
85
+ # end
86
+ #
87
+ # class Transaction < ::Shale::Mapper
88
+ # include Shale::Builder
89
+ #
90
+ # attribute :cvv_code, Shale::Type::String
91
+ # attribute :payment_instrument, PaymentInstrument
92
+ # end
93
+ #
94
+ # transaction = Transaction.build do |t|
95
+ # t.cvv_code = '123'
96
+ # t.payment_instrument do |p|
97
+ # p.number = '4242424242424242'
98
+ # p.expiration_year = 2045
99
+ # p.expiration_month = 12
100
+ # end
101
+ # end
102
+ #
103
+ #
104
+ # source://shale-builder//lib/shale/builder/version.rb#4
105
+ module Shale::Builder
106
+ requires_ancestor { Object }
107
+
108
+ mixes_in_class_methods ::Shale::Builder::ClassMethods
109
+
110
+ # Returns an array of shale values
111
+ # that have been assigned.
112
+ #
113
+ #
114
+ # source://shale-builder//lib/shale/builder.rb#211
115
+ sig { returns(T::Array[::Shale::Builder::Value]) }
116
+ def attribute_values; end
117
+
118
+ # Attempts to set the given attributes and values
119
+ # within this shale builder object and all of its sub-builders.
120
+ # Attributes that aren't defined are ignored.
121
+ #
122
+ #
123
+ # source://shale-builder//lib/shale/builder.rb#223
124
+ sig { params(context: T.untyped).void }
125
+ def inject_context(**context); end
126
+
127
+ class << self
128
+ # Gets called after including this module in a module or class.
129
+ #
130
+ # source://shale-builder//lib/shale/builder.rb#57
131
+ sig { params(mod: ::Module).void }
132
+ def included(mod); end
133
+
134
+ # Prepares the received module or class
135
+ # for dynamic method definition.
136
+ #
137
+ # source://shale-builder//lib/shale/builder.rb#65
138
+ sig { params(mod: ::Module).void }
139
+ def prepare_mod(mod); end
140
+ end
141
+ end
142
+
143
+ # Class methods provided by `Shale::Builder`
144
+ #
145
+ # @abstract Subclasses must implement the `abstract` methods below.
146
+ #
147
+ # source://shale-builder//lib/shale/builder.rb#73
148
+ module Shale::Builder::ClassMethods
149
+ extend T::Generic
150
+
151
+ abstract!
152
+
153
+ has_attached_class!
154
+
155
+ # Create an alias for the getter and setter of an attribute.
156
+ #
157
+ # source://shale-builder//lib/shale/builder.rb#153
158
+ sig { params(new_name: ::Symbol, old_name: ::Symbol).void }
159
+ def alias_attribute(new_name, old_name); end
160
+
161
+ # source://shale-builder//lib/shale/builder.rb#106
162
+ sig do
163
+ params(
164
+ name: T.any(::String, ::Symbol),
165
+ shale_mapper: ::Class,
166
+ collection: T::Boolean,
167
+ default: T.nilable(::Proc),
168
+ doc: T.nilable(::String),
169
+ return_type: T.untyped,
170
+ setter_type: T.untyped,
171
+ kwargs: ::Object,
172
+ block: T.nilable(T.proc.void)
173
+ ).void
174
+ end
175
+ def attribute(name, shale_mapper, collection: T.unsafe(nil), default: T.unsafe(nil), doc: T.unsafe(nil), return_type: T.unsafe(nil), setter_type: T.unsafe(nil), **kwargs, &block); end
176
+
177
+ # @abstract
178
+ #
179
+ # source://shale-builder//lib/shale/builder.rb#103
180
+ sig { abstract.returns(T::Hash[::Symbol, ::Shale::Attribute]) }
181
+ def attributes; end
182
+
183
+ # @yield [body]
184
+ #
185
+ # source://shale-builder//lib/shale/builder.rb#92
186
+ sig { params(_block: T.proc.params(arg0: T.attached_class).void).returns(T.attached_class) }
187
+ def build(&_block); end
188
+
189
+ # Returns a hash of shale attributes that are handled by a shale builder.
190
+ # The result gets memoized.
191
+ #
192
+ #
193
+ # source://shale-builder//lib/shale/builder.rb#190
194
+ sig { returns(T::Hash[::Symbol, ::Shale::Attribute]) }
195
+ def builder_attributes; end
196
+
197
+ # Returns a hash of shale attributes that are handled by a shale builder.
198
+ # Always constructs a new hash.
199
+ #
200
+ #
201
+ # source://shale-builder//lib/shale/builder.rb#198
202
+ sig { returns(T::Hash[::Symbol, ::Shale::Attribute]) }
203
+ def builder_attributes!; end
204
+
205
+ # Contains overridden getter methods for attributes
206
+ # with complex types (so that they accept a block for building)
207
+ #
208
+ # source://shale-builder//lib/shale/builder.rb#89
209
+ sig { returns(::Module) }
210
+ def builder_methods_module; end
211
+
212
+ # source://shale-builder//lib/shale/builder.rb#81
213
+ sig { params(subclass: ::Class).void }
214
+ def inherited(subclass); end
215
+
216
+ # Returns a hash of shale attributes that are handled by a shale mapper.
217
+ # The result gets memoized.
218
+ #
219
+ #
220
+ # source://shale-builder//lib/shale/builder.rb#172
221
+ sig { returns(T::Hash[::Symbol, ::Shale::Attribute]) }
222
+ def mapper_attributes; end
223
+
224
+ # Returns a hash of shale attributes that are handled by a shale mapper.
225
+ # Always constructs a new hash.
226
+ #
227
+ #
228
+ # source://shale-builder//lib/shale/builder.rb#180
229
+ sig { returns(T::Hash[::Symbol, ::Shale::Attribute]) }
230
+ def mapper_attributes!; end
231
+
232
+ # @abstract
233
+ #
234
+ # source://shale-builder//lib/shale/builder.rb#100
235
+ sig { abstract.params(props: T.anything).returns(T.attached_class) }
236
+ def new(**props); end
237
+ end
238
+
239
+ # source://shale-builder//lib/shale/builder.rb#50
240
+ Shale::Builder::S = Shale::Type
241
+
242
+ # source://shale-builder//lib/shale/builder/version.rb#5
243
+ Shale::Builder::VERSION = T.let(T.unsafe(nil), String)
244
+
245
+ # Represents a value of a particular shale attribute.
246
+ # Hold the value and a reference to the attribute definition.
247
+ #
248
+ # source://shale-builder//lib/shale/builder/value.rb#10
249
+ class Shale::Builder::Value
250
+ # source://shale-builder//lib/shale/builder/value.rb#24
251
+ sig { params(attribute: ::Shale::Attribute, value: T.untyped).void }
252
+ def initialize(attribute, value); end
253
+
254
+ # Shale attribute definition
255
+ #
256
+ #
257
+ # source://shale-builder//lib/shale/builder/value.rb#16
258
+ sig { returns(::Shale::Attribute) }
259
+ def attribute; end
260
+
261
+ # Value of the attribute.
262
+ #
263
+ #
264
+ # source://shale-builder//lib/shale/builder/value.rb#21
265
+ sig { returns(T.untyped) }
266
+ def value; end
267
+ end