apostle 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6dcd90279af99379f9fffe8cfa38fee0d13c8d4a
4
- data.tar.gz: 826f4ef613aefb989dc3bbe7b7dcefd56f529dcf
3
+ metadata.gz: 995067af8c709aa3b75121aa856aba3baf9db504
4
+ data.tar.gz: b79644059d4297bc8ea337fbd15a39bde62da8a8
5
5
  SHA512:
6
- metadata.gz: 943f3847f1295a093c4ce3e9196730720e4e3dcd496643f4d8ad1e9f7fa825961278e3d54b6520c16bb05c08e247af7d1906b819b0c0998d572e19e4377c48cf
7
- data.tar.gz: bd0efc035aadf0d7635260bcb0481b438bc62c3015464ae5280be98d364fafbdf2d8950e0cbcba3e2bd3c72be9194487d46eb6dae64d770834e5820dd09a0d64
6
+ metadata.gz: af6293c384a1d1636fd756fe028ded6210ae13739e1a0b54460241131bfed3b2f96e7667658ff21220e5bfacbcef68fca6adcc33e0bd82aa802addee8cf715aa
7
+ data.tar.gz: e32910718eab05caea0b44d1f3ac68942a56ce4ba93d7e4dc4327e90b10f963a17f04157dc943541ae19071754b009ac031f6f9ed96f9120a3ac79ae688f5101
data/.travis.yml CHANGED
@@ -4,4 +4,4 @@ rvm:
4
4
  - 1.9.3
5
5
  - 1.9.2
6
6
  - jruby-19mode # JRuby in 1.9 mode
7
- - rbx-19mode
7
+ cache: bundler
data/lib/apostle/mail.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'net/http'
2
+ require 'base64'
2
3
  require 'json'
3
4
 
4
5
  module Apostle
@@ -79,6 +80,7 @@ module Apostle
79
80
  "layout_id" => layout_id.to_s,
80
81
  "name" => name.to_s,
81
82
  "reply_to" => reply_to.to_s,
83
+ "attachments" => encoded_attachments,
82
84
  "template_id" => template_id.to_s
83
85
  }.delete_if { |k, v| !v || v == '' }
84
86
  }
@@ -87,5 +89,21 @@ module Apostle
87
89
  def to_json
88
90
  JSON.generate(to_h)
89
91
  end
92
+
93
+ def attachments
94
+ @_attachments ||= {}
95
+ end
96
+
97
+ private
98
+
99
+ def encoded_attachments
100
+ return nil unless @_attachments
101
+ attachments.inject({}) do |h, (name, content)|
102
+ h[name] = Base64.encode64(content)
103
+ h
104
+ end
105
+ end
106
+
107
+
90
108
  end
91
109
  end
@@ -1,3 +1,3 @@
1
1
  module Apostle
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
data/spec/mail_spec.rb CHANGED
@@ -20,6 +20,24 @@ describe Apostle::Mail do
20
20
  end
21
21
  end
22
22
 
23
+ describe "#attachments" do
24
+ it "is an object" do
25
+ mail = Apostle::Mail.new 'test'
26
+ mail.attachments.must_equal({})
27
+ end
28
+
29
+ it "gets encoded" do
30
+ mail = Apostle::Mail.new 'test', email: "123"
31
+ mail.attachments["test.png"] = "test"
32
+
33
+ mail.to_h.must_equal({"123" => {
34
+ "template_id" => "test",
35
+ "attachments" => {"test.png" => Base64.encode64("test")},
36
+ "data" => {}
37
+ }})
38
+ end
39
+ end
40
+
23
41
  describe "#deliver!" do
24
42
  it "delegates to a queue" do
25
43
  end
metadata CHANGED
@@ -1,66 +1,66 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apostle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mal Curtis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-17 00:00:00.000000000 Z
11
+ date: 2014-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: webmock
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- description: ': Send emails via Apostle'
55
+ description: ": Send emails via Apostle"
56
56
  email:
57
57
  - mal@sitepoint.com
58
58
  executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - .gitignore
63
- - .travis.yml
62
+ - ".gitignore"
63
+ - ".travis.yml"
64
64
  - Gemfile
65
65
  - LICENSE
66
66
  - README.md
@@ -82,20 +82,20 @@ require_paths:
82
82
  - lib
83
83
  required_ruby_version: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - '>='
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - '>='
90
+ - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
94
  rubyforge_project:
95
- rubygems_version: 2.0.3
95
+ rubygems_version: 2.2.2
96
96
  signing_key:
97
97
  specification_version: 4
98
- summary: ': Send emails via Apostle'
98
+ summary: ": Send emails via Apostle"
99
99
  test_files:
100
100
  - spec/mail_spec.rb
101
101
  - spec/queue_spec.rb