msg 0.2.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b88a93492b109ffaa4839e7e61ec167a59fa31d8
4
+ data.tar.gz: 211467207140b27eedc29f646e80653a67ae4ab4
5
+ SHA512:
6
+ metadata.gz: 4444926204e8fc879def1105333fdb887fb58fb7b063998939647801394aa7505738e16a59ed6f4d51087ed368fff74dd7575207d8cd4593182abdf8a9e8bb59
7
+ data.tar.gz: d246acdd8a896366c8700fbe98bf5a022cbc8ab8da677aacbb2e7cf413b909a5a8ed97641c5838f86b4430b0370a117f1c2667db4ad9ff1a9e126e4b0dafa2b2
data/README.md CHANGED
@@ -5,5 +5,3 @@
5
5
  * SES account required
6
6
 
7
7
  * receiver classes must respond to :name, :email and :for_email
8
-
9
- * must set devise mailer if using
@@ -51,12 +51,6 @@ h2
51
51
  &:hover
52
52
  color: $red
53
53
 
54
- h2.section
55
- font-size: 1.25em
56
- line-height: 26px
57
- clear: left
58
- margin-top: 2em
59
-
60
54
  #sending
61
55
  position: relative
62
56
  width: 580px
@@ -35,7 +35,7 @@ module Msg
35
35
  end
36
36
 
37
37
  def create
38
- @message.update_attributes(params[:message])
38
+ @message.update_attributes(message_params)
39
39
  respond_with @message
40
40
  end
41
41
 
@@ -44,7 +44,7 @@ module Msg
44
44
  end
45
45
 
46
46
  def update
47
- @message.update_attributes(params[:message])
47
+ @message.update_attributes(message_params)
48
48
  respond_with @message
49
49
  end
50
50
 
@@ -56,7 +56,7 @@ module Msg
56
56
  protected
57
57
 
58
58
  def build_message
59
- @message = Msg::Message.new(params[:message])
59
+ @message = Msg::Message.new
60
60
  end
61
61
 
62
62
  def get_message
@@ -66,6 +66,10 @@ module Msg
66
66
  def get_transactional_messages
67
67
  @transactional_messages = Msg::Message.transactional
68
68
  end
69
+
70
+ def message_params
71
+ params.require(:message).permit(:subject, :body, :function, :description, :transactional, :saved, :from_name, :from_address)
72
+ end
69
73
 
70
74
  def get_saved_messages
71
75
  @show = params[:show] || 10
@@ -26,7 +26,7 @@ module Msg
26
26
  end
27
27
 
28
28
  def create
29
- @sending.update_attributes(params[:sending])
29
+ @sending.update_attributes(sending_params)
30
30
  respond_with @sending
31
31
  end
32
32
 
@@ -54,5 +54,12 @@ module Msg
54
54
  @page = params[:page] || 1
55
55
  @sendings = Msg::Sending.order("created_at DESC").page(@page).per(@show)
56
56
  end
57
+
58
+ def sending_params
59
+ parameter_names = [:message_id, :envelopes_attributes] + Msg.receiving_classes.map{|klass| "#{klass.underscore}_group"}
60
+ Rails.logger.warn "permitted parameter_names: #{parameter_names.inspect}"
61
+ params.require(:sending).permit(*parameter_names)
62
+ end
63
+
57
64
  end
58
65
  end
@@ -1,6 +1,5 @@
1
1
  module Msg
2
2
  class Bounce < ActiveRecord::Base
3
- attr_accessible :email, :envelope, :bounce_type, :bounce_subtype, :raw_message, :reporter, :diagnostic, :status
4
3
  belongs_to :envelope
5
4
 
6
5
  validates :email, :presence => true
@@ -1,7 +1,5 @@
1
1
  module Msg
2
2
  class Envelope < ActiveRecord::Base
3
- attr_accessible :receiver, :sending
4
-
5
3
  belongs_to :sending
6
4
  belongs_to :receiver, :polymorphic => true
7
5
  has_many :bounces
@@ -2,8 +2,6 @@ require 'mustache'
2
2
 
3
3
  module Msg
4
4
  class Message < ActiveRecord::Base
5
- attr_accessible :subject, :body, :function, :description, :transactional, :saved, :from_name, :from_address
6
-
7
5
  has_many :sendings
8
6
  belongs_to :created_by, :class_name => Msg.user_class
