railties 4.1.11 → 4.1.12.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b97b047c3681d6ad90f3938f05270e54141cd64
4
- data.tar.gz: 3480a1343a3e624a6e37db5d5606db5f831922f3
3
+ metadata.gz: 9d4ec2e1a99662595997a4c253682e4ccdbf26eb
4
+ data.tar.gz: 5be5238b276cdb079b22b7469ab900d45dcc692b
5
5
  SHA512:
6
- metadata.gz: 60b022f0084c4e64e35f2f0b1b4e7e3036c28f66ac7feb5c08f1e73f0bd351ef9ece05b4f43a7575def12adbdcf53fa786b6f583672a0b070506f0daaed8c907
7
- data.tar.gz: 4e0815b33bf257366751e76d5ff398b5ff3a6cbd0e029eb9f4f3671a0fe571b12b0914389c62a9196ebdf3c348cdf5a414764f96c6928f35b8198b5f9829b331
6
+ metadata.gz: 7bc013e89ab5ac90d2034a494e79db409f14e65b6a05a6d9c9407a73d34f4b9c7e024e700c4c2a5dc414217454a1efe078128be88fa1874784ebfc5260211761
7
+ data.tar.gz: 80c2572f0f7dce657201add2d7bdf380bf2abd6f5c7de4ec15636e3413555ff25612241e27e39e9ab262bd8d587d7bd0b646ab91aebd571f94796b7f8f3cdf14
@@ -1,3 +1,22 @@
1
+ ## Rails 4.1.12 (June 22, 2015) ##
2
+
3
+ * Add support for inline images in mailer previews by using an interceptor
4
+ class to convert cid: urls in image src attributes to data urls. The
5
+ interceptor is not enabled by default but can be done in an initializer:
6
+
7
+ # config/initializer/preview_interceptors.rb
8
+ ActionMailer::Base.register_preview_interceptor(ActionMailer::InlinePreviewInterceptor)
9
+
10
+ *Andrew White*
11
+
12
+ * Fix mailer previews with attachments by using the mail gem's own API to
13
+ locate the first part of the correct mime type.
14
+
15
+ Fixes #14435.
16
+
17
+ *Andrew White*
18
+
19
+
1
20
  ## Rails 4.1.11 (June 16, 2015) ##
2
21
 
3
22
  * No changes.
@@ -42,11 +42,9 @@ class CodeStatistics #:nodoc:
42
42
 
43
43
  if File.directory?(path) && (/^\./ !~ file_name)
44
44
  stats.add(calculate_directory_statistics(path, pattern))
45
+ elsif file_name =~ pattern
46
+ stats.add_by_file_path(path)
45
47
  end
46
-
47
- next unless file_name =~ pattern
48
-
49
- stats.add_by_file_path(path)
50
48
  end
51
49
 
52
50
  stats
@@ -7,8 +7,8 @@ module Rails
7
7
  module VERSION
8
8
  MAJOR = 4
9
9
  MINOR = 1
10
- TINY = 11
11
- PRE = nil
10
+ TINY = 12
11
+ PRE = "rc1"
12
12
 
13
13
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
14
14
  end
@@ -16,10 +16,10 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
16
16
  @page_title = "Mailer Previews for #{@preview.preview_name}"
17
17
  render action: 'mailer'
18
18
  else
19
- email = File.basename(params[:path])
19
+ @email_action = File.basename(params[:path])
20
20
 
21
- if @preview.email_exists?(email)
22
- @email = @preview.call(email)
21
+ if @preview.email_exists?(@email_action)
22
+ @email = @preview.call(@email_action)
23
23
 
24
24
  if params[:part]
25
25
  part_type = Mime::Type.lookup(params[:part])
@@ -28,14 +28,14 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
28
28
  response.content_type = part_type
29
29
  render text: part.respond_to?(:decoded) ? part.decoded : part
30
30
  else
31
- raise AbstractController::ActionNotFound, "Email part '#{part_type}' not found in #{@preview.name}##{email}"
31
+ raise AbstractController::ActionNotFound, "Email part '#{part_type}' not found in #{@preview.name}##{@email_action}"
32
32
  end
33
33
  else
34
34
  @part = find_preferred_part(request.format, Mime::HTML, Mime::TEXT)
35
35
  render action: 'email', layout: false, formats: %w[html]
36
36
  end
37
37
  else
38
- raise AbstractController::ActionNotFound, "Email '#{email}' not found in #{@preview.name}"
38
+ raise AbstractController::ActionNotFound, "Email '#{@email_action}' not found in #{@preview.name}"
39
39
  end
40
40
  end
41
41
  end
@@ -54,18 +54,20 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
54
54
  end
55
55
 
56
56
  def find_preferred_part(*formats)
