sexxy-emails 0.0.3 → 0.0.5
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.
- data/lib/sexxy_emails.rb +11 -5
- data/lib/sexxy_emails/action_mailer.rb +1 -1
- data/lib/sexxy_emails/css.rb +3 -2
- data/lib/sexxy_emails/padrino_mailer.rb +1 -1
- data/lib/sexxy_emails/railtie.rb +20 -0
- data/test/example_rails_app/config/application.rb +4 -4
- data/test/example_rails_app/config/environments/development.rb +2 -2
- data/test/example_rails_app/config/initializers/wrap_parameters.rb +3 -3
- data/test/test_helper.rb +1 -1
- metadata +85 -136
data/lib/sexxy_emails.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
+
require 'sexxy_emails/railtie' if defined?(Rails)
|
2
|
+
|
1
3
|
module SexxyEmails
|
2
4
|
|
3
5
|
require File.expand_path('../sexxy_emails/css', __FILE__)
|
4
6
|
|
5
|
-
VERSION = '0.0.
|
7
|
+
VERSION = '0.0.5'.freeze
|
6
8
|
|
7
9
|
class << self
|
8
10
|
def public_folder
|
9
|
-
if apps = Padrino::Application.descendants
|
11
|
+
if defined?(::Padrino::Application) && apps = Padrino::Application.descendants
|
10
12
|
apps.first.public_folder
|
11
13
|
elsif defined?(Rails)
|
12
14
|
Rails.public_path
|
@@ -14,12 +16,12 @@ module SexxyEmails
|
|
14
16
|
end
|
15
17
|
|
16
18
|
def included(base)
|
17
|
-
if base < Padrino::Application
|
19
|
+
if defined?(::Padrino::Application) && base < ::Padrino::Application
|
18
20
|
require File.expand_path('../sexxy_emails/padrino_mailer', __FILE__)
|
19
21
|
Mail::Message.send(:include, PadrinoMailer::MailerHelper)
|
20
22
|
Mail::Message.send(:include, PadrinoMailer::MailerMethods)
|
21
|
-
elsif base < ActionMailer::Base
|
22
|
-
|
23
|
+
elsif defined?(::ActionMailer::Base) && base < ::ActionMailer::Base
|
24
|
+
setup_action_mailer(base)
|
23
25
|
base.send(:include, ActionMailer::MailerMethods)
|
24
26
|
base.instance_eval do
|
25
27
|
helper SexxyEmails::ActionMailer::MailerHelper
|
@@ -28,5 +30,9 @@ module SexxyEmails
|
|
28
30
|
end
|
29
31
|
# For Padrino
|
30
32
|
alias :registered :included
|
33
|
+
|
34
|
+
def setup_action_mailer(base)
|
35
|
+
require File.expand_path('../sexxy_emails/action_mailer', __FILE__)
|
36
|
+
end
|
31
37
|
end
|
32
38
|
end
|
@@ -8,7 +8,7 @@ module SexxyEmails::ActionMailer
|
|
8
8
|
|
9
9
|
module MailerHelper
|
10
10
|
def stylesheet_include_tag(css)
|
11
|
-
path = css.match(/\.css/) ?
|
11
|
+
path = css.match(/\.css/) ? css : "#{css}.css"
|
12
12
|
content_tag(:style) do
|
13
13
|
File.open(File.join(SexxyEmails.public_folder, 'stylesheets', path)).read
|
14
14
|
end
|
data/lib/sexxy_emails/css.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require 'css_parser'
|
3
|
+
require 'css_parser/rule_set'
|
3
4
|
|
4
5
|
module SexxyEmails::Css
|
5
6
|
include CssParser
|
@@ -31,8 +32,8 @@ module SexxyEmails::Css
|
|
31
32
|
declaration
|
32
33
|
else
|
33
34
|
CssParser.merge(
|
34
|
-
RuleSet.new(nil, declaration),
|
35
|
-
RuleSet.new(nil, node['style'])).declarations_to_s
|
35
|
+
CssParser::RuleSet.new(nil, declaration),
|
36
|
+
CssParser::RuleSet.new(nil, node['style'])).declarations_to_s
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
@@ -8,7 +8,7 @@ module SexxyEmails::PadrinoMailer
|
|
8
8
|
|
9
9
|
module MailerHelper
|
10
10
|
def stylesheet_include_tag(css)
|
11
|
-
path = css.match(/\.css/) ?
|
11
|
+
path = css.match(/\.css/) ? css : "#{css}.css"
|
12
12
|
style = "<style>"
|
13
13
|
style << File.open(File.join(SexxyEmails.public_folder, 'stylesheets', path)).read
|
14
14
|
style << "</style>"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rails/railtie'
|
2
|
+
|
3
|
+
module SexxyEmails
|
4
|
+
class Railtie < Rails::Railtie
|
5
|
+
|
6
|
+
# config.after_initialize do |app|
|
7
|
+
# app.config.paths.add 'app/paths', eager_load: true
|
8
|
+
|
9
|
+
# if Rails.env.test?
|
10
|
+
# # Require test gems.
|
11
|
+
# end
|
12
|
+
# end
|
13
|
+
|
14
|
+
initializer "sexxy_emails.setup_action_mailer" do |app|
|
15
|
+
ActiveSupport.on_load :action_mailer do
|
16
|
+
SexxyEmails.setup_action_mailer self
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -4,9 +4,9 @@ require 'rails/all'
|
|
4
4
|
|
5
5
|
if defined?(Bundler)
|
6
6
|
# If you precompile assets before deploying to production, use this line
|
7
|
-
Bundler.require(*Rails.groups(:assets => %w(development test)))
|
7
|
+
# Bundler.require(*Rails.groups(:assets => %w(development test)))
|
8
8
|
# If you want your assets lazily compiled in production, use this line
|
9
|
-
|
9
|
+
Bundler.require(:default, Rails.env)
|
10
10
|
end
|
11
11
|
|
12
12
|
module ExampleApp
|
@@ -59,9 +59,9 @@ module ExampleApp
|
|
59
59
|
config.active_record.whitelist_attributes = true
|
60
60
|
|
61
61
|
# Enable the asset pipeline
|
62
|
-
config.assets.enabled = true
|
62
|
+
# config.assets.enabled = true
|
63
63
|
|
64
64
|
# Version of your assets, change this if you want to expire all your assets
|
65
|
-
config.assets.version = '1.0'
|
65
|
+
# config.assets.version = '1.0'
|
66
66
|
end
|
67
67
|
end
|
@@ -30,8 +30,8 @@ ExampleApp::Application.configure do
|
|
30
30
|
config.active_record.auto_explain_threshold_in_seconds = 0.5
|
31
31
|
|
32
32
|
# Do not compress assets
|
33
|
-
config.assets.compress = false
|
33
|
+
# config.assets.compress = false
|
34
34
|
|
35
35
|
# Expands the lines which load the assets
|
36
|
-
config.assets.debug = true
|
36
|
+
# config.assets.debug = true
|
37
37
|
end
|
@@ -4,9 +4,9 @@
|
|
4
4
|
# is enabled by default.
|
5
5
|
|
6
6
|
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
|
-
ActiveSupport.on_load(:action_controller) do
|
8
|
-
|
9
|
-
end
|
7
|
+
# ActiveSupport.on_load(:action_controller) do
|
8
|
+
# wrap_parameters :format => [:json]
|
9
|
+
# end
|
10
10
|
|
11
11
|
# Disable root element in JSON by default.
|
12
12
|
ActiveSupport.on_load(:active_record) do
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,150 +1,108 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sexxy-emails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 3
|
10
|
-
version: 0.0.3
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Craig McNamara
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-11-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: css_parser
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: nokogiri
|
37
23
|
prerelease: false
|
38
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
25
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
type: :runtime
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: rdoc
|
51
|
-
prerelease: false
|
52
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: nokogiri
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
53
33
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
61
38
|
type: :runtime
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: rails
|
65
39
|
prerelease: false
|
66
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rdoc
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
67
49
|
none: false
|
68
|
-
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
segments:
|
73
|
-
- 3
|
74
|
-
- 0
|
75
|
-
- 0
|
76
|
-
version: 3.0.0
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
77
54
|
type: :development
|
78
|
-
version_requirements: *id004
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
name: padrino
|
81
55
|
prerelease: false
|
82
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
57
|
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
88
|
-
|
89
|
-
- 0
|
90
|
-
version: "0"
|
91
|
-
type: :development
|
92
|
-
version_requirements: *id005
|
93
|
-
- !ruby/object:Gem::Dependency
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
94
63
|
name: rake
|
95
|
-
|
96
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
97
65
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
|
102
|
-
segments:
|
103
|
-
- 0
|
104
|
-
version: "0"
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
105
70
|
type: :development
|
106
|
-
version_requirements: *id006
|
107
|
-
- !ruby/object:Gem::Dependency
|
108
|
-
name: minitest
|
109
71
|
prerelease: false
|
110
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
111
73
|
none: false
|
112
|
-
requirements:
|
113
|
-
- -
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: minitest
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
119
86
|
type: :development
|
120
|
-
version_requirements: *id007
|
121
|
-
- !ruby/object:Gem::Dependency
|
122
|
-
name: mocha
|
123
87
|
prerelease: false
|
124
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
89
|
none: false
|
126
|
-
requirements:
|
127
|
-
- -
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
version: "0"
|
133
|
-
type: :development
|
134
|
-
version_requirements: *id008
|
135
|
-
description: Adds inline css support to action mailer so you can use a stylesheet to tame your email templates.
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
description: Adds inline css support to action mailer so you can use a stylesheet
|
95
|
+
to tame your email templates.
|
136
96
|
email: craig.mcnamara@gmail.com
|
137
97
|
executables: []
|
138
|
-
|
139
98
|
extensions: []
|
140
|
-
|
141
99
|
extra_rdoc_files: []
|
142
|
-
|
143
|
-
files:
|
100
|
+
files:
|
144
101
|
- lib/sexxy_emails.rb
|
145
102
|
- lib/sexxy_emails/action_mailer.rb
|
146
103
|
- lib/sexxy_emails/css.rb
|
147
104
|
- lib/sexxy_emails/padrino_mailer.rb
|
105
|
+
- lib/sexxy_emails/railtie.rb
|
148
106
|
- test/example_padrino_app/app.rb
|
149
107
|
- test/example_padrino_app/views/mailers/basic.html.erb
|
150
108
|
- test/example_rails_app/app/assets/images/rails.png
|
@@ -194,39 +152,30 @@ files:
|
|
194
152
|
- test/sexxy_emails/rails_action_mailer_test.rb
|
195
153
|
- test/stylesheets/basic.css
|
196
154
|
- test/test_helper.rb
|
197
|
-
has_rdoc: true
|
198
155
|
homepage: https://github.com/craigmcnamara/sexxy-emails
|
199
156
|
licenses: []
|
200
|
-
|
201
157
|
post_install_message:
|
202
158
|
rdoc_options: []
|
203
|
-
|
204
|
-
require_paths:
|
159
|
+
require_paths:
|
205
160
|
- lib
|
206
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
207
162
|
none: false
|
208
|
-
requirements:
|
209
|
-
- -
|
210
|
-
- !ruby/object:Gem::Version
|
211
|
-
|
212
|
-
|
213
|
-
- 0
|
214
|
-
version: "0"
|
215
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
168
|
none: false
|
217
|
-
requirements:
|
218
|
-
- -
|
219
|
-
- !ruby/object:Gem::Version
|
220
|
-
|
221
|
-
segments:
|
222
|
-
- 0
|
223
|
-
version: "0"
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
224
173
|
requirements: []
|
225
|
-
|
226
174
|
rubyforge_project:
|
227
|
-
rubygems_version: 1.
|
175
|
+
rubygems_version: 1.8.19
|
228
176
|
signing_key:
|
229
177
|
specification_version: 3
|
230
|
-
summary: Make your email templates sexxy. The name was inspired by General David H.
|
231
|
-
|
178
|
+
summary: Make your email templates sexxy. The name was inspired by General David H.
|
179
|
+
Petraeus.
|
180
|
+
test_files:
|
232
181
|
- test/test_helper.rb
|