letter_opener_web_s3 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 +6 -3
- data/letter_opener_web_s3.gemspec +1 -2
- data/lib/letter_opener_web_s3/message_extension.rb +0 -14
- data/lib/letter_opener_web_s3/version.rb +1 -1
- data/lib/letter_opener_web_s3.rb +12 -6
- metadata +5 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da29ab99c2d5074b4aae47528f0945f139eb6a3e
|
|
4
|
+
data.tar.gz: 830d53bb6d680174f115ecdb753cbd818cf3c49e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 36b3dc3272f2a2c5d771854c195e4a712df308b41006151989cf2b1bcd86fa65ebe155f9330feec82d744bd63b308231b8c50e4ff26f5d64874557669c576510
|
|
7
|
+
data.tar.gz: 9fe31c3cb6c741e20a249f7b9407acd6dbd81054b6887dd7ee786f59b0c1a02e8b5257baf25d616e4db31990a66f15661f02b677d300741079f8c502518f5bbf
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# LetterOpenerWebS3
|
|
1
|
+
# LetterOpenerWebS3 for Rails 5 and Rails 4
|
|
2
2
|
|
|
3
3
|
Addon for `letter_opener_web` and `letter_opener` gems to store files on Amazon S3
|
|
4
4
|
|
|
@@ -20,7 +20,7 @@ Or install it yourself as:
|
|
|
20
20
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
|
-
Configure AWS credentials
|
|
23
|
+
Configure AWS credentials
|
|
24
24
|
|
|
25
25
|
```ruby
|
|
26
26
|
LetterOpenerWebS3.configure do |spec|
|
|
@@ -30,10 +30,13 @@ LetterOpenerWebS3.configure do |spec|
|
|
|
30
30
|
access_key_id: AWS_S3_KEY_ID,
|
|
31
31
|
secret_access_key: AWS_S3_ACCESS_KEY
|
|
32
32
|
}
|
|
33
|
-
spec.domain = APP_DOMAIN
|
|
34
33
|
end
|
|
35
34
|
```
|
|
36
35
|
|
|
36
|
+
To support application assets need configure `action_mailer.asset_host`
|
|
37
|
+
|
|
38
|
+
Without configuration, gem works like `letter_opener_web` use local file storage
|
|
39
|
+
|
|
37
40
|
## TODO
|
|
38
41
|
|
|
39
42
|
Need check letters with attachments
|
|
@@ -25,8 +25,7 @@ Gem::Specification.new do |spec|
|
|
|
25
25
|
spec.add_development_dependency "bundler", "~> 1.14"
|
|
26
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
27
27
|
spec.add_development_dependency "rspec-rails", '~> 3.5'
|
|
28
|
-
spec.add_development_dependency "
|
|
29
|
-
spec.add_development_dependency "rails", "~> 4.0"
|
|
28
|
+
spec.add_development_dependency "activesupport", ">= 4.0"
|
|
30
29
|
spec.add_dependency "letter_opener_web", "~> 1.3"
|
|
31
30
|
spec.add_dependency "aws-sdk", "~> 2"
|
|
32
31
|
end
|
|
@@ -32,20 +32,6 @@ module LetterOpenerWebS3::MessageExtension
|
|
|
32
32
|
File.read(File.join(letter_opener_path.gsub('message.rb', ''), 'message.html.erb'))
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
def body
|
|
36
|
-
@body ||= begin
|
|
37
|
-
body = (@part || @mail).decoded
|
|
38
|
-
|
|
39
|
-
mail.attachments.each do |attachment|
|
|
40
|
-
body.gsub!(attachment.url, "attachments/#{attachment.filename}")
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
body.gsub!(/=\"\/assets/, "=\"#{URI::join(LetterOpenerWebS3.domain, 'assets')}") if LetterOpenerWebS3.domain
|
|
44
|
-
|
|
45
|
-
body
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
35
|
private
|
|
50
36
|
|
|
51
37
|
def object(filepath)
|
data/lib/letter_opener_web_s3.rb
CHANGED
|
@@ -8,7 +8,6 @@ require "letter_opener_web_s3/letter_extension"
|
|
|
8
8
|
|
|
9
9
|
module LetterOpenerWebS3
|
|
10
10
|
mattr_accessor :s3_config
|
|
11
|
-
mattr_accessor :domain
|
|
12
11
|
|
|
13
12
|
# @api private
|
|
14
13
|
class S3ConfigError < StandardError; end
|
|
@@ -27,10 +26,20 @@ module LetterOpenerWebS3
|
|
|
27
26
|
# @s3_config [String] bucket_name The name of the bucket where files will be stored
|
|
28
27
|
# @s3_config [String] access_key_id Access key ID
|
|
29
28
|
# @s3_config [String] secret_access_key Secret access key
|
|
30
|
-
# @domain [String] Domain to assets link
|
|
31
29
|
# @see http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/Core/Configuration.html
|
|
32
30
|
# @see http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3.html
|
|
33
31
|
def configure
|
|
32
|
+
extensions = -> do
|
|
33
|
+
LetterOpener::Message.send :include, LetterOpenerWebS3::MessageExtension
|
|
34
|
+
LetterOpenerWeb::Letter.send :include, LetterOpenerWebS3::LetterExtension
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
if ActiveSupport.version.to_s.start_with?('4')
|
|
38
|
+
ActionDispatch::Reloader.to_prepare { extensions.call }
|
|
39
|
+
else
|
|
40
|
+
ActiveSupport::Reloader.to_prepare { extensions.call }
|
|
41
|
+
end
|
|
42
|
+
|
|
34
43
|
yield self
|
|
35
44
|
end
|
|
36
45
|
|
|
@@ -48,7 +57,4 @@ module LetterOpenerWebS3
|
|
|
48
57
|
|
|
49
58
|
end
|
|
50
59
|
|
|
51
|
-
|
|
52
|
-
LetterOpener::Message.send :include, LetterOpenerWebS3::MessageExtension
|
|
53
|
-
LetterOpenerWeb::Letter.send :include, LetterOpenerWebS3::LetterExtension
|
|
54
|
-
end
|
|
60
|
+
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: letter_opener_web_s3
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vital Ryabchinskiy
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-04-
|
|
11
|
+
date: 2017-04-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -53,31 +53,17 @@ dependencies:
|
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '3.5'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
56
|
+
name: activesupport
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- - "
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '1.3'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '1.3'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rails
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - "~>"
|
|
59
|
+
- - ">="
|
|
74
60
|
- !ruby/object:Gem::Version
|
|
75
61
|
version: '4.0'
|
|
76
62
|
type: :development
|
|
77
63
|
prerelease: false
|
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
65
|
requirements:
|
|
80
|
-
- - "
|
|
66
|
+
- - ">="
|
|
81
67
|
- !ruby/object:Gem::Version
|
|
82
68
|
version: '4.0'
|
|
83
69
|
- !ruby/object:Gem::Dependency
|