no_notifier_needed 0.1.1 → 0.1.2
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/VERSION +1 -1
- data/lib/no_notifier_needed/config.rb +23 -0
- data/lib/no_notifier_needed/railtie.rb +6 -3
- data/lib/no_notifier_needed/send.rb +0 -14
- data/lib/no_notifier_needed/sender.rb +16 -0
- data/lib/no_notifier_needed/translate.rb +13 -8
- data/lib/no_notifier_needed.rb +25 -5
- data/no_notifier_needed.gemspec +4 -2
- metadata +5 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module NoNotifierNeeded
|
2
|
+
module Config
|
3
|
+
|
4
|
+
VALID_OPTIONS_KEYS = [
|
5
|
+
:from,
|
6
|
+
:bcc,
|
7
|
+
:reply_to,
|
8
|
+
:host,
|
9
|
+
:controller,
|
10
|
+
:action
|
11
|
+
].freeze
|
12
|
+
|
13
|
+
# @private
|
14
|
+
attr_accessor *VALID_OPTIONS_KEYS
|
15
|
+
|
16
|
+
# Create a hash of options and their values
|
17
|
+
def options
|
18
|
+
VALID_OPTIONS_KEYS.inject({}) do |option, key|
|
19
|
+
option.merge!(key => send(key))
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -3,10 +3,13 @@ module NoNotifierNeeded
|
|
3
3
|
initializer "Include code in controller" do
|
4
4
|
ActiveSupport.on_load(:action_controller) do
|
5
5
|
|
6
|
+
#TODO
|
7
|
+
#Pass defaults to allow for this to work
|
6
8
|
#::ActionMailer::Base.send(:include, ActionView::Helpers::)
|
7
|
-
|
8
|
-
::
|
9
|
-
::
|
9
|
+
|
10
|
+
NoNotifierNeeded::Sender.send(:include, Rails.application.routes.url_helpers) # brings ActionDispatch::Routing::UrlFor
|
11
|
+
NoNotifierNeeded::Sender.send(:include, ActionView::Helpers::UrlHelper)
|
12
|
+
NoNotifierNeeded::Sender.send(:include, ActionView::Helpers::TextHelper)
|
10
13
|
end
|
11
14
|
end
|
12
15
|
end
|
@@ -15,19 +15,5 @@ module NoNotifierNeeded
|
|
15
15
|
time_from_now = what_time.is_a?(Time) ? what_time : Chronic.parse(what_time)
|
16
16
|
Resque.enqueue_at(time_from_now, EmailProcessor, email_hash)
|
17
17
|
end
|
18
|
-
|
19
|
-
def mcp(email_name, args)
|
20
|
-
@template = EmailTemplate.find_by_name(email_name)
|
21
|
-
raise "Email Template name not found" if @template.nil?
|
22
|
-
|
23
|
-
args_to_instance_vars(args)
|
24
|
-
|
25
|
-
|
26
|
-
mail_is = ActionMailer::Base.mail(get_send_hash) do|format|
|
27
|
-
format.html { render :inline => render_template_body_type(@template) }
|
28
|
-
end
|
29
|
-
|
30
|
-
return mail_is
|
31
|
-
end
|
32
18
|
end
|
33
19
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module NoNotifierNeeded
|
2
|
+
module Sender
|
3
|
+
def mcp(email_name, args)
|
4
|
+
template = EmailTemplate.find_by_name(email_name)
|
5
|
+
raise "Email Template name not found" if template.nil?
|
6
|
+
|
7
|
+
args_to_instance_vars(args)
|
8
|
+
|
9
|
+
mail_is = mail(get_send_hash) do|format|
|
10
|
+
format.html { render :inline => render_template_body_type(template) }
|
11
|
+
end
|
12
|
+
|
13
|
+
return mail_is
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -21,10 +21,7 @@ module NoNotifierNeeded
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def get_send_hash
|
24
|
-
|
25
|
-
send_hash = {}
|
26
|
-
|
27
|
-
send_hash.merge!(mailers.first.default)
|
24
|
+
send_hash = base_send_hash
|
28
25
|
send_hash[:subject] = render_template_subject_type(@template)
|
29
26
|
send_hash[:to] = @to.nil? ? @user.email : @to
|
30
27
|
send_hash[:from] = @from unless @from.nil?
|
@@ -32,10 +29,16 @@ module NoNotifierNeeded
|
|
32
29
|
send_hash
|
33
30
|
end
|
34
31
|
|
32
|
+
def base_send_hash
|
33
|
+
base = {}
|
34
|
+
NoNotifierNeeded::Config::VALID_OPTIONS_KEYS.each do |k|
|
35
|
+
base[k] = NoNotifierNeeded.send(k)
|
36
|
+
end
|
37
|
+
base
|
38
|
+
end
|
39
|
+
|
35
40
|
def args_to_instance_vars(args)
|
36
41
|
#take each key, if a model, make it an @#{model} = model.find(value)
|
37
|
-
known_models = ActiveRecord::Base.send( :subclasses )
|
38
|
-
|
39
42
|
#else make it a @#{name}=#{value}
|
40
43
|
args.each do |k,v|
|
41
44
|
if Object.const_defined?(k.classify) && known_models.include?(k.classify.constantize)
|
@@ -50,9 +53,11 @@ module NoNotifierNeeded
|
|
50
53
|
end
|
51
54
|
end
|
52
55
|
|
53
|
-
def
|
54
|
-
known_models = ActiveRecord::Base.send( :subclasses )
|
56
|
+
def known_models
|
57
|
+
@known_models || @known_models = ActiveRecord::Base.send( :subclasses )
|
58
|
+
end
|
55
59
|
|
60
|
+
def translate_to_hash(which_email, args)
|
56
61
|
th = {}
|
57
62
|
th[:which_email] = which_email
|
58
63
|
|
data/lib/no_notifier_needed.rb
CHANGED
@@ -1,14 +1,34 @@
|
|
1
1
|
require 'no_notifier_needed/send'
|
2
2
|
require 'no_notifier_needed/translate'
|
3
3
|
require 'no_notifier_needed/render'
|
4
|
-
|
4
|
+
require 'no_notifier_needed/config'
|
5
|
+
require 'no_notifier_needed/sender'
|
5
6
|
|
6
7
|
module NoNotifierNeeded
|
7
|
-
|
8
|
-
|
9
|
-
include
|
8
|
+
extend Config
|
9
|
+
extend Send
|
10
|
+
# include Render
|
11
|
+
# include Translate
|
12
|
+
# include Sender
|
13
|
+
|
14
|
+
def self.sender(options={})
|
15
|
+
NoNotifierNeeded::Sender.new(options)
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.configure
|
19
|
+
yield self
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.method_missing(method, *args, &block)
|
23
|
+
return super unless sender.respond_to?(method)
|
24
|
+
sender.send(method, *args, &block)
|
25
|
+
end
|
10
26
|
|
27
|
+
# Delegate to Instagram::Client
|
28
|
+
def self.respond_to?(method)
|
29
|
+
return sender.respond_to?(method) || super
|
30
|
+
end
|
11
31
|
end
|
12
32
|
|
13
33
|
require 'no_notifier_needed/railtie.rb' if defined?(Rails)
|
14
|
-
|
34
|
+
#::ActionMailer::Base.extend NoNotifierNeeded
|
data/no_notifier_needed.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "no_notifier_needed"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Robert R. Meyer"]
|
12
|
-
s.date = "2013-01-
|
12
|
+
s.date = "2013-01-11"
|
13
13
|
s.description = "A work in progress"
|
14
14
|
s.email = "Blue.Dog.Archolite@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -28,9 +28,11 @@ Gem::Specification.new do |s|
|
|
28
28
|
"Rakefile",
|
29
29
|
"VERSION",
|
30
30
|
"lib/no_notifier_needed.rb",
|
31
|
+
"lib/no_notifier_needed/config.rb",
|
31
32
|
"lib/no_notifier_needed/railtie.rb",
|
32
33
|
"lib/no_notifier_needed/render.rb",
|
33
34
|
"lib/no_notifier_needed/send.rb",
|
35
|
+
"lib/no_notifier_needed/sender.rb",
|
34
36
|
"lib/no_notifier_needed/translate.rb",
|
35
37
|
"no_notifier_needed.gemspec",
|
36
38
|
"test/helper.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: no_notifier_needed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: haml
|
@@ -142,9 +142,11 @@ files:
|
|
142
142
|
- Rakefile
|
143
143
|
- VERSION
|
144
144
|
- lib/no_notifier_needed.rb
|
145
|
+
- lib/no_notifier_needed/config.rb
|
145
146
|
- lib/no_notifier_needed/railtie.rb
|
146
147
|
- lib/no_notifier_needed/render.rb
|
147
148
|
- lib/no_notifier_needed/send.rb
|
149
|
+
- lib/no_notifier_needed/sender.rb
|
148
150
|
- lib/no_notifier_needed/translate.rb
|
149
151
|
- no_notifier_needed.gemspec
|
150
152
|
- test/helper.rb
|
@@ -164,7 +166,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
166
|
version: '0'
|
165
167
|
segments:
|
166
168
|
- 0
|
167
|
-
hash:
|
169
|
+
hash: 2782706298375828992
|
168
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
171
|
none: false
|
170
172
|
requirements:
|