9
7
 
@@ -16,9 +14,9 @@ module Msg
16
14
  address = from_address? ? from_address : Msg.default_from_address
17
15
  "#{name} <#{address}>"
18
16
  end
19
-
20
- def render_for(receiver)
21
- values = receiver.for_email.reverse_merge(Msg.email_values)
17
+
18
+ def render_for(receiver, token=nil)
19
+ values = receiver.for_email(token).reverse_merge(Msg.email_values)
22
20
  Mustache.render(body, values)
23
21
  end
24
22
 
@@ -1,7 +1,5 @@
1
1
  module Msg
2
2
  class Sending < ActiveRecord::Base
3
- attr_accessible :message_id, :envelopes_attributes
4
-
5
3
  belongs_to :message
6
4
  belongs_to :created_by, :class_name => Msg.user_class
7
5
  has_many :envelopes, :dependent => :destroy
@@ -33,14 +31,12 @@ module Msg
33
31
  define_method :"#{key}_group=" do |name|
34
32
  self.receiving_class = key
35
33
  self.receiving_group = name
36
- self.receivers = klass.messaging_groups[name.to_sym].call unless name == 'selected'
34
+ self.receivers = klass.messaging_groups[name.to_sym].call
37
35
  end
38
- attr_accessible :"#{key}_group"
39
36
 
40
37
  define_method :"#{key}_receiver_ids" do
41
38
  self.envelopes.map(&:receiver_id) if self.receiving_class == key
42
39
  end
43
- attr_accessible :"#{key}_receiver_ids"
44
40
 
45
41
  # class_receiver_ids= is called from the SendingsController and given a list of receiver ids of this class.
46
42
  # they are instantiated and passed to receivers=
@@ -1,8 +1,8 @@
1
1
  - bounces ||= @bounces || Msg::Bounce.order('created_at DESC').limit(5)
2
2
 
3
- #bouncebox{:data => {:refreshable => true, :url => msg.bounces_path(:format => :js)}}
3
+ %section#bouncebox{:data => {:refreshable => true, :url => msg.bounces_path(:format => :js)}}
4
4
  - if bounces.any?
5
- %h3
5
+ %h2.section
6
6
  = link_to t(:bounce_report), msg.bounces_url
7
7
 
8
8
  %ul.bounces
@@ -1,4 +1,4 @@
1
- - if editable?(message)
1
+ - if can? :edit, message
2
2
  .menu{:data => {:for => "message_#{message.id}"}}
3
3
  %ul.actions
4
4
  %li
@@ -9,10 +9,12 @@
9
9
  = t :saved_messages
10
10
  %span.action
11
11
  = link_to t(:create_message), msg.new_message_url, :class => "add minimal", :data => {:action => "popup", :affected => "#saved_messages"}
12
- = render "msg/messages/saved_messages"
13
12
 
14
- %p.action
15
- = link_to t(:create_message), msg.new_message_url, :class => "add", :data => {:action => "popup", :affected => "#saved_messages"}
13
+ = render "msg/messages/saved_messages"
14
+
15
+ - if can? :create, Msg::Message
16
+ %p.action
17
+ = link_to t(:create_message), msg.new_message_url, :class => "add", :data => {:action => "popup", :affected => "#saved_messages"}
16
18
 
17
19
  -content_for :margin do
18
20
  = render :partial => "msg/bounces/report"
@@ -18,22 +18,9 @@
18
18
  - count = proc.call.count
19
19
  %li.group
20
20
  = f.radio_button "#{key}_group", name, :data => {:action => "reveal", :converse => "ul.choose_receivers"}, :disabled => count == 0
21
- %label{:for => "sending_#{key}_group_#{name}"}
22
- = t("msg.groups.#{name}")
23
- %span.note
24
- = t(:receiver_count, :count => count)
25
-
26
- %li.group
27
- = f.radio_button "#{key}_group", :selected, :data => {:action => "reveal", :affected => "ul.choose_receivers"}
28
- %label{:for => "sending_#{key}_group_selected"}
29
- = t("msg.groups.selected")
30
-
31
- %ul.choose_receivers
32
- - klass.constantize.order('name ASC').each do |rec|
33
- %li.receiver
34
- = check_box_tag "sending[#{key}_receiver_ids][]", rec.id, false, :id => "sending_#{key}_receiver_ids_#{rec.id}"
35
- %label{:for => "sending_#{key}_receiver_ids_#{rec.id}"}
36
- = rec.name
21
+ %label{:for => "sending_#{key}_group_#{name}", :class => count == 0 ? "disabled" : ""}
22
+ = t("msg.groups.#{name}") + ":"
23
+ = count
37
24
 
