mime_builder 0.0.2 → 0.0.3

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: 1e8c66cc9be954dfe63a9f841f57ef99dd8beb5c
4
- data.tar.gz: 4507ce85c36fff99737abbc386e2b9571b5e068c
3
+ metadata.gz: 4433b3e98a0fa4631cc3a6b2193a2c5e26687a20
4
+ data.tar.gz: 79d171be6bbf4bf3c4350230a2360d5692fb5371
5
5
  SHA512:
6
- metadata.gz: 76916c33698592a13092c35ed30dd62894c61b0acb24ae3516f13beb250446b6ba0919f7dadd4ff1b71926be3fe52f5a1bc1ad46f55f6715b76ca04c06846039
7
- data.tar.gz: 3cc0cff3eb0789ca6d0013fd4faab341a1b0f4008d490d408d2e98a95ca636143d214b04df16447f830aec811ff3adf1a3a7fc7764adc3afdda85b6331a0c01f
6
+ metadata.gz: f4e135cd2153477e464ee05b307c7b728938b3a6cff006904d5d77437d5ba2d385ca682a6245268cff521beeef244c3b0593fd83204dbd9b167a93d8e2cea069
7
+ data.tar.gz: 7bee0cfe96986ef80484be8bbb552c537ead6aedeb6018b12bd96bad6ce1d773d15493675154a794acafaa688ba74f3c491fa3016858b798bdf0a05a203c57a2
data/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
1
  CHANGELOG
2
2
  ---------
3
+ - **2015-05-30**: 0.0.3
4
+ - Add Text support for arbitrary content types
5
+ - Add Text support for content disposition
6
+ - **2016-01-25**: 0.0.2
7
+ - Improve docs
8
+ - Add tests
3
9
  - **2016-01-23**: 0.0.1
4
- - Initial release
10
+ - Initial release
11
+ - Add MIME part builder for files given a filepath
12
+ - Add MIME part builder for text given a string
data/README.md CHANGED
@@ -19,7 +19,7 @@ This library creates `mime` parts from limited information.
19
19
 
20
20
  ### Via Bundler
21
21
 
22
- Add 'mime_builder' to Gemfile and then run `bundle`:
22
+ Add `mime_builder` to Gemfile and then run `bundle`:
23
23
 
24
24
  ```sh
25
25
  $ echo "gem 'mime_builder'" >> Gemfile
@@ -56,12 +56,10 @@ Options:
56
56
  ```ruby
57
57
  builder = MIMEBuilder::Filepath(
58
58
  '/path/to/file',
59
- {
60
- :base64_encode => true, # base64 encode part
61
- :content_id_disable => true, # remove auto-generated Content-Id header
62
- :content_type => 'text/plain', # override auto-generated Content-Type
63
- :is_attachment => true # add 'attachment' disposition
64
- }
59
+ base64_encode: true, # base64 encode part
60
+ content_id_disable: true, # remove auto-generated Content-Id header
61
+ content_type: 'text/plain', # override auto-generated Content-Type
62
+ is_attachment: true # add 'attachment' disposition
65
63
  )
66
64
  ```
67
65
 
@@ -81,13 +79,23 @@ mime_part = builder.mime
81
79
  Options:
82
80
 
83
81
  ```ruby
84
- builder = MIMEBuilder::Text.new 'Hi there!', :content_id_disable => true
82
+ builder = MIMEBuilder::Text(
83
+ 'Hi there!',
84
+ content_id_disable: true, # remove auto-generated Content-Id header
85
+ content_type: 'text/html' # override auto-generated Content-Type
86
+ )
85
87
  ```
86
88
 
87
89
  ## Change Log
88
90
 
89
91
  See [CHANGELOG.md](CHANGELOG.md)
90
92
 
93
+ ## Links
94
+
95
+ Project Repo
96
+
97
+ * https://github.com/grokify/mime-builder-ruby
98
+
91
99
  ## Contributions
92
100
 
93
101
  Any reports of problems, comments or suggestions are most welcome.
@@ -7,9 +7,35 @@ module MIMEBuilder
7
7
 
8
8
  def initialize(text, opts = {})
9
9
  @text = text
10
- @mime = MIME::Text.new(text, 'plain')
10
+
11
+ if opts.key?(:content_type) && opts[:content_type].to_s.length>0
12
+ content_type = opts[:content_type]
13
+ if content_type =~ /^text\/([^\/]+)$/i
14
+ @mime = MIME::Text.new(text, $1.downcase)
15
+ else
16
+ raise "Unknown Content Type: " + opts[:content_type].to_s
17
+ end
18
+ else
19
+ @mime = MIME::Text.new(text, 'plain')
20
+ end
21
+
11
22
  @mime.headers.delete('Content-Id') \
12
23
  if opts.key?(:content_id_disable) && opts[:content_id_disable]
24
+
25
+ set_attachment_content_disposition(opts[:filename], opts[:is_attachment])
26
+ end
27
+
28
+ def set_attachment_content_disposition(filename, is_attachment)
29
+ @mime.headers.set(
30
+ 'Content-Disposition',
31
+ get_attachment_content_disposition(filename)
32
+ ) if is_attachment
33
+ end
34
+
35
+ def get_attachment_content_disposition(filename = nil)
36
+ cd = filename.to_s.length > 0 \
37
+ ? "attachment; filename=\"#{filename}\"" \
38
+ : 'attachment'
13
39
  end
14
40
  end
15
41
  end
data/lib/mime_builder.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module MIMEBuilder
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
 
4
4
  autoload :Filepath, 'mime_builder/file'
5
5
  autoload :Text, 'mime_builder/text'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mime_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Wang
@@ -14,28 +14,28 @@ dependencies:
14
14
  name: mime
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: :runtime
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: mime-types
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.25'
34
34
  type: :runtime
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: '1.25'
41
41
  description: Helper library to build MIME parts
@@ -44,15 +44,15 @@ executables: []
44
44
  extensions: []
45
45
  extra_rdoc_files: []
46
46
  files:
47
- - lib/mime_builder/file.rb
48
- - lib/mime_builder/text.rb
49
- - lib/mime_builder.rb
50
47
  - CHANGELOG.md
51
48
  - Gemfile
52
49
  - Gemfile.lock
53
50
  - LICENSE.txt
54
- - Rakefile
55
51
  - README.md
52
+ - Rakefile
53
+ - lib/mime_builder.rb
54
+ - lib/mime_builder/file.rb
55
+ - lib/mime_builder/text.rb
56
56
  - test/test_base.rb
57
57
  - test/test_file.pdf
58
58
  - test/test_file.rb
@@ -67,17 +67,17 @@ require_paths:
67
67
  - lib
68
68
  required_ruby_version: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - '>='
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  requirements:
75
- - - '>='
75
+ - - ">="
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  requirements: []
79
79
  rubyforge_project:
80
- rubygems_version: 2.1.5
80
+ rubygems_version: 2.5.1
81
81
  signing_key:
82
82
  specification_version: 4
83
83
  summary: MIME Builder is a helper to build MIME parts