active_sms 0.1.0 → 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.
- checksums.yaml +4 -4
- data/README.md +26 -3
- data/lib/active_sms/backend/logger.rb +27 -0
- data/lib/active_sms/version.rb +1 -1
- data/lib/active_sms.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f43dbcec303c16dfb88899f1ba8d3e2ddfabbcb9
|
4
|
+
data.tar.gz: 72e62060817e39e792f8399e843b3255e344f7fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43d8e793fa4bd36ae722d02a12a0ac7a1ac43b1ec6fcc35e7dc3d4a8e8e788a0990152c0f87565a82048507990d4b3df4ee162494eadd4654ea1626a86170a1a
|
7
|
+
data.tar.gz: 5ea42d6c63e10fb618485531617aecf2f9afcaeff35060a631f6ba4e3f8987f88991691ca8ff8cc4b7a96bf8d453e50be7a02b967134fab4e97cb5855c2cf970
|
data/README.md
CHANGED
@@ -21,7 +21,11 @@ Then somewhere in your initialization code:
|
|
21
21
|
|
22
22
|
```ruby
|
23
23
|
ActiveSMS.configure do |config|
|
24
|
-
c.register_backend :my_backend_name,
|
24
|
+
c.register_backend :my_backend_name,
|
25
|
+
ActiveSMS::Backend::Logger,
|
26
|
+
logger: Logger.new(STDOUT),
|
27
|
+
severity: :info
|
28
|
+
|
25
29
|
c.default_backend = :my_backend_name
|
26
30
|
end
|
27
31
|
```
|
@@ -32,7 +36,8 @@ Now, whenever you need to send SMS, just do:
|
|
32
36
|
phone = "799999999"
|
33
37
|
text = "My sms text"
|
34
38
|
|
35
|
-
|
39
|
+
# Should print to console [SMS] 79999999999: text
|
40
|
+
ActiveSMS.send_sms("79999999999", "text")
|
36
41
|
```
|
37
42
|
|
38
43
|
Now your code is capable of sending sms.
|
@@ -158,6 +163,24 @@ Here's how you can achieve that:
|
|
158
163
|
```ruby
|
159
164
|
ActiveSMS.configure do |c|
|
160
165
|
if development?
|
166
|
+
c.register_backend :my_custom_backend,
|
167
|
+
ActiveSMS::Backend::Logger,
|
168
|
+
logger: Logger.new(STDOUT),
|
169
|
+
severity: :info
|
170
|
+
|
171
|
+
# You can also specify different formatter for second one
|
172
|
+
logger = Logger.new(STDOUT)
|
173
|
+
logger.formatter = proc do |severity, datetime, progname, msg|
|
174
|
+
"[MYBackend2]: #{msg}\n"
|
175
|
+
end
|
176
|
+
|
177
|
+
c.register_backend :my_custom_backend2,
|
178
|
+
ActiveSMS::Backend::Logger,
|
179
|
+
logger: logger,
|
180
|
+
severity: :info
|
181
|
+
end
|
182
|
+
|
183
|
+
if test?
|
161
184
|
c.register_backend :my_custom_backend, ActiveSMS::Backend::NullSender
|
162
185
|
c.register_backend :my_custom_backend2, ActiveSMS::Backend::NullSender
|
163
186
|
end
|
@@ -184,7 +207,7 @@ ActiveSMS.send_sms(phone, text)
|
|
184
207
|
# Uses backend you specify
|
185
208
|
ActiveSMS.send_sms(phone, text, backend: :my_custom_backend2)
|
186
209
|
|
187
|
-
# depending on your initializer it
|
210
|
+
# depending on your initializer it may use different backends (like in this example)
|
188
211
|
# in different environments.
|
189
212
|
```
|
190
213
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Sms backend for logging outgoing sms
|
2
|
+
# instead of actually sending them
|
3
|
+
class ActiveSMS::Backend::Logger < ActiveSMS::Backend::Base
|
4
|
+
# has anyone heard how to receive log levels from logger itself?
|
5
|
+
LOG_SEVERITY = [:debug, :info, :warn, :error, :fatal, :unknown].freeze
|
6
|
+
|
7
|
+
# @param logger [::Logger] Class implementing logger interface
|
8
|
+
# @param severity [Symbol] Backend will use log severity you provide
|
9
|
+
def initialize(logger: Logger.new(STDOUT), severity: :info)
|
10
|
+
@logger = logger
|
11
|
+
@severity = severity
|
12
|
+
|
13
|
+
raise ArgumentError, "Invalid log severity" unless LOG_SEVERITY.include?(@severity)
|
14
|
+
|
15
|
+
return if @logger.respond_to?(@severity)
|
16
|
+
raise ArgumentError, "Class should implement logger interface"
|
17
|
+
end
|
18
|
+
|
19
|
+
# Method that sends phone and text to logger
|
20
|
+
#
|
21
|
+
# @phone [String] Phone number to send sms
|
22
|
+
# @text [String] Sms text
|
23
|
+
def send_sms(phone, text)
|
24
|
+
@logger.send(@severity, "[SMS] #{phone}: #{text}")
|
25
|
+
respond_with_status :success
|
26
|
+
end
|
27
|
+
end
|
data/lib/active_sms/version.rb
CHANGED
data/lib/active_sms.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_sms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fedcomp
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -141,6 +141,7 @@ files:
|
|
141
141
|
- active_sms.gemspec
|
142
142
|
- lib/active_sms.rb
|
143
143
|
- lib/active_sms/backend/base.rb
|
144
|
+
- lib/active_sms/backend/logger.rb
|
144
145
|
- lib/active_sms/backend/null_sender.rb
|
145
146
|
- lib/active_sms/configuration.rb
|
146
147
|
- lib/active_sms/response.rb
|