57
- if @email.multipart?
58
- formats.each do |format|
59
- return find_part(format) if @email.parts.any?{ |p| p.mime_type == format }
57
+ formats.each do |format|
58
+ if part = @email.find_first_mime_type(format)
59
+ return part
60
60
  end
61
- else
61
+ end
62
+
63
+ if formats.any?{ |f| @email.mime_type == f }
62
64
  @email
63
65
  end
64
66
  end
65
67
 
66
68
  def find_part(format)
67
- if @email.multipart?
68
- @email.parts.find{ |p| p.mime_type == format }
69
+ if part = @email.find_first_mime_type(format)
70
+ part
69
71
  elsif @email.mime_type == format
70
72
  @email
71
73
  end
@@ -31,6 +31,10 @@
31
31
  padding: 1px;
32
32
  }
33
33
 
34
+ dd:empty:before {
35
+ content: "\00a0"; // &nbsp;
36
+ }
37
+
34
38
  iframe {
35
39
  border: 0;
36
40
  width: 100%;
@@ -77,7 +81,7 @@
77
81
  <% unless @email.attachments.nil? || @email.attachments.empty? %>
78
82
  <dt>Attachments:</dt>
79
83
  <dd>
80
- <%= @email.attachments.map { |a| a.respond_to?(:original_filename) ? a.original_filename : a.filename }.inspect %>
84
+ <%= @email.attachments.map { |a| a.respond_to?(:original_filename) ? a.original_filename : a.filename }.join(', ') %>
81
85
  </dd>
82
86
  <% end %>
83
87
 
@@ -92,7 +96,14 @@
92
96
  </dl>
93
97
  </header>
94
98
 
95
- <iframe seamless name="messageBody" src="?part=<%= Rack::Utils.escape(@part.mime_type) %>"></iframe>
99
+ <% if @part && @part.mime_type %>
100
+ <iframe seamless name="messageBody" src="?part=<%= Rack::Utils.escape(@part.mime_type) %>"></iframe>
101
+ <% else %>
102
+ <p>
103
+ You are trying to preview an email that does not have any content.
104
+ This is probably because the <em>mail</em> method has not been called in <em><%= @preview.preview_name %>#<%= @email_action %></em>.
105
+ </p>
106
+ <% end %>
96
107
 
97
108
  </body>
98
109
  </html>
@@ -1,8 +1,8 @@
1
1
  <% @previews.each do |preview| %>
2
- <h3><%= link_to preview.preview_name.titleize, "/rails/mailers/#{preview.preview_name}" %></h3>
2
+ <h3><%= link_to preview.preview_name.titleize, url_for(controller: "rails/mailers", action: "preview", path: preview.preview_name) %></h3>
3
3
  <ul>
4
4
  <% preview.emails.each do |email| %>
5
- <li><%= link_to email, "/rails/mailers/#{preview.preview_name}/#{email}" %></li>
5
+ <li><%= link_to email, url_for(controller: "rails/mailers", action: "preview", path: "#{preview.preview_name}/#{email}") %></li>
6
6
  <% end %>
7
7
  </ul>
8
8
  <% end %>
@@ -1,6 +1,6 @@
1
1
  <h3><%= @preview.preview_name.titleize %></h3>
2
2
  <ul>
3
3
  <% @preview.emails.each do |email| %>
4
- <li><%= link_to email, "/rails/mailers/#{@preview.preview_name}/#{email}" %></li>
4
+ <li><%= link_to email, url_for(controller: "rails/mailers", action: "preview", path: "#{@preview.preview_name}/#{email}") %></li>
5
5
  <% end %>
6
6
  </ul>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railties
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.11
4
+ version: 4.1.12.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-16 00:00:00.000000000 Z
11
+ date: 2015-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.11
19
+ version: 4.1.12.rc1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.11
26
+ version: 4.1.12.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 4.1.11
33
+ version: 4.1.12.rc1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 4.1.11
40
+ version: 4.1.12.rc1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - '='
80
80
  - !ruby/object:Gem::Version
81
- version: 4.1.11
81
+ version: 4.1.12.rc1
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - '='
87
87
  - !ruby/object:Gem::Version
88
- version: 4.1.11
88
+ version: 4.1.12.rc1
89
89
  description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
90
90
  email: david@loudthinking.com
91
91
  executables:
@@ -349,9 +349,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
349
349
  version: 1.9.3
350
350
  required_rubygems_version: !ruby/object:Gem::Requirement
351
351
  requirements:
352
- - - ">="
352
+ - - ">"
353
353
  - !ruby/object:Gem::Version
354
- version: '0'
354
+ version: 1.3.1
355
355
  requirements: []
356
356
  rubyforge_project:
357
357
  rubygems_version: 2.4.5