38
25
  // #todo: update the preview on selection, and add a control to page through the selected group of people
39
26
  %iframe.body{:src => msg.preview_message_url(message, :receiver_type => receiver.class.to_s.downcase.underscore.to_s, :receiver_id => receiver.id)}
@@ -1,7 +1,7 @@
1
1
  - sendings ||= @sendings || Msg::Sending.order('created_at DESC').limit(5)
2
2
 
3
- #sentbox{:data => {:refreshable => true, :url => msg.sendings_path(:format => :js, :show => 5)}}
4
- %h3
3
+ %section#sentbox{:data => {:refreshable => true, :url => msg.sendings_path(:format => :js, :show => 5)}}
4
+ %h2.section
5
5
  = link_to t(:sent_report), msg.sendings_url
6
6
 
7
7
  %ul.sendings
@@ -25,7 +25,7 @@ en:
25
25
  message_from_name: "Sender name"
26
26
  message_from_note: "Leave both address fields blank to use the default"
27
27
  receiver_count:
28
- zero: "(nobody)"
28
+ zero: "nobody)"
29
29
  one: "(one person)"
30
30
  other: "(%{count} people)"
31
31
  save_message: "Save message"
data/lib/msg.rb CHANGED
@@ -21,9 +21,15 @@ module Msg
21
21
  class MsgError < StandardError; end
22
22
  class EmailInvalid < MsgError; end
23
23
 
24
-
25
24
  class << self
26
25
 
26
+ def add_receiving_class(klass, options)
27
+ k = klass.to_s
28
+ receiving_classes << k unless receiving_classes.include?(k)
29
+ klass.messaging_groups = options[:groups] || []
30
+ Msg::Sending.add_receiver_hooks(klass, options)
31
+ end
32
+
27
33
  def setup
28
34
  yield self
29
35
  end
@@ -72,18 +78,5 @@ module Msg
72
78
  @@sending_domain ||= ActionMailer::Base.default_url_options[:host]
73
79
  end
74
80
 
75
-
76
-
77
-
78
-
79
- def add_receiving_class(klass, options)
80
- Rails.logger.warn ">>> Msg.add_receiving_class #{klass}"
81
-
82
- k = klass.to_s
83
- receiving_classes << k unless receiving_classes.include?(k)
84
- klass.messaging_groups = options[:groups] || []
85
- Msg::Sending.add_receiver_hooks(klass, options)
86
- end
87
-
88
81
  end
89
82
  end
@@ -4,9 +4,6 @@ module Msg
4
4
 
5
5
  initializer "msg.integration" do |app|
6
6
  ActiveRecord::Base.send :include, Msg::Receivers
7
- ActiveSupport.on_load :action_controller do
8
- helper Msg::MsgHelper
9
- end
10
7
  end
11
8
 
12
9
  config.generators do |g|
@@ -8,29 +8,23 @@ module Msg
8
8
  end
9
9
 
10
10
  module ActiveRecordClassMethods
11
- # +receives_messages+ ...
12
-
11
+
13
12
  def receives_messages(options={})
14
- include ReceiverInstanceMethods
15
13
  has_many :envelopes, :as => :receiver, :class_name => "Msg::Envelope"
16
14
  Msg.add_receiving_class(self, options)
17
15
  end
18
16
 
19
17
  # Messaging groups are usually defined by passing a :groups parameter to `receives_messages`,
20
- # but you can also override the messaging_groups methods if that's easier.
18
+ # but you can also override the messaging_groups methods if your groups don't resolve to scopes
19
+ # or other class methods.
21
20
  #
22
21
  def messaging_groups
23
- Thread.current["messaging_groups_#{self.to_s.underscore}"] ||= []
24
- # @messaging_groups ||= []
22
+ Thread.current["messaging_groups_#{self.to_s.underscore}"] ||= []
25
23
  end
26
24
 
