isomorfeus-mailer 1.0.0.zeta24 → 2.0.0.rc3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5979f41dac7f4ce53ee77ea269685ddfacaa946cd652567200e148d12cd13acd
4
- data.tar.gz: 429147109401f1c28140fb1fb66a8a265a600aef3c96d68b370198b57cbdac97
3
+ metadata.gz: 713145c865204dcc55ce9764805870e5c118ede00ff27390e897c0a0d56961db
4
+ data.tar.gz: 38c8de1a7466b8889526f9632a20f5c66a26656eac40589a3705c47a7b18f28a
5
5
  SHA512:
6
- metadata.gz: 707d15bd37719398444a5e19d208cff78fb06274e0c212fc970484eab24f51e826e137139f1b2329a57357dc77c13a5e11d952404ca6f1eed17f8afa1a4d63d4
7
- data.tar.gz: 8a7084557969f37e086d9f5f8d096587608b9f74ec436fd492266e35d708f487c5194d4c56a9600bd1588fc4a10f9899493f019746ea6a7835d7a4c93593875c
6
+ metadata.gz: 87c2628b07e3737e331de6ae500d2194664d7705ea53fd4087acd53c714bdbfccef75510d092d25885d4b2c44e45d5cb4837f65c519e5c51694db157eb2ccf10
7
+ data.tar.gz: ebfed713d47b12b18ced576777a54dd9d45348db95a90d114e02941da7479839df827717ec8612b5831cd72f452cb1cbb3e0ff89c42dd5b2c837bb010e878247
data/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2018-2019 Jan Biedermann
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2018-2019 Jan Biedermann
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -1,93 +1,93 @@
1
- # isomorfeus-mailer
2
-
3
- Build mails with components and send them with [Mailhandler](https://github.com/wildbit/mailhandler#email-sending).
4
-
5
- ### Community and Support
6
- At the [Isomorfeus Framework Project](http://isomorfeus.com)
7
-
8
- ### Configuration
9
-
10
- Configuration options can be set as hash passed to:
11
- ```ruby
12
- Isomorfeus.email_sender_config = { type: :smtp }
13
- ```
14
- All configuration options of Mailhandler can be passed in the hash. For Mailhandler option see
15
- [Email sending](https://github.com/wildbit/mailhandler#email-sending) section of the Mailhandler docs.
16
-
17
- ### Usage
18
-
19
- #### Mail Components
20
- Within a isomorfeus project components for building emails are the app/mail_components directory.
21
- When using LucidComponent or LucidMaterial::Component the main component passed to the mail must be either a LucidApp or LucidMaterial::App component.
22
- Each mail template build of components can be considered a tiny App.
23
-
24
- Mail components are rendered using the React static renderer, so the React rules for static rendering apply.
25
-
26
- Inline styles work in Mail Components too.
27
-
28
- Example component:
29
- ```ruby
30
- class EmailComponent < LucidApp::Base
31
- # the toplevel component must be a App component
32
- # then oder LucidComponent's can be used in the render block
33
-
34
- prop :name
35
-
36
- render do
37
- DIV "Welcome #{props.name}!"
38
- end
39
- end
40
- ```
41
-
42
- #### Sending Mail
43
-
44
- One class is provided to actually build and send the mail: LucidMail. This class is only available on the server.
45
-
46
- Sending mail with the rendered component:
47
- ```ruby
48
- mail = LucidMail.new(component: 'EmailComponent',
49
- props: { name: 'Siegfried' }, # are passed to the component
50
- from: 'me@test.com',
51
- to: 'you@test.com',
52
- subject: 'Welcome')
53
- mail.send
54
- ```
55
- #### Inspecting the rendered component
56
-
57
- The generated HTML is accessible after building the mail using:
58
- ```ruby
59
- mail.build
60
- html = mail.rendered_component
61
- ```
62
-
63
- #### Accessing the mail before sending
64
-
65
- It is possible to access the actual mail object after building it for further inspection or modification:
66
- ```ruby
67
- mail.build
68
- mail_object = mail.mail
69
- ```
70
- For documentation about the Mail Object see the [Mail Documentation](https://github.com/mikel/mail).
71
-
72
- #### Triggering mail from a client
73
- LucidMail is available only on the server. It can be wrapped in a operation to allow triggering the sending of mail from a client. Example:
74
- ```ruby
75
- class MailOp < LucidQuickOp::Base
76
- op do
77
- LucidMail.new(component: 'EmailComponent',
78
- from: 'me@test.com',
79
- to: current_user.email,
80
- subject: 'Welcome')
81
- end
82
- end
83
- ```
84
- Make sure policy allows running the operation:
85
- ```ruby
86
- class MyUserPolicy
87
- allow MailOp, :promise_run
88
- end
89
- ```
90
- Then on a client mail can be triggered:
91
- ```ruby
92
- MailOp.promise_run
93
- ```
1
+ # isomorfeus-mailer
2
+
3
+ Build mails with components and send them with [Mailhandler](https://github.com/wildbit/mailhandler#email-sending).
4
+
5
+ ### Community and Support
6
+ At the [Isomorfeus Framework Project](http://isomorfeus.com)
7
+
8
+ ### Configuration
9
+
10
+ Configuration options can be set as hash passed to:
11
+ ```ruby
12
+ Isomorfeus.email_sender_config = { type: :smtp }
13
+ ```
14
+ All configuration options of Mailhandler can be passed in the hash. For Mailhandler option see
15
+ [Email sending](https://github.com/wildbit/mailhandler#email-sending) section of the Mailhandler docs.
16
+
17
+ ### Usage
18
+
19
+ #### Mail Components
20
+ Within a isomorfeus project components for building emails are the app/mail_components directory.
21
+ When using LucidComponent or LucidMaterial::Component the main component passed to the mail must be either a LucidApp or LucidMaterial::App component.
22
+ Each mail template build of components can be considered a tiny App.
23
+
24
+ Mail components are rendered using the Preact static renderer, so the Preact rules for static rendering apply.
25
+
26
+ Inline styles work in Mail Components too.
27
+
28
+ Example component:
29
+ ```ruby
30
+ class EmailComponent < LucidApp::Base
31
+ # the top level component must be a App component
32
+ # then other LucidComponent's can be used in the render block
33
+
34
+ prop :name
35
+
36
+ render do
37
+ DIV "Welcome #{props.name}!"
38
+ end
39
+ end
40
+ ```
41
+
42
+ #### Sending Mail
43
+
44
+ One class is provided to actually build and send the mail: LucidMail. This class is only available on the server to prevent abuse.
45
+
46
+ Sending mail with the rendered component from the server:
47
+ ```ruby
48
+ mail = LucidMail.new(component: 'EmailComponent',
49
+ props: { name: 'Siegfried' }, # are passed to the component
50
+ from: 'me@test.com',
51
+ to: 'you@test.com',
52
+ subject: 'Welcome')
53
+ mail.send
54
+ ```
55
+ #### Inspecting the rendered component
56
+
57
+ The generated HTML is accessible after building the mail using:
58
+ ```ruby
59
+ mail.build
60
+ html = mail.rendered_component
61
+ ```
62
+
63
+ #### Accessing the mail before sending
64
+
65
+ It is possible to access the actual mail object after building it for further inspection or modification:
66
+ ```ruby
67
+ mail.build
68
+ mail_object = mail.mail
69
+ ```
70
+ For documentation about the Mail Object see the [Mail Documentation](https://github.com/mikel/mail).
71
+
72
+ #### Triggering mail from a client
73
+ LucidMail is available only on the server to prevent abuse. It can be wrapped in a operation to allow triggering the sending of mail from a client. Example:
74
+ ```ruby
75
+ class MailOp < LucidQuickOp::Base
76
+ op do
77
+ LucidMail.new(component: 'EmailComponent',
78
+ from: 'me@test.com',
79
+ to: current_user.email,
80
+ subject: 'Welcome')
81
+ end
82
+ end
83
+ ```
84
+ Make sure policy allows running the operation:
85
+ ```ruby
86
+ class MyUserPolicy
87
+ allow MailOp, :promise_run
88
+ end
89
+ ```
90
+ Then on a client mail can be triggered:
91
+ ```ruby
92
+ MailOp.promise_run
93
+ ```
@@ -1,23 +1,25 @@
1
- module Isomorfeus
2
- # available settings
3
- class << self
4
- if RUBY_ENGINE != 'opal'
5
- def email_sender_config
6
- @email_sender_config ||= { type: :smtp }
7
- end
8
-
9
- def email_sender_config=(new_config)
10
- Isomorfeus.raise_error(message: "email_sender_config must at least include a :type!") unless new_config.key?(:type)
11
- @email_sender_config = new_config
12
- end
13
-
14
- def email_sender
15
- @email_sender ||= MailHandler.sender(Isomorfeus.email_sender_config[:type]) do |dispatcher|
16
- Isomorfeus.email_sender_config.each do |key, value|
17
- dispatcher.__send__("#{key}=".to_sym, value) unless key == :type
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
1
+ module Isomorfeus
2
+ # available settings
3
+ class << self
4
+ if RUBY_ENGINE != 'opal'
5
+ def email_sender_config
6
+ @email_sender_config ||= { type: :smtp }
7
+ end
8
+
9
+ def email_sender_config=(new_config)
10
+ Isomorfeus.raise_error(message: "email_sender_config must at least include a :type!") unless new_config.key?(:type)
11
+ @email_sender_config = new_config
12
+ end
13
+
14
+ def email_sender
15
+ @email_sender ||= MailHandler.sender(Isomorfeus.email_sender_config[:type]) do |dispatcher|
16
+ Isomorfeus.email_sender_config.each do |key, value|
17
+ dispatcher.__send__("#{key}=".to_sym, value) unless key == :type
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ self.assets['mail.js'] = Isomorfeus::AssetManager::Asset.new(:node)
25
+ end
@@ -0,0 +1,18 @@
1
+ module Isomorfeus
2
+ module Mailer
3
+ module Imports
4
+ def self.add
5
+ Isomorfeus.assets['mail.js'].add_js_import('redux', 'Redux', '*')
6
+ Isomorfeus.assets['mail.js'].add_js_import('preact', 'Preact', '*')
7
+ Isomorfeus.assets['mail.js'].add_js_import('preact/hooks', 'PreactHooks', '*')
8
+ Isomorfeus.assets['mail.js'].add_js_import('wouter-preact', nil, ['Router', 'Link', 'Redirect', 'Route', 'Switch'])
9
+ Isomorfeus.assets['mail.js'].add_js_import('preact-render-to-string', 'Preact', ['render'], nil, 'renderToString')
10
+ Isomorfeus.assets['mail.js'].add_js_import('wouter-preact/static-location', 'staticLocationHook')
11
+ Isomorfeus.assets['mail.js'].add_js_import('ws', 'WebSocket')
12
+ if Dir.exist?(Isomorfeus.app_root)
13
+ Isomorfeus.assets['mail.js'].add_ruby_import('mail_loader') if File.exist?(File.join(Isomorfeus.app_root, 'mail_loader.rb'))
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,5 +1,5 @@
1
- module Isomorfeus
2
- module Mailer
3
- VERSION = '1.0.0.zeta24'
4
- end
5
- end
1
+ module Isomorfeus
2
+ module Mailer
3
+ VERSION = '2.0.0.rc3'
4
+ end
5
+ end
@@ -1,5 +1,12 @@
1
- require 'html2text'
2
- require 'mailhandler'
3
- require 'isomorfeus-react'
4
- require 'isomorfeus/mailer/config'
5
- require 'lucid_mail'
1
+ require 'html2text'
2
+ require 'mailhandler'
3
+ require 'isomorfeus-asset-manager'
4
+ require 'isomorfeus-redux'
5
+ require 'isomorfeus-preact'
6
+ require 'isomorfeus-transport'
7
+ require 'isomorfeus/mailer/config'
8
+ require 'isomorfeus/mailer/imports'
9
+
10
+ Isomorfeus::Mailer::Imports.add
11
+
12
+ require 'lucid_mail'
data/lib/lucid_mail.rb CHANGED
@@ -1,57 +1,65 @@
1
- class LucidMail
2
- include Isomorfeus::ReactViewHelper
3
- extend LucidPropDeclaration::Mixin
4
-
5
- prop :from, class: String, required: true
6
- prop :reply_to, class: String, required: false
7
- prop :to, class: String, required: true
8
- prop :subject, class: String, required: true
9
- prop :component, class: String, required: true
10
- prop :props
11
-
12
- attr_reader :mail
13
- attr_reader :props
14
- attr_reader :rendered_component
15
-
16
- def initialize(**props)
17
- self.class.validate_props(props)
18
- @props = LucidProps.new(props)
19
- @mail = nil
20
- @rendered_component = nil
21
- end
22
-
23
- def render_component
24
- rendered_tree = mount_static_component(props.component, props.props, 'mail_components.js')
25
- @rendered_component = <<~HTML
26
- <!DOCTYPE html>
27
- <html><head><style type="text/css">#{ssr_styles}</style></head><body>#{rendered_tree}</body></html>
28
- HTML
29
- self
30
- end
31
-
32
- def build
33
- render_component unless rendered_component
34
- html_body = rendered_component
35
- text_body = Html2Text.convert(rendered_component)
36
- @mail = Mail.new
37
- @mail.to(props.to)
38
- @mail.from(props.from)
39
- @mail.subject(props.subject)
40
- @mail.reply_to(props.reply_to) if props.key?(:reply_to)
41
- @mail.text_part do
42
- content_type 'text/plain; charset=UTF-8'
43
- body text_body
44
- end
45
- @mail.html_part do
46
- content_transfer_encoding 'binary'
47
- content_type 'text/html; charset=UTF-8'
48
- body html_body
49
- end
50
- self
51
- end
52
-
53
- def send
54
- build unless mail
55
- Isomorfeus.email_sender.send_email(mail)
56
- end
57
- end
1
+ class LucidMail
2
+ include Isomorfeus::PreactViewHelper
3
+ extend LucidPropDeclaration::Mixin
4
+
5
+ prop :from, class: String, required: true
6
+ prop :reply_to, class: String, required: false, allow_nil: true
7
+ prop :to, class: String, required: true
8
+ prop :subject, class: String, required: true
9
+ prop :component, class: String, required: true
10
+ prop :asset, class: String, default: 'mail.js'
11
+ prop :props
12
+
13
+ attr_reader :mail
14
+ attr_reader :props
15
+ attr_reader :rendered_component
16
+
17
+ def initialize(**props)
18
+ @props = LucidProps.new(self.class.validated_props(props))
19
+ @mail = nil
20
+ @rendered_component = nil
21
+ @loc_h = if self.class.const_defined?('::Isomorfeus::Puppetmaster')
22
+ "#{::Isomorfeus::Puppetmaster.served_app.host}:#{::Isomorfeus::Puppetmaster.served_app.port}"
23
+ elsif self.class.const_defined?('::Iodine')
24
+ "#{::Iodine::DEFAULT_SETTINGS[:address]}:#{::Iodine::DEFAULT_SETTINGS[:port]}"
25
+ else
26
+ 'localhost:3000'
27
+ end
28
+ end
29
+
30
+ def render_component
31
+ component_props = { location_host: @loc_h }.merge(props.props)
32
+ rendered_tree = mount_component(props.component, component_props, props.asset, use_ssr: true)
33
+ @rendered_component = <<~HTML
34
+ <!DOCTYPE html>
35
+ <html><head><style type="text/css">#{ssr_styles}</style></head><body>#{rendered_tree}</body></html>
36
+ HTML
37
+ self
38
+ end
39
+
40
+ def build
41
+ render_component unless rendered_component
42
+ html_body = rendered_component
43
+ text_body = Html2Text.convert(rendered_component)
44
+ @mail = Mail.new
45
+ @mail.to(props.to)
46
+ @mail.from(props.from)
47
+ @mail.subject(props.subject)
48
+ @mail.reply_to(props.reply_to) if props.key?(:reply_to)
49
+ @mail.text_part do
50
+ content_type 'text/plain; charset=UTF-8'
51
+ body text_body
52
+ end
53
+ @mail.html_part do
54
+ content_transfer_encoding 'binary'
55
+ content_type 'text/html; charset=UTF-8'
56
+ body html_body
57
+ end
58
+ self
59
+ end
60
+
61
+ def send
62
+ build unless mail
63
+ Isomorfeus.email_sender.send_email(mail)
64
+ end
65
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.zeta24
4
+ version: 2.0.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-28 00:00:00.000000000 Z
11
+ date: 2021-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: '6.1'
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
- version: '6.0'
26
+ version: '6.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: html2text
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.3.1
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
- version: '0'
40
+ version: 0.3.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mailhandler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 1.0.59
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.0.59
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: oj
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 3.10.0
61
+ version: 3.13.9
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 3.10.0
68
+ version: 3.13.9
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: opal
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.0.0
75
+ version: 1.3.2
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.0.0
82
+ version: 1.3.2
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: opal-activesupport
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -95,61 +95,75 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.3.3
97
97
  - !ruby/object:Gem::Dependency
98
- name: isomorfeus-react
98
+ name: isomorfeus-asset-manager
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 16.13.0
103
+ version: 0.13.8
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 16.13.0
110
+ version: 0.13.8
111
+ - !ruby/object:Gem::Dependency
112
+ name: isomorfeus-preact
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 10.5.11
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 10.5.11
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: isomorfeus-redux
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: 4.0.22
131
+ version: 4.1.9
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 4.0.22
138
+ version: 4.1.9
125
139
  - !ruby/object:Gem::Dependency
126
- name: isomorfeus
140
+ name: isomorfeus-transport
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - '='
130
144
  - !ruby/object:Gem::Version
131
- version: 1.0.0.zeta24
132
- type: :development
145
+ version: 2.0.0.rc3
146
+ type: :runtime
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - '='
137
151
  - !ruby/object:Gem::Version
138
- version: 1.0.0.zeta24
152
+ version: 2.0.0.rc3
139
153
  - !ruby/object:Gem::Dependency
140
- name: opal-webpack-loader
154
+ name: isomorfeus
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - ">="
157
+ - - '='
144
158
  - !ruby/object:Gem::Version
145
- version: 0.9.10
159
+ version: 2.0.0.rc3
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - ">="
164
+ - - '='
151
165
  - !ruby/object:Gem::Version
152
- version: 0.9.10
166
+ version: 2.0.0.rc3
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: rake
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -188,6 +202,7 @@ files:
188
202
  - README.md
189
203
  - lib/isomorfeus-mailer.rb
190
204
  - lib/isomorfeus/mailer/config.rb
205
+ - lib/isomorfeus/mailer/imports.rb
191
206
  - lib/isomorfeus/mailer/version.rb
192
207
  - lib/lucid_mail.rb
193
208
  homepage: http://isomorfeus.com
@@ -195,7 +210,7 @@ licenses:
195
210
  - MIT
196
211
  metadata:
197
212
  github_repo: ssh://github.com/isomorfeus/gems
198
- post_install_message:
213
+ post_install_message:
199
214
  rdoc_options: []
200
215
  require_paths:
201
216
  - lib
@@ -210,8 +225,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
225
  - !ruby/object:Gem::Version
211
226
  version: 1.3.1
212
227
  requirements: []
213
- rubygems_version: 3.0.6
214
- signing_key:
228
+ rubygems_version: 3.2.22
229
+ signing_key:
215
230
  specification_version: 4
216
231
  summary: Write mail template components and send mail.
217
232
  test_files: []