sendhub 0.1.10 → 0.1.11
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/README.textile +22 -10
- data/lib/sendhub/client.rb +6 -6
- data/lib/sendhub/http.rb +14 -8
- data/lib/sendhub/plugins/rails3.rb +3 -0
- data/lib/sendhub.rb +2 -0
- metadata +4 -4
data/README.textile
CHANGED
@@ -28,31 +28,43 @@ h2. Rails 2.x Example
|
|
28
28
|
|
29
29
|
config/enviroment.rb
|
30
30
|
|
31
|
-
<pre><code>
|
32
|
-
|
31
|
+
<pre><code>Rails::Initializer.run do |config|
|
32
|
+
...
|
33
|
+
config.gem 'sendhub'
|
34
|
+
require 'sendhub'
|
35
|
+
...
|
36
|
+
end
|
33
37
|
</code></pre>
|
34
38
|
|
35
39
|
config/enviroments/production.rb
|
36
40
|
|
37
|
-
<pre><code
|
41
|
+
<pre><code>...
|
42
|
+
config.action_mailer.delivery_method = :sendhub
|
38
43
|
config.action_mailer.sendhub_settings = {
|
39
44
|
:api_key => "YOUR_API_KEY",
|
40
45
|
:secret_key => "YOUR_SECRET_KEY"
|
41
46
|
}
|
47
|
+
...
|
42
48
|
</code></pre>
|
43
49
|
|
44
50
|
h2. Rails 3.x Example
|
45
51
|
|
46
|
-
|
52
|
+
Gemfile
|
47
53
|
|
48
|
-
<pre><code
|
54
|
+
<pre><code>...
|
55
|
+
gem 'sendhub'
|
56
|
+
...
|
49
57
|
</code></pre>
|
50
58
|
|
51
59
|
config/enviroments/production.rb
|
52
60
|
|
53
|
-
<pre><code>
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
61
|
+
<pre><code>YOUR_APP::Application.configure do
|
62
|
+
...
|
63
|
+
config.action_mailer.delivery_method = :sendhub
|
64
|
+
config.action_mailer.sendhub_settings = {
|
65
|
+
:api_key => "YOUR_API_KEY",
|
66
|
+
:secret_key => "YOUR_SECRET_KEY"
|
67
|
+
}
|
68
|
+
...
|
69
|
+
end
|
58
70
|
</code></pre>
|
data/lib/sendhub/client.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module Sendhub
|
2
2
|
class Client
|
3
3
|
|
4
|
-
VERSION = '0.1.
|
4
|
+
VERSION = '0.1.11'
|
5
5
|
|
6
6
|
def initialize(config=nil)
|
7
7
|
config[:host] ||= 'api.sendhub.net'
|
8
|
-
|
8
|
+
config[:protocol] ||= 'https'
|
9
|
+
@uri = URI.parse(config[:protocol]+'://'+config[:host]+'/')
|
9
10
|
|
10
11
|
@api_key = config[:api_key]
|
11
12
|
@secret_key = config[:secret_key]
|
@@ -15,13 +16,12 @@ module Sendhub
|
|
15
16
|
|
16
17
|
def send_email(options={})
|
17
18
|
res = _post '/emails', nil, options
|
18
|
-
#res.merge!('redirect_url' => @uri.to_s+"merchants/#{@merchant_id}/transactions/#{res['id']}")
|
19
|
-
#res.merge!('secret_token' => securely_hash_data("#{res['id']}-#{res['amount']}"))
|
20
19
|
Sendhub::Response.new(res)
|
21
20
|
end
|
22
21
|
|
23
|
-
def
|
24
|
-
|
22
|
+
def get_email(options={})
|
23
|
+
email_id = options.delete(:id)
|
24
|
+
res = _get('/emails/' + email_id, options)
|
25
25
|
Sendhub::Response.new(res)
|
26
26
|
end
|
27
27
|
|
data/lib/sendhub/http.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module Sendhub
|
2
2
|
class Client
|
3
3
|
private
|
4
|
-
def _get(path)
|
5
|
-
http(Net::HTTP::Get, path)
|
4
|
+
def _get(path, options={})
|
5
|
+
http(Net::HTTP::Get, path, nil, options)
|
6
6
|
end
|
7
7
|
|
8
8
|
def _post(path, body = nil, options={})
|
@@ -20,19 +20,24 @@ module Sendhub
|
|
20
20
|
options.merge!(:unique => Time.now.utc.to_i)
|
21
21
|
options.merge!(:secret => securely_hash_data(options[:unique]))
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
if @uri.scheme == 'https'
|
24
|
+
connection.use_ssl = true
|
25
|
+
connection.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
26
26
|
#connection.ca_file = Configuration.ca_file
|
27
27
|
#connection.verify_callback = proc { |preverify_ok, ssl_context| verify_ssl_certificate(preverify_ok, ssl_context) }
|
28
|
-
|
28
|
+
end
|
29
29
|
connection.start do |http|
|
30
|
-
|
30
|
+
if http_method.inspect == 'Net::HTTP::Get' and !options.empty?
|
31
|
+
puts options.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }.join("&")
|
32
|
+
request = http_method.new("/v1#{path}" + "?" + (options.collect { |k,v| "#{k}=#{CGI::escape(v.to_s)}" }).join("&"))
|
33
|
+
else
|
34
|
+
request = http_method.new("/v1#{path}")
|
35
|
+
end
|
31
36
|
request["Accept"] = "application/xml"
|
32
37
|
request["User-Agent"] = 'SendhubRubyClient/'+Sendhub::Client::VERSION
|
33
38
|
request["Accept-Encoding"] = "gzip"
|
34
39
|
request["X-ApiVersion"] = Sendhub::Client::VERSION
|
35
|
-
request.basic_auth @api_key, @secret_key
|
40
|
+
# request.basic_auth @api_key, @secret_key
|
36
41
|
if body
|
37
42
|
request["Content-Type"] = "application/xml"
|
38
43
|
request.body = body
|
@@ -41,6 +46,7 @@ module Sendhub
|
|
41
46
|
request.set_form_data(options)
|
42
47
|
end
|
43
48
|
response = http.request(request)
|
49
|
+
puts response.body
|
44
50
|
return JSON.parse(response.body)
|
45
51
|
end
|
46
52
|
|
@@ -8,6 +8,7 @@ module Sendhub
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def deliver!(message)
|
11
|
+
|
11
12
|
res = @client.send_email(
|
12
13
|
:from => message.from,
|
13
14
|
:to => message.to,
|
@@ -15,6 +16,8 @@ module Sendhub
|
|
15
16
|
:body => message.body,
|
16
17
|
:content_type => message.content_type
|
17
18
|
)
|
19
|
+
|
20
|
+
puts res.inspect
|
18
21
|
end
|
19
22
|
end
|
20
23
|
end
|
data/lib/sendhub.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendhub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 11
|
10
|
+
version: 0.1.11
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Richard Taylor
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-11-10 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|