27
- # Messaging groups are always held as a hash of name => lambda { retrieval action }, and in a complex
28
- # case they can be passed in that form. If all the groups correspond to scopes on the receiving class,
29
- # you can alternatively supply a list of scope names. It will be expanded to simple lambdas here.
25
+ # Messaging groups can be passed in as procs or method names. Usually it's just a list of scopes,
26
+ # which you can supply as a simple array of names.
30
27
  #
31
- # receives_messages :groups => [:scope_name, :other_scope_name]
32
- #
33
-
34
28
  def messaging_groups=(groups)
35
29
  if groups.is_a?(Array)
36
30
  groups = groups.each_with_object({}) do |grp, hash|
@@ -47,18 +41,8 @@ module Msg
47
41
  self.send name
48
42
  end
49
43
  end
50
-
51
- end
52
-
53
- module ReceiverInstanceMethods
54
-
55
-
56
-
44
+
57
45
  end
58
46
  end
59
47
 
60
48
 
61
-
62
-
63
-
64
-
@@ -1,3 +1,3 @@
1
1
  module Msg
2
- VERSION = "0.2.2"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -1,5 +1,4 @@
1
1
  require 'spec_helper'
2
- include Devise::TestHelpers
3
2
  module Msg
4
3
  describe EnvelopesController do
5
4
 
@@ -1,7 +1,4 @@
1
1
  class User < ActiveRecord::Base
2
- devise :database_authenticatable,
3
- :recoverable# ,
4
- # :confirmable
5
2
  receives_messages({})
6
3
 
7
4
  def for_email
@@ -2,7 +2,6 @@ Dummy::Application.routes.draw do
2
2
 
3
3
  mount Msg::Engine => "/msg", :as => :msg
4
4
 
5
- devise_for :users
6
5
  resources :users
7
6
  root :to => "users#index"
8
7
 
@@ -59,13 +59,6 @@ Spork.prefork do
59
59
  config.after(:each) do
60
60
  DatabaseCleaner.clean
61
61
  end
62
-
63
- end
64
-
65
- ## controller methods
66
- # devise sign_in
67
- def sign_in_admin
68
- sign_in FactoryGirl.create(:admin)
69
62
  end
70
63
 
71
64
  end
metadata CHANGED
@@ -1,244 +1,214 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - William Ross
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-02 00:00:00.000000000 Z
11
+ date: 2014-06-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 3.2.13
19
+ version: 4.1.0
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: 3.2.13
26
+ version: 4.1.0
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: jquery-rails
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: dynamic_form
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: haml
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: kaminari
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: roadie
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: mustache
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: aws-ses
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: httparty
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - '>='
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0'
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ! '>='
136
+ - - '>='
156
137
  - !ruby/object:Gem::Version
157
138
  version: '0'
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: sqlite3
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ! '>='
143
+ - - '>='
164
144
  - !ruby/object:Gem::Version
165
145
  version: '0'
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ! '>='
150
+ - - '>='
172
151
  - !ruby/object:Gem::Version
173
152
  version: '0'
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rspec-rails
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
- - - ! '>='
157
+ - - '>='
180
158
  - !ruby/object:Gem::Version
181
159
  version: '0'
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
- - - ! '>='
164
+ - - '>='
188
165
  - !ruby/object:Gem::Version
189
166
  version: '0'
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: capybara
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
- - - ! '>='
171
+ - - '>='
196
172
  - !ruby/object:Gem::Version
197
173
  version: '0'
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
- - - ! '>='
178
+ - - '>='
204
179
  - !ruby/object:Gem::Version
205
180
  version: '0'
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: factory_girl_rails
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
- - - ! '>='
185
+ - - '>='
212
186
  - !ruby/object:Gem::Version
213
187
  version: '0'
214
188
  type: :development
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
- - - ! '>='
192
+ - - '>='
220
193
  - !ruby/object:Gem::Version
221
194
  version: '0'
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: database_cleaner
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
- - - ! '>='
199
+ - - '>='
228
200
  - !ruby/object:Gem::Version
229
201
  version: '0'
230
202
  type: :development
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
- - - ! '>='
206
+ - - '>='
236
207
  - !ruby/object:Gem::Version
237
208
  version: '0'
238
- description: Msg is a general-purpose messaging engine for rails 3 apps. Use it to
239
- compose, revise, send and resend messages to selected or generated groups of user-like
240
- objects. It uses a simple mustache-based template system and brings your devise
241
- email templates into the database so that they too are editable and resendable.
209
+ description: Msg is a general-purpose messaging engine for rails apps. Use it to compose,
210
+ revise, send and resend messages to selected or generated groups of user-like objects.
211
+ It uses a simple mustache-based template system.
242
212
  email:
