isomorfeus-mailer 1.0.0.zeta25 → 2.0.0.rc1

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
  SHA256:
3
- metadata.gz: 89621bbc0bddd9ed1695ae9de75d2655682643e3add41f88d001af1d3206e7d5
4
- data.tar.gz: 2e32701eecb37604630c7450ba201301048089e49d13a1ef300c91ee7484de21
3
+ metadata.gz: 21128a581504bec7af191bcb4dc64562e02f028520d7a203185936360d652cc3
4
+ data.tar.gz: 6a1e4817acc4de5d48ee5e229e4d0ae69f8681b2f3e2e00290085d88b01fa76c
5
5
  SHA512:
6
- metadata.gz: b71966c57c66325048588106bd4502d23b92d4c02efb450d97710931e138243e38a79da9442f85d84eddcfe600c201111bfd6e1a68bca394295be0e8495452f4
7
- data.tar.gz: 6b32b1087a78ff7f345bcc6929493543f0a73142375dde7fce205137a02140266d7324ba5b5645eb68a01d3c1e99ee231d0fa23c1d180ba1eca94dc3e097a2a6
6
+ metadata.gz: 5563e358861dc2bd0d5f03a15721ca9b076df9c8b4007170b965fb738b07919809690c87eb409c049e6305540d5ef0750f2ab5ffeb0604f13be24a552f4a0ef7
7
+ data.tar.gz: 3897d20ba5613439775ded97c19afdb94ae8b0e454bcc1d1bdc96ea9edf64de2f82909d5558b494a7330f962696ded5c89d15d8c962df8278793bc53dd61aeef
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 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,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.zeta25'
4
- end
5
- end
1
+ module Isomorfeus
2
+ module Mailer
3
+ VERSION = '2.0.0.rc1'
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.zeta25
4
+ version: 2.0.0.rc1
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-03-02 00:00:00.000000000 Z
11
+ date: 2021-11-05 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.0
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.0
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.2
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.2
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.8
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.8
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.zeta25
132
- type: :development
145
+ version: 2.0.0.rc1
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.zeta25
152
+ version: 2.0.0.rc1
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.rc1
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.rc1
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: []