cloudflare-email 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 (36) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +87 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +521 -0
  5. data/app/controllers/cloudflare/email/ingress_controller.rb +67 -0
  6. data/lib/cloudflare/email/client.rb +216 -0
  7. data/lib/cloudflare/email/credentials.rb +59 -0
  8. data/lib/cloudflare/email/delivery_method.rb +57 -0
  9. data/lib/cloudflare/email/deploy_worker_task.rb +62 -0
  10. data/lib/cloudflare/email/dev_tunnel.rb +97 -0
  11. data/lib/cloudflare/email/doctor.rb +244 -0
  12. data/lib/cloudflare/email/engine.rb +25 -0
  13. data/lib/cloudflare/email/error.rb +20 -0
  14. data/lib/cloudflare/email/provision_catchall_task.rb +36 -0
  15. data/lib/cloudflare/email/provision_route_task.rb +34 -0
  16. data/lib/cloudflare/email/response.rb +61 -0
  17. data/lib/cloudflare/email/routing_provisioner.rb +220 -0
  18. data/lib/cloudflare/email/secure_message_id.rb +89 -0
  19. data/lib/cloudflare/email/send_test.rb +75 -0
  20. data/lib/cloudflare/email/signing.rb +37 -0
  21. data/lib/cloudflare/email/task_base.rb +61 -0
  22. data/lib/cloudflare/email/verification.rb +44 -0
  23. data/lib/cloudflare/email/version.rb +5 -0
  24. data/lib/cloudflare/email/worker_deployer.rb +183 -0
  25. data/lib/cloudflare-email.rb +9 -0
  26. data/lib/generators/cloudflare/email/install_generator.rb +227 -0
  27. data/lib/generators/cloudflare/email/templates/initializer.rb +20 -0
  28. data/lib/generators/cloudflare/email/templates/main_mailbox.rb +32 -0
  29. data/lib/tasks/cloudflare_email.rake +45 -0
  30. data/templates/worker/README.md +37 -0
  31. data/templates/worker/package.json +15 -0
  32. data/templates/worker/src/index.js +73 -0
  33. data/templates/worker/test/index.test.ts +139 -0
  34. data/templates/worker/vitest.config.ts +8 -0
  35. data/templates/worker/wrangler.toml +10 -0
  36. metadata +155 -0
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cloudflare-email
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Cole
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2026-04-18 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: minitest
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '5.20'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '5.20'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '13.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '13.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: webmock
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '3.20'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.20'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rails
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '7.1'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '9.0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '7.1'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '9.0'
74
+ - !ruby/object:Gem::Dependency
75
+ name: rack-test
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '2.1'
81
+ type: :development
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '2.1'
88
+ description: A Ruby client and Rails integration for Cloudflare's Email Service. Send
89
+ mail via an ActionMailer delivery method, receive mail via an ActionMailbox ingress
90
+ backed by a shipped Cloudflare Email Worker template.
91
+ email:
92
+ - cole@dscribeai.com
93
+ executables: []
94
+ extensions: []
95
+ extra_rdoc_files: []
96
+ files:
97
+ - CHANGELOG.md
98
+ - LICENSE.txt
99
+ - README.md
100
+ - app/controllers/cloudflare/email/ingress_controller.rb
101
+ - lib/cloudflare-email.rb
102
+ - lib/cloudflare/email/client.rb
103
+ - lib/cloudflare/email/credentials.rb
104
+ - lib/cloudflare/email/delivery_method.rb
105
+ - lib/cloudflare/email/deploy_worker_task.rb
106
+ - lib/cloudflare/email/dev_tunnel.rb
107
+ - lib/cloudflare/email/doctor.rb
108
+ - lib/cloudflare/email/engine.rb
109
+ - lib/cloudflare/email/error.rb
110
+ - lib/cloudflare/email/provision_catchall_task.rb
111
+ - lib/cloudflare/email/provision_route_task.rb
112
+ - lib/cloudflare/email/response.rb
113
+ - lib/cloudflare/email/routing_provisioner.rb
114
+ - lib/cloudflare/email/secure_message_id.rb
115
+ - lib/cloudflare/email/send_test.rb
116
+ - lib/cloudflare/email/signing.rb
117
+ - lib/cloudflare/email/task_base.rb
118
+ - lib/cloudflare/email/verification.rb
119
+ - lib/cloudflare/email/version.rb
120
+ - lib/cloudflare/email/worker_deployer.rb
121
+ - lib/generators/cloudflare/email/install_generator.rb
122
+ - lib/generators/cloudflare/email/templates/initializer.rb
123
+ - lib/generators/cloudflare/email/templates/main_mailbox.rb
124
+ - lib/tasks/cloudflare_email.rake
125
+ - templates/worker/README.md
126
+ - templates/worker/package.json
127
+ - templates/worker/src/index.js
128
+ - templates/worker/test/index.test.ts
129
+ - templates/worker/vitest.config.ts
130
+ - templates/worker/wrangler.toml
131
+ homepage: https://github.com/cole-robertson/cloudflare-email
132
+ licenses:
133
+ - MIT
134
+ metadata:
135
+ source_code_uri: https://github.com/cole-robertson/cloudflare-email
136
+ changelog_uri: https://github.com/cole-robertson/cloudflare-email/blob/main/CHANGELOG.md
137
+ bug_tracker_uri: https://github.com/cole-robertson/cloudflare-email/issues
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '3.1'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ requirements: []
152
+ rubygems_version: 3.6.2
153
+ specification_version: 4
154
+ summary: Cloudflare Email Service client for Ruby and Rails (ActionMailer + ActionMailbox).
155
+ test_files: []