the_merger 0.1.2 → 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.
- data/Gemfile +1 -1
- data/README.org +27 -1
- data/app/mailer/the_merger/mailer.rb +8 -3
- data/lib/the_merger/version.rb +1 -1
- data/the_merger.gemspec +3 -2
- metadata +37 -5
data/Gemfile
CHANGED
data/README.org
CHANGED
@@ -53,11 +53,37 @@ Give the text_area you want to interact with the class 'mail_merge_body' so that
|
|
53
53
|
|
54
54
|
Currently it's just one method and this is how you pass it information
|
55
55
|
|
56
|
+
*** Email all
|
57
|
+
To send a mail merge to all elements within your 'merge_model'. EG: all clients
|
58
|
+
|
59
|
+
: TheMerger.mail_merge(
|
60
|
+
: from: "from@example.com",
|
61
|
+
: subject: "update_listing",
|
62
|
+
: body: "Dear [firstname] [lastname], Please update your listing, from Mick")
|
63
|
+
|
64
|
+
*** Email subset
|
65
|
+
To send a mail merge to all elements within your 'merge_model'. EG: all clients
|
66
|
+
|
56
67
|
: TheMerger.mail_merge(
|
57
68
|
: from: "from@example.com",
|
58
69
|
: subject: "update_listing",
|
59
70
|
: body: "Dear [firstname] [lastname], Please update your listing, from Mick")
|
71
|
+
: group: Client.where(suburb: "Fitzroy")
|
72
|
+
|
73
|
+
*** Email single
|
74
|
+
To send a mail merge to all elements within your 'merge_model'. EG: all clients
|
75
|
+
|
76
|
+
: TheMerger.mail_merge(
|
77
|
+
: from: "from@example.com",
|
78
|
+
: subject: "update_listing",
|
79
|
+
: body: "Dear [firstname] [lastname], Please update your listing, from Mick")
|
80
|
+
: single: Client.find(params[:id])
|
81
|
+
|
82
|
+
** Emails can be written using markdown
|
83
|
+
|
84
|
+
Markdown reference: http://daringfireball.net/projects/markdown/
|
60
85
|
|
86
|
+
This will create a HTML email.
|
61
87
|
|
62
88
|
** Contributing
|
63
89
|
|
@@ -76,7 +102,7 @@ Currently it's just one method and this is how you pass it information
|
|
76
102
|
- [X] Turn this into an engine so that I can include asset pipeline javascript.
|
77
103
|
- [X] Get the Email all button to work
|
78
104
|
- [X] Write tests
|
79
|
-
- [
|
105
|
+
- [X] Allow filtering or passing a subset of users to send email to.
|
80
106
|
- [ ] Schedule repetitive mail outs
|
81
107
|
- [ ] Make compatible with tinymce
|
82
108
|
|
@@ -1,9 +1,14 @@
|
|
1
1
|
class TheMerger::Mailer < ActionMailer::Base
|
2
|
-
|
2
|
+
require 'redcarpet' # Markdown to HTML
|
3
|
+
|
3
4
|
def batch_mail(from,subject,body,person)
|
5
|
+
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true)
|
6
|
+
|
4
7
|
mail(from: from,
|
5
8
|
to: person.email,
|
6
|
-
subject: subject
|
7
|
-
|
9
|
+
subject: subject) do |format|
|
10
|
+
format.text {body}
|
11
|
+
format.html {markdown.render(body).html_safe}
|
12
|
+
end
|
8
13
|
end
|
9
14
|
end
|
data/lib/the_merger/version.rb
CHANGED
data/the_merger.gemspec
CHANGED
@@ -12,8 +12,9 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.summary = %q{Mail Merge}
|
13
13
|
gem.homepage = "https://github.com/map7/the_merger"
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
gem.add_dependency "mail"
|
16
|
+
gem.add_dependency "redcarpet"
|
17
|
+
|
17
18
|
gem.files = `git ls-files`.split($/)
|
18
19
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
19
20
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: the_merger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,40 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
13
|
-
dependencies:
|
12
|
+
date: 2013-08-08 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: mail
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: redcarpet
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
14
46
|
description: Mail merge a table of fields into a standard letter
|
15
47
|
email:
|
16
48
|
- map7777@gmail.com
|
@@ -53,7 +85,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
53
85
|
version: '0'
|
54
86
|
segments:
|
55
87
|
- 0
|
56
|
-
hash:
|
88
|
+
hash: 2741644887704114784
|
57
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
90
|
none: false
|
59
91
|
requirements:
|
@@ -62,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
94
|
version: '0'
|
63
95
|
segments:
|
64
96
|
- 0
|
65
|
-
hash:
|
97
|
+
hash: 2741644887704114784
|
66
98
|
requirements: []
|
67
99
|
rubyforge_project:
|
68
100
|
rubygems_version: 1.8.23
|