243
213
  - will@spanner.org
244
214
  executables: []
@@ -256,8 +226,6 @@ files:
256
226
  - app/controllers/msg/envelopes_controller.rb
257
227
  - app/controllers/msg/messages_controller.rb
258
228
  - app/controllers/msg/sendings_controller.rb
259
- - app/helpers/msg/msg_helper.rb
260
- - app/mailers/msg/devise_mailer.rb
261
229
  - app/mailers/msg/msg_mailer.rb
262
230
  - app/models/msg/bounce.rb
263
231
  - app/models/msg/envelope.rb
@@ -326,7 +294,6 @@ files:
326
294
  - spec/dummy/config/environments/production.rb
327
295
  - spec/dummy/config/environments/test.rb
328
296
  - spec/dummy/config/initializers/backtrace_silencers.rb
329
- - spec/dummy/config/initializers/devise.rb
330
297
  - spec/dummy/config/initializers/inflections.rb
331
298
  - spec/dummy/config/initializers/mime_types.rb
332
299
  - spec/dummy/config/initializers/secret_token.rb
@@ -335,12 +302,8 @@ files:
335
302
  - spec/dummy/config/locales/en.yml
336
303
  - spec/dummy/config/routes.rb
337
304
  - spec/dummy/config.ru
338
- - spec/dummy/db/development.sqlite3
339
305
  - spec/dummy/db/migrate/2013032210540_users.rb
340
306
  - spec/dummy/db/schema.rb
341
- - spec/dummy/db/test.sqlite3
342
- - spec/dummy/log/development.log
343
- - spec/dummy/log/test.log
344
307
  - spec/dummy/public/404.html
345
308
  - spec/dummy/public/422.html
346
309
  - spec/dummy/public/500.html
@@ -367,27 +330,26 @@ files:
367
330
  - spec/spec_helper.rb
368
331
  homepage: https://github.com/spanner/msg
369
332
  licenses: []
333
+ metadata: {}
370
334
  post_install_message:
371
335
  rdoc_options: []
372
336
  require_paths:
373
337
  - lib
374
338
  required_ruby_version: !ruby/object:Gem::Requirement
375
- none: false
376
339
  requirements:
377
- - - ! '>='
340
+ - - '>='
378
341
  - !ruby/object:Gem::Version
379
342
  version: '0'
380
343
  required_rubygems_version: !ruby/object:Gem::Requirement
381
- none: false
382
344
  requirements:
383
- - - ! '>='
345
+ - - '>='
384
346
  - !ruby/object:Gem::Version
385
347
  version: '0'
386
348
  requirements: []
387
349
  rubyforge_project:
388
- rubygems_version: 1.8.23
350
+ rubygems_version: 2.0.6
389
351
  signing_key:
390
- specification_version: 3
352
+ specification_version: 4
391
353
  summary: Makes your email more flavoursome.
392
354
  test_files:
393
355
  - spec/controllers/msg/bounces_controller_spec.rb
@@ -408,7 +370,6 @@ test_files:
408
370
  - spec/dummy/config/environments/production.rb
409
371
  - spec/dummy/config/environments/test.rb
410
372
  - spec/dummy/config/initializers/backtrace_silencers.rb
411
- - spec/dummy/config/initializers/devise.rb
412
373
  - spec/dummy/config/initializers/inflections.rb
413
374
  - spec/dummy/config/initializers/mime_types.rb
414
375
  - spec/dummy/config/initializers/secret_token.rb
@@ -417,12 +378,8 @@ test_files:
417
378
  - spec/dummy/config/locales/en.yml
418
379
  - spec/dummy/config/routes.rb
419
380
  - spec/dummy/config.ru
420
- - spec/dummy/db/development.sqlite3
421
381
  - spec/dummy/db/migrate/2013032210540_users.rb
422
382
  - spec/dummy/db/schema.rb
423
- - spec/dummy/db/test.sqlite3
424
- - spec/dummy/log/development.log
425
- - spec/dummy/log/test.log
426
383
  - spec/dummy/public/404.html
427
384
  - spec/dummy/public/422.html
428
385
  - spec/dummy/public/500.html