whatsapp_notifier 0.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.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +126 -0
  5. data/Rakefile +6 -0
  6. data/bin/whatsapp_notifier +53 -0
  7. data/docs/bulk_messaging_policy.md +30 -0
  8. data/docs/graphify.md +108 -0
  9. data/docs/rails_setup.md +57 -0
  10. data/examples/notification_example.rb +14 -0
  11. data/lib/generators/whatsapp_notifier/install_generator.rb +60 -0
  12. data/lib/generators/whatsapp_notifier/install_service_generator.rb +33 -0
  13. data/lib/generators/whatsapp_notifier/templates/whatsapp_notifier.rb +6 -0
  14. data/lib/whatsapp_notifier/bulk/dispatcher.rb +64 -0
  15. data/lib/whatsapp_notifier/bulk/rate_limiter.rb +17 -0
  16. data/lib/whatsapp_notifier/bulk/retry_policy.rb +32 -0
  17. data/lib/whatsapp_notifier/client.rb +43 -0
  18. data/lib/whatsapp_notifier/configuration.rb +41 -0
  19. data/lib/whatsapp_notifier/doctor.rb +103 -0
  20. data/lib/whatsapp_notifier/errors.rb +5 -0
  21. data/lib/whatsapp_notifier/jobs/send_message_job.rb +20 -0
  22. data/lib/whatsapp_notifier/notification.rb +93 -0
  23. data/lib/whatsapp_notifier/providers/base.rb +24 -0
  24. data/lib/whatsapp_notifier/providers/web_automation.rb +85 -0
  25. data/lib/whatsapp_notifier/railtie.rb +14 -0
  26. data/lib/whatsapp_notifier/result.rb +23 -0
  27. data/lib/whatsapp_notifier/services/web_automation/bun.lock +452 -0
  28. data/lib/whatsapp_notifier/services/web_automation/index.ts +285 -0
  29. data/lib/whatsapp_notifier/services/web_automation/package.json +14 -0
  30. data/lib/whatsapp_notifier/session/qr_service.rb +51 -0
  31. data/lib/whatsapp_notifier/session/store.rb +22 -0
  32. data/lib/whatsapp_notifier/version.rb +4 -0
  33. data/lib/whatsapp_notifier/web_adapter.rb +72 -0
  34. data/lib/whatsapp_notifier.rb +72 -0
  35. data/spec/bulk/dispatcher_spec.rb +73 -0
  36. data/spec/bulk/rate_limiter_spec.rb +27 -0
  37. data/spec/bulk/retry_policy_spec.rb +33 -0
  38. data/spec/client_spec.rb +52 -0
  39. data/spec/configuration_spec.rb +47 -0
  40. data/spec/doctor_spec.rb +46 -0
  41. data/spec/jobs/send_message_job_spec.rb +36 -0
  42. data/spec/notification_spec.rb +60 -0
  43. data/spec/providers/base_spec.rb +17 -0
  44. data/spec/providers/web_automation_spec.rb +109 -0
  45. data/spec/railtie_spec.rb +37 -0
  46. data/spec/result_spec.rb +12 -0
  47. data/spec/session/qr_service_spec.rb +42 -0
  48. data/spec/session/store_spec.rb +21 -0
  49. data/spec/spec_helper.rb +17 -0
  50. data/spec/web_adapter_spec.rb +55 -0
  51. data/spec/whatsapp_notifier_spec.rb +102 -0
  52. metadata +126 -0
metadata ADDED
@@ -0,0 +1,126 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: whatsapp_notifier
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Kshitiz Sinha
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: logger
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '1.5'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '1.5'
26
+ - !ruby/object:Gem::Dependency
27
+ name: thor
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '1.0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
40
+ description: Plug-and-play WhatsApp notifier gem with provider abstraction, bulk messaging
41
+ safeguards, and mailer-like API.
42
+ email:
43
+ - kshtzkr@gmail.com
44
+ executables:
45
+ - whatsapp_notifier
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - Gemfile
50
+ - LICENSE.txt
51
+ - README.md
52
+ - Rakefile
53
+ - bin/whatsapp_notifier
54
+ - docs/bulk_messaging_policy.md
55
+ - docs/graphify.md
56
+ - docs/rails_setup.md
57
+ - examples/notification_example.rb
58
+ - lib/generators/whatsapp_notifier/install_generator.rb
59
+ - lib/generators/whatsapp_notifier/install_service_generator.rb
60
+ - lib/generators/whatsapp_notifier/templates/whatsapp_notifier.rb
61
+ - lib/whatsapp_notifier.rb
62
+ - lib/whatsapp_notifier/bulk/dispatcher.rb
63
+ - lib/whatsapp_notifier/bulk/rate_limiter.rb
64
+ - lib/whatsapp_notifier/bulk/retry_policy.rb
65
+ - lib/whatsapp_notifier/client.rb
66
+ - lib/whatsapp_notifier/configuration.rb
67
+ - lib/whatsapp_notifier/doctor.rb
68
+ - lib/whatsapp_notifier/errors.rb
69
+ - lib/whatsapp_notifier/jobs/send_message_job.rb
70
+ - lib/whatsapp_notifier/notification.rb
71
+ - lib/whatsapp_notifier/providers/base.rb
72
+ - lib/whatsapp_notifier/providers/web_automation.rb
73
+ - lib/whatsapp_notifier/railtie.rb
74
+ - lib/whatsapp_notifier/result.rb
75
+ - lib/whatsapp_notifier/services/web_automation/bun.lock
76
+ - lib/whatsapp_notifier/services/web_automation/index.ts
77
+ - lib/whatsapp_notifier/services/web_automation/package.json
78
+ - lib/whatsapp_notifier/session/qr_service.rb
79
+ - lib/whatsapp_notifier/session/store.rb
80
+ - lib/whatsapp_notifier/version.rb
81
+ - lib/whatsapp_notifier/web_adapter.rb
82
+ - spec/bulk/dispatcher_spec.rb
83
+ - spec/bulk/rate_limiter_spec.rb
84
+ - spec/bulk/retry_policy_spec.rb
85
+ - spec/client_spec.rb
86
+ - spec/configuration_spec.rb
87
+ - spec/doctor_spec.rb
88
+ - spec/jobs/send_message_job_spec.rb
89
+ - spec/notification_spec.rb
90
+ - spec/providers/base_spec.rb
91
+ - spec/providers/web_automation_spec.rb
92
+ - spec/railtie_spec.rb
93
+ - spec/result_spec.rb
94
+ - spec/session/qr_service_spec.rb
95
+ - spec/session/store_spec.rb
96
+ - spec/spec_helper.rb
97
+ - spec/web_adapter_spec.rb
98
+ - spec/whatsapp_notifier_spec.rb
99
+ homepage: https://github.com/kshtzkr/whatsapp_notifier
100
+ licenses:
101
+ - MIT
102
+ metadata:
103
+ allowed_push_host: https://rubygems.org
104
+ homepage_uri: https://github.com/kshtzkr/whatsapp_notifier
105
+ source_code_uri: https://github.com/kshtzkr/whatsapp_notifier/tree/main
106
+ changelog_uri: https://github.com/kshtzkr/whatsapp_notifier/releases
107
+ bug_tracker_uri: https://github.com/kshtzkr/whatsapp_notifier/issues
108
+ rubygems_mfa_required: 'true'
109
+ rdoc_options: []
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 2.6.0
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ requirements: []
123
+ rubygems_version: 4.0.3
124
+ specification_version: 4
125
+ summary: Rails-friendly WhatsApp notifications with pluggable providers
126
+ test_files: []