appwrite 30.1.0 → 30.2.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.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +16 -2
- data/lib/appwrite/enums/appwrite_migration_resource.rb +1 -0
- data/lib/appwrite/enums/o_auth_provider.rb +2 -0
- data/lib/appwrite/enums/project_key_scopes.rb +6 -0
- data/lib/appwrite/enums/project_o_auth_provider_id.rb +2 -0
- data/lib/appwrite/enums/project_policy_id.rb +1 -0
- data/lib/appwrite/models/activity_event.rb +9 -4
- data/lib/appwrite/models/device.rb +58 -0
- data/lib/appwrite/models/environment.rb +48 -0
- data/lib/appwrite/models/environment_list.rb +33 -0
- data/lib/appwrite/models/o_auth2_vipps.rb +43 -0
- data/lib/appwrite/models/organization.rb +16 -1
- data/lib/appwrite/models/policy_account_devices.rb +33 -0
- data/lib/appwrite/models/project.rb +10 -0
- data/lib/appwrite/models/proxy_rule.rb +11 -1
- data/lib/appwrite/models/session.rb +6 -1
- data/lib/appwrite/models/waf_rule_bypass.rb +8 -3
- data/lib/appwrite/models/waf_rule_challenge.rb +5 -0
- data/lib/appwrite/models/waf_rule_deny.rb +8 -3
- data/lib/appwrite/models/waf_rule_rate_limit.rb +5 -0
- data/lib/appwrite/models/waf_rule_redirect.rb +5 -0
- data/lib/appwrite/services/account.rb +156 -1
- data/lib/appwrite/services/domains.rb +2 -2
- data/lib/appwrite/services/project.rb +217 -20
- data/lib/appwrite/services/proxy.rb +154 -1
- data/lib/appwrite/services/storage.rb +2 -2
- data/lib/appwrite/services/waf.rb +40 -10
- data/lib/appwrite.rb +5 -0
- metadata +7 -2
|
@@ -57,6 +57,7 @@ module Appwrite
|
|
|
57
57
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
58
58
|
# @param [] enabled Set to false to create the rule in a disabled state.
|
|
59
59
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
60
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
60
61
|
#
|
|
61
62
|
# @return [WafRuleBypass]
|
|
62
63
|
def create_bypass_rule(
|
|
@@ -67,7 +68,8 @@ module Appwrite
|
|
|
67
68
|
description: nil,
|
|
68
69
|
priority: nil,
|
|
69
70
|
enabled: nil,
|
|
70
|
-
conditions: nil
|
|
71
|
+
conditions: nil,
|
|
72
|
+
schedule: nil
|
|
71
73
|
)
|
|
72
74
|
if rule_id.nil?
|
|
73
75
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -92,6 +94,7 @@ module Appwrite
|
|
|
92
94
|
priority: priority,
|
|
93
95
|
enabled: enabled,
|
|
94
96
|
conditions: conditions,
|
|
97
|
+
schedule: schedule,
|
|
95
98
|
}
|
|
96
99
|
|
|
97
100
|
api_headers = {
|
|
@@ -125,6 +128,7 @@ module Appwrite
|
|
|
125
128
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
126
129
|
# @param [] enabled Set to false to disable the rule.
|
|
127
130
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
131
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
128
132
|
#
|
|
129
133
|
# @return [WafRuleBypass]
|
|
130
134
|
def update_bypass_rule(
|
|
@@ -135,7 +139,8 @@ module Appwrite
|
|
|
135
139
|
description: nil,
|
|
136
140
|
priority: nil,
|
|
137
141
|
enabled: nil,
|
|
138
|
-
conditions: nil
|
|
142
|
+
conditions: nil,
|
|
143
|
+
schedule: nil
|
|
139
144
|
)
|
|
140
145
|
if rule_id.nil? || rule_id == ''
|
|
141
146
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -152,6 +157,7 @@ module Appwrite
|
|
|
152
157
|
priority: priority,
|
|
153
158
|
enabled: enabled,
|
|
154
159
|
conditions: conditions,
|
|
160
|
+
schedule: schedule,
|
|
155
161
|
}
|
|
156
162
|
|
|
157
163
|
api_headers = {
|
|
@@ -191,6 +197,7 @@ module Appwrite
|
|
|
191
197
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
192
198
|
# @param [Integer] difficulty Challenge difficulty from 1 (easiest) to 5 (hardest). Higher values demand more client-side proof-of-work.
|
|
193
199
|
# @param [Integer] ttl How long, in seconds, a visitor stays cleared after passing the challenge before being challenged again.
|
|
200
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
194
201
|
#
|
|
195
202
|
# @return [WafRuleChallenge]
|
|
196
203
|
def create_challenge_rule(
|
|
@@ -204,7 +211,8 @@ module Appwrite
|
|
|
204
211
|
enabled: nil,
|
|
205
212
|
conditions: nil,
|
|
206
213
|
difficulty: nil,
|
|
207
|
-
ttl: nil
|
|
214
|
+
ttl: nil,
|
|
215
|
+
schedule: nil
|
|
208
216
|
)
|
|
209
217
|
if rule_id.nil?
|
|
210
218
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -232,6 +240,7 @@ module Appwrite
|
|
|
232
240
|
conditions: conditions,
|
|
233
241
|
difficulty: difficulty,
|
|
234
242
|
ttl: ttl,
|
|
243
|
+
schedule: schedule,
|
|
235
244
|
}
|
|
236
245
|
|
|
237
246
|
api_headers = {
|
|
@@ -271,6 +280,7 @@ module Appwrite
|
|
|
271
280
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
272
281
|
# @param [Integer] difficulty Challenge difficulty from 1 (easiest) to 5 (hardest). Higher values demand more client-side proof-of-work.
|
|
273
282
|
# @param [Integer] ttl How long, in seconds, a visitor stays cleared after passing the challenge before being challenged again.
|
|
283
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
274
284
|
#
|
|
275
285
|
# @return [WafRuleChallenge]
|
|
276
286
|
def update_challenge_rule(
|
|
@@ -284,7 +294,8 @@ module Appwrite
|
|
|
284
294
|
enabled: nil,
|
|
285
295
|
conditions: nil,
|
|
286
296
|
difficulty: nil,
|
|
287
|
-
ttl: nil
|
|
297
|
+
ttl: nil,
|
|
298
|
+
schedule: nil
|
|
288
299
|
)
|
|
289
300
|
if rule_id.nil? || rule_id == ''
|
|
290
301
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -304,6 +315,7 @@ module Appwrite
|
|
|
304
315
|
conditions: conditions,
|
|
305
316
|
difficulty: difficulty,
|
|
306
317
|
ttl: ttl,
|
|
318
|
+
schedule: schedule,
|
|
307
319
|
}
|
|
308
320
|
|
|
309
321
|
api_headers = {
|
|
@@ -347,6 +359,7 @@ module Appwrite
|
|
|
347
359
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
348
360
|
# @param [] enabled Set to false to create the rule in a disabled state.
|
|
349
361
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
362
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
350
363
|
#
|
|
351
364
|
# @return [WafRuleDeny]
|
|
352
365
|
def create_deny_rule(
|
|
@@ -357,7 +370,8 @@ module Appwrite
|
|
|
357
370
|
description: nil,
|
|
358
371
|
priority: nil,
|
|
359
372
|
enabled: nil,
|
|
360
|
-
conditions: nil
|
|
373
|
+
conditions: nil,
|
|
374
|
+
schedule: nil
|
|
361
375
|
)
|
|
362
376
|
if rule_id.nil?
|
|
363
377
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -382,6 +396,7 @@ module Appwrite
|
|
|
382
396
|
priority: priority,
|
|
383
397
|
enabled: enabled,
|
|
384
398
|
conditions: conditions,
|
|
399
|
+
schedule: schedule,
|
|
385
400
|
}
|
|
386
401
|
|
|
387
402
|
api_headers = {
|
|
@@ -425,6 +440,7 @@ module Appwrite
|
|
|
425
440
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
426
441
|
# @param [] enabled Set to false to disable the rule.
|
|
427
442
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
443
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
428
444
|
#
|
|
429
445
|
# @return [WafRuleDeny]
|
|
430
446
|
def update_deny_rule(
|
|
@@ -435,7 +451,8 @@ module Appwrite
|
|
|
435
451
|
description: nil,
|
|
436
452
|
priority: nil,
|
|
437
453
|
enabled: nil,
|
|
438
|
-
conditions: nil
|
|
454
|
+
conditions: nil,
|
|
455
|
+
schedule: nil
|
|
439
456
|
)
|
|
440
457
|
if rule_id.nil? || rule_id == ''
|
|
441
458
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -452,6 +469,7 @@ module Appwrite
|
|
|
452
469
|
priority: priority,
|
|
453
470
|
enabled: enabled,
|
|
454
471
|
conditions: conditions,
|
|
472
|
+
schedule: schedule,
|
|
455
473
|
}
|
|
456
474
|
|
|
457
475
|
api_headers = {
|
|
@@ -492,6 +510,7 @@ module Appwrite
|
|
|
492
510
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
493
511
|
# @param [] enabled Set to false to create the rule in a disabled state.
|
|
494
512
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
513
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
495
514
|
#
|
|
496
515
|
# @return [WafRuleRateLimit]
|
|
497
516
|
def create_rate_limit_rule(
|
|
@@ -507,7 +526,8 @@ module Appwrite
|
|
|
507
526
|
max_bucket_size: nil,
|
|
508
527
|
priority: nil,
|
|
509
528
|
enabled: nil,
|
|
510
|
-
conditions: nil
|
|
529
|
+
conditions: nil,
|
|
530
|
+
schedule: nil
|
|
511
531
|
)
|
|
512
532
|
if rule_id.nil?
|
|
513
533
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -545,6 +565,7 @@ module Appwrite
|
|
|
545
565
|
priority: priority,
|
|
546
566
|
enabled: enabled,
|
|
547
567
|
conditions: conditions,
|
|
568
|
+
schedule: schedule,
|
|
548
569
|
}
|
|
549
570
|
|
|
550
571
|
api_headers = {
|
|
@@ -584,6 +605,7 @@ module Appwrite
|
|
|
584
605
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
585
606
|
# @param [] enabled Set to false to disable the rule.
|
|
586
607
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
608
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
587
609
|
#
|
|
588
610
|
# @return [WafRuleRateLimit]
|
|
589
611
|
def update_rate_limit_rule(
|
|
@@ -598,7 +620,8 @@ module Appwrite
|
|
|
598
620
|
max_bucket_size: nil,
|
|
599
621
|
priority: nil,
|
|
600
622
|
enabled: nil,
|
|
601
|
-
conditions: nil
|
|
623
|
+
conditions: nil,
|
|
624
|
+
schedule: nil
|
|
602
625
|
)
|
|
603
626
|
if rule_id.nil? || rule_id == ''
|
|
604
627
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -619,6 +642,7 @@ module Appwrite
|
|
|
619
642
|
priority: priority,
|
|
620
643
|
enabled: enabled,
|
|
621
644
|
conditions: conditions,
|
|
645
|
+
schedule: schedule,
|
|
622
646
|
}
|
|
623
647
|
|
|
624
648
|
api_headers = {
|
|
@@ -654,6 +678,7 @@ module Appwrite
|
|
|
654
678
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
655
679
|
# @param [] enabled Set to false to create the rule in a disabled state.
|
|
656
680
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
681
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
657
682
|
#
|
|
658
683
|
# @return [WafRuleRedirect]
|
|
659
684
|
def create_redirect_rule(
|
|
@@ -666,7 +691,8 @@ module Appwrite
|
|
|
666
691
|
description: nil,
|
|
667
692
|
priority: nil,
|
|
668
693
|
enabled: nil,
|
|
669
|
-
conditions: nil
|
|
694
|
+
conditions: nil,
|
|
695
|
+
schedule: nil
|
|
670
696
|
)
|
|
671
697
|
if rule_id.nil?
|
|
672
698
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -701,6 +727,7 @@ module Appwrite
|
|
|
701
727
|
priority: priority,
|
|
702
728
|
enabled: enabled,
|
|
703
729
|
conditions: conditions,
|
|
730
|
+
schedule: schedule,
|
|
704
731
|
}
|
|
705
732
|
|
|
706
733
|
api_headers = {
|
|
@@ -736,6 +763,7 @@ module Appwrite
|
|
|
736
763
|
# @param [Integer] priority Evaluation priority. Lower numbers run earlier.
|
|
737
764
|
# @param [] enabled Set to false to disable the rule.
|
|
738
765
|
# @param [Array] conditions Array of condition strings generated using the WAF Condition builder. Maximum of 100 conditions are allowed, each 4096 characters long.
|
|
766
|
+
# @param [Hash] schedule When the rule is active: mode, days, interval, anchor, startTime and endTime (HH:MM), and an optional IANA timezone (UTC by default). Leave out for always on; on update, leave out to keep the current schedule and pass an empty object to remove it.
|
|
739
767
|
#
|
|
740
768
|
# @return [WafRuleRedirect]
|
|
741
769
|
def update_redirect_rule(
|
|
@@ -748,7 +776,8 @@ module Appwrite
|
|
|
748
776
|
status_code: nil,
|
|
749
777
|
priority: nil,
|
|
750
778
|
enabled: nil,
|
|
751
|
-
conditions: nil
|
|
779
|
+
conditions: nil,
|
|
780
|
+
schedule: nil
|
|
752
781
|
)
|
|
753
782
|
if rule_id.nil? || rule_id == ''
|
|
754
783
|
raise Appwrite::Exception.new('Missing required parameter: "ruleId"')
|
|
@@ -767,6 +796,7 @@ module Appwrite
|
|
|
767
796
|
priority: priority,
|
|
768
797
|
enabled: enabled,
|
|
769
798
|
conditions: conditions,
|
|
799
|
+
schedule: schedule,
|
|
770
800
|
}
|
|
771
801
|
|
|
772
802
|
api_headers = {
|
data/lib/appwrite.rb
CHANGED
|
@@ -125,6 +125,7 @@ require_relative 'appwrite/models/algo_argon2'
|
|
|
125
125
|
require_relative 'appwrite/models/account'
|
|
126
126
|
require_relative 'appwrite/models/preferences'
|
|
127
127
|
require_relative 'appwrite/models/session'
|
|
128
|
+
require_relative 'appwrite/models/device'
|
|
128
129
|
require_relative 'appwrite/models/identity'
|
|
129
130
|
require_relative 'appwrite/models/token'
|
|
130
131
|
require_relative 'appwrite/models/jwt'
|
|
@@ -192,6 +193,7 @@ require_relative 'appwrite/models/o_auth2_keycloak'
|
|
|
192
193
|
require_relative 'appwrite/models/o_auth2_oidc'
|
|
193
194
|
require_relative 'appwrite/models/o_auth2_okta'
|
|
194
195
|
require_relative 'appwrite/models/o_auth2_kick'
|
|
196
|
+
require_relative 'appwrite/models/o_auth2_vipps'
|
|
195
197
|
require_relative 'appwrite/models/o_auth2_apple'
|
|
196
198
|
require_relative 'appwrite/models/o_auth2_microsoft'
|
|
197
199
|
require_relative 'appwrite/models/o_auth2_resend'
|
|
@@ -217,6 +219,7 @@ require_relative 'appwrite/models/policy_deny_disposable_email'
|
|
|
217
219
|
require_relative 'appwrite/models/policy_deny_free_email'
|
|
218
220
|
require_relative 'appwrite/models/policy_deny_corporate_email'
|
|
219
221
|
require_relative 'appwrite/models/policy_deny_realtime_guests'
|
|
222
|
+
require_relative 'appwrite/models/policy_account_devices'
|
|
220
223
|
require_relative 'appwrite/models/platform_web'
|
|
221
224
|
require_relative 'appwrite/models/platform_apple'
|
|
222
225
|
require_relative 'appwrite/models/platform_android'
|
|
@@ -290,6 +293,8 @@ require_relative 'appwrite/models/backup_policy'
|
|
|
290
293
|
require_relative 'appwrite/models/dedicated_database_pooler'
|
|
291
294
|
require_relative 'appwrite/models/postgres_extension'
|
|
292
295
|
require_relative 'appwrite/models/program'
|
|
296
|
+
require_relative 'appwrite/models/environment'
|
|
297
|
+
require_relative 'appwrite/models/environment_list'
|
|
293
298
|
require_relative 'appwrite/models/backup_restoration'
|
|
294
299
|
require_relative 'appwrite/models/dedicated_database_restoration_list'
|
|
295
300
|
require_relative 'appwrite/models/dedicated_database_specification'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appwrite
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 30.
|
|
4
|
+
version: 30.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Appwrite Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-11-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mime-types
|
|
@@ -244,6 +244,7 @@ files:
|
|
|
244
244
|
- lib/appwrite/models/dedicated_database_specification_list.rb
|
|
245
245
|
- lib/appwrite/models/deployment.rb
|
|
246
246
|
- lib/appwrite/models/deployment_list.rb
|
|
247
|
+
- lib/appwrite/models/device.rb
|
|
247
248
|
- lib/appwrite/models/dns_record.rb
|
|
248
249
|
- lib/appwrite/models/dns_records_list.rb
|
|
249
250
|
- lib/appwrite/models/document.rb
|
|
@@ -257,6 +258,8 @@ files:
|
|
|
257
258
|
- lib/appwrite/models/email_template_list.rb
|
|
258
259
|
- lib/appwrite/models/embedding.rb
|
|
259
260
|
- lib/appwrite/models/embedding_list.rb
|
|
261
|
+
- lib/appwrite/models/environment.rb
|
|
262
|
+
- lib/appwrite/models/environment_list.rb
|
|
260
263
|
- lib/appwrite/models/ephemeral_key.rb
|
|
261
264
|
- lib/appwrite/models/execution.rb
|
|
262
265
|
- lib/appwrite/models/execution_list.rb
|
|
@@ -337,6 +340,7 @@ files:
|
|
|
337
340
|
- lib/appwrite/models/o_auth2_tik_tok.rb
|
|
338
341
|
- lib/appwrite/models/o_auth2_tradeshift.rb
|
|
339
342
|
- lib/appwrite/models/o_auth2_twitch.rb
|
|
343
|
+
- lib/appwrite/models/o_auth2_vipps.rb
|
|
340
344
|
- lib/appwrite/models/o_auth2_webflow.rb
|
|
341
345
|
- lib/appwrite/models/o_auth2_word_press.rb
|
|
342
346
|
- lib/appwrite/models/o_auth2_x.rb
|
|
@@ -372,6 +376,7 @@ files:
|
|
|
372
376
|
- lib/appwrite/models/platform_list.rb
|
|
373
377
|
- lib/appwrite/models/platform_web.rb
|
|
374
378
|
- lib/appwrite/models/platform_windows.rb
|
|
379
|
+
- lib/appwrite/models/policy_account_devices.rb
|
|
375
380
|
- lib/appwrite/models/policy_deny_aliased_email.rb
|
|
376
381
|
- lib/appwrite/models/policy_deny_corporate_email.rb
|
|
377
382
|
- lib/appwrite/models/policy_deny_disposable_email.rb
|