the_merger 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ group :test do
5
5
  gem 'actionmailer'
6
6
  gem 'actionpack' # action_controller, action_view
7
7
  gem 'sqlite3'
8
- gem 'debugger'
8
+ # gem 'debugger'
9
9
  gem 'sprockets'
10
10
  gem 'rspec-rails'
11
11
  gem 'combustion', '~> 0.5.0'
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
- - [ ] Allow filtering or passing a subset of users to send email to.
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
- body: body)
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
@@ -1,3 +1,3 @@
1
1
  module TheMerger
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
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
- # gem.add_development_dependency "mail"
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.1.2
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-07-09 00:00:00.000000000 Z
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: -155754027735557007
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: -155754027735557007
97
+ hash: 2741644887704114784
66
98
  requirements: []
67
99
  rubyforge_project:
68
100
  rubygems_version: 1.8.23