smspromote 0.0.4 → 0.0.5
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.
- data/lib/smspromote.rb +1 -1
- data/lib/smspromote/gateway.rb +34 -7
- metadata +3 -3
data/lib/smspromote.rb
CHANGED
data/lib/smspromote/gateway.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
require "net/http"
|
2
|
+
require "net/https"
|
2
3
|
require "uri"
|
3
4
|
|
4
5
|
module SmsPromote
|
5
6
|
class Gateway
|
6
|
-
|
7
|
-
|
7
|
+
DOMAIN = "gateway.smspromote.de".freeze
|
8
|
+
SECURE = "https://#{DOMAIN}"
|
9
|
+
INSECURE = "http://#{DOMAIN}"
|
8
10
|
|
9
11
|
# returns the api key as string. The api key will be read
|
10
12
|
# from the ".smspromote.key" file from the home directroy of
|
@@ -45,7 +47,10 @@ module SmsPromote
|
|
45
47
|
options[:from] = @options[:originator]
|
46
48
|
end
|
47
49
|
|
48
|
-
|
50
|
+
url = service_url
|
51
|
+
url.path = "/"
|
52
|
+
response = Net::HTTP.post_form(url, options)
|
53
|
+
|
49
54
|
data = parse_response(response.body)
|
50
55
|
message.after_send(data[:code], data[:message_id], data[:cost], data[:count])
|
51
56
|
message
|
@@ -53,8 +58,9 @@ module SmsPromote
|
|
53
58
|
|
54
59
|
# returns the credits left for the gateway
|
55
60
|
def credits
|
56
|
-
|
57
|
-
|
61
|
+
session do |http|
|
62
|
+
http.get("/credits/?key=#{@api_key}").body.to_f
|
63
|
+
end
|
58
64
|
end
|
59
65
|
|
60
66
|
# returns the response message hash based on the body data
|
@@ -72,15 +78,36 @@ module SmsPromote
|
|
72
78
|
def debug?
|
73
79
|
!!@options[:debug]
|
74
80
|
end
|
81
|
+
|
82
|
+
# returns true if the service should use https
|
83
|
+
def secure?
|
84
|
+
!!@options[:secure]
|
85
|
+
end
|
86
|
+
|
87
|
+
# returns true if the messages should contain an orginator
|
88
|
+
def originator?
|
89
|
+
!!@options[:originator]
|
90
|
+
end
|
75
91
|
|
76
92
|
# returns either basic or gold
|
77
93
|
def route
|
78
|
-
|
94
|
+
originator? ? :gold : :basic
|
79
95
|
end
|
80
96
|
|
81
97
|
# returns the service url based on the security options
|
82
98
|
def service_url
|
83
|
-
|
99
|
+
URI.parse(secure? ? SECURE : INSECURE)
|
100
|
+
end
|
101
|
+
|
102
|
+
private
|
103
|
+
|
104
|
+
def session # :yield: http
|
105
|
+
http = Net::HTTP.new(service_url.host, service_url.port)
|
106
|
+
if secure?
|
107
|
+
http.use_ssl = true
|
108
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
109
|
+
end
|
110
|
+
yield(http)
|
84
111
|
end
|
85
112
|
end
|
86
113
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smspromote
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 5
|
10
|
+
version: 0.0.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Vincent Landgraf
|