railties 4.2.2 → 4.2.3.rc1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 66a94a1674d048737e57f827d3d0db0ad6baa95a
4
- data.tar.gz: ae497174b9987fd73a58fbcba5fb1c9fa1db7d70
3
+ metadata.gz: fe8408f8da8762ff76cfd6349462f400e492d87b
4
+ data.tar.gz: ed185c48cbf54a6cb78e04f94a861ec1ad3807fa
5
5
  SHA512:
6
- metadata.gz: be5622205cac9af7aaa1292718391195600bfffd8e55ab3215ba1cdfcd951e03e0031de692b73cda3a00ee4797da40e3d9f68e7da7d614241f353626c7611018
7
- data.tar.gz: 0f00caed7a8e486ea092c95e702275090db5e0a14542a2808b63664d1766774b22c030b7b6cc49aafe94f20974f890a2ec2012ba27d657e888d91d80456cf903
6
+ metadata.gz: 50683454a5d5731a211b79564e0fbfb9e549bf1b5acd8e4713352e14ca2fcaca8de06f9947747890d5bb3e656357a78e988f16f6d5098e08ddc8d675ee2de2af
7
+ data.tar.gz: a184e2c1dfca9747b29791484d06e7893c04a01f7a71250ab9926ecd87c39b5ddcbe0fb4cfd59d2aa6cbf2aae74df0e8e1621167014a1b7cd8d788e70fbc45a6
@@ -1,9 +1,37 @@
1
+ ## Rails 4.2.3 (June 22, 2015) ##
2
+
3
+ * `assert_file` understands paths with special characters
4
+ (eg. `v0.1.4~alpha+nightly`).
5
+
6
+ *Diego Carrion*
7
+
8
+ * Make generated scaffold functional tests work inside engines.
9
+
10
+ *Yuji Yaginuma*
11
+
12
+ * Add support for inline images in mailer previews by using an interceptor
13
+ class to convert cid: urls in image src attributes to data urls. The
14
+ interceptor is not enabled by default but can be done in an initializer:
15
+
16
+ # config/initializer/preview_interceptors.rb
17
+ ActionMailer::Base.register_preview_interceptor(ActionMailer::InlinePreviewInterceptor)
18
+
19
+ *Andrew White*
20
+
21
+ * Fix mailer previews with attachments by using the mail gem's own API to
22
+ locate the first part of the correct mime type.
23
+
24
+ Fixes #14435.
25
+
26
+ *Andrew White*
27
+
28
+
1
29
  ## Rails 4.2.2 (June 16, 2015) ##
2
30
 
3
31
  * No Changes *
4
32
 
5
33
 
6
- ## Rails 4.2.1 (March 19, 2014) ##
34
+ ## Rails 4.2.1 (March 19, 2015) ##
7
35
 
8
36
  * Add a new-line to the end of route method generated code.
9
37
 
@@ -1,7 +1,7 @@
1
1
  require 'pathname'
2
2
 
3
3
  module Rails
4
- module AppRailsLoader
4
+ module AppRailsLoader # :nodoc:
5
5
  extend self
6
6
 
7
7
  RUBY = Gem.ruby
@@ -1,4 +1,5 @@
1
1
  require 'fileutils'
2
+ require 'yaml'
2
3
  require 'active_support/core_ext/hash/keys'
3
4
  require 'active_support/core_ext/object/blank'
4
5
  require 'active_support/key_generator'
@@ -227,7 +228,6 @@ module Rails
227
228
  yaml = Pathname.new("#{paths["config"].existent.first}/#{name}.yml")
228
229
 
229
230
  if yaml.exist?
230
- require "yaml"
231
231
  require "erb"
232
232
  (YAML.load(ERB.new(yaml.read).result) || {})[Rails.env] || {}
233
233
  else
@@ -43,11 +43,9 @@ class CodeStatistics #:nodoc:
43
43
 
44
44
  if File.directory?(path) && (/^\./ !~ file_name)
45
45
  stats.add(calculate_directory_statistics(path, pattern))
46
+ elsif file_name =~ pattern
47
+ stats.add_by_file_path(path)
46
48
  end
47
-
48
- next unless file_name =~ pattern
49
-
50
- stats.add_by_file_path(path)
51
49
  end
52
50
 
53
51
  stats
@@ -90,7 +90,7 @@ module Rails
90
90
  find_cmd_and_exec("sqsh", *args)
91
91
 
92
92
  else
93
- abort "Unknown command-line client for #{config['database']}. Submit a Rails patch to add support!"
93
+ abort "Unknown command-line client for #{config['database']}."
94
94
  end
95
95
  end
96
96
 
@@ -7,8 +7,8 @@ module Rails
7
7
  module VERSION
8
8
  MAJOR = 4
9
9
  MINOR = 2
10
- TINY = 2
11
- PRE = nil
10
+ TINY = 3
11
+ PRE = "rc1"
12
12
 
13
13
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
14
14
  end
@@ -159,7 +159,7 @@ module Rails
159
159
  options = sorted_groups.map(&:last).flatten
160
160
  suggestions = options.sort_by {|suggested| levenshtein_distance(namespace.to_s, suggested) }.first(3)
161
161
  msg = "Could not find generator '#{namespace}'. "
162
- msg << "Maybe you meant #{ suggestions.map {|s| "'#{s}'"}.join(" or ") }\n"
162
+ msg << "Maybe you meant #{ suggestions.map {|s| "'#{s}'"}.to_sentence(last_word_connector: " or ") }\n"
163
163
  msg << "Run `rails generate --help` for more options."
164
164
  puts msg
165
165
  end
@@ -260,11 +260,9 @@ module Rails
260
260
  t = str2
261
261
  n = s.length
262
262
  m = t.length
263
- max = n/2
264
263
 
265
264
  return m if (0 == n)
266
265
  return n if (0 == m)
267
- return n if (n - m).abs > max
268
266
 
269
267
  d = (0..m).to_a
270
268
  x = nil
@@ -2,6 +2,12 @@ require 'test_helper'
2
2
 
3
3
  <% module_namespacing do -%>
4
4
  class <%= class_name %>ControllerTest < ActionController::TestCase
5
+ <% if defined?(ENGINE_ROOT) -%>
6
+ setup do
7
+ @routes = Engine.routes
8
+ end
9
+
10
+ <% end -%>
5
11
  <% if actions.empty? -%>
6
12
  # test "the truth" do
7
13
  # assert true
@@ -15,6 +15,15 @@ module TestUnit # :nodoc:
15
15
  File.join("test/controllers", controller_class_path, "#{controller_file_name}_controller_test.rb")
16
16
  end
17
17
 
18
+ def fixture_name
19
+ @fixture_name ||=
20
+ if defined?(ENGINE_ROOT)
21
+ "%s_%s" % [namespaced_path, table_name]
22
+ else
23
+ table_name
24
+ end
25
+ end
26
+
18
27
  private
19
28
 
20
29
  def attributes_hash
@@ -3,7 +3,10 @@ require 'test_helper'
3
3
  <% module_namespacing do -%>
4
4
  class <%= controller_class_name %>ControllerTest < ActionController::TestCase
5
5
  setup do
6
- @<%= singular_table_name %> = <%= table_name %>(:one)
6
+ @<%= singular_table_name %> = <%= fixture_name %>(:one)
7
+ <% if defined?(ENGINE_ROOT) -%>
8
+ @routes = Engine.routes
9
+ <% end -%>
7
10
  end
8
11
 
9
12
  test "should get index" do
@@ -23,7 +23,7 @@ module Rails
23
23
  # end
24
24
  # end
25
25
  def assert_file(relative, *contents)
26
- absolute = File.expand_path(relative, destination_root).shellescape
26
+ absolute = File.expand_path(relative, destination_root)
27
27
  assert File.exist?(absolute), "Expected file #{relative.inspect} to exist, but does not"
28
28
 
29
29
  read = File.read(absolute) if block_given? || !contents.empty?
@@ -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
@@ -39,6 +39,10 @@
39
39
  padding: 1px;
40
40
  }
41
41
 
42
+ dd:empty:before {
43
+ content: "\00a0"; // &nbsp;
44
+ }
45
+
42
46
  iframe {
43
47
  border: 0;
44
48
  width: 100%;
@@ -84,7 +88,7 @@
84
88
  <% unless @email.attachments.nil? || @email.attachments.empty? %>
85
89
  <dt>Attachments:</dt>
86
90
  <dd>
87
- <%= @email.attachments.map { |a| a.respond_to?(:original_filename) ? a.original_filename : a.filename }.inspect %>
91
+ <%= @email.attachments.map { |a| a.respond_to?(:original_filename) ? a.original_filename : a.filename }.join(', ') %>
88
92
  </dd>
89
93
  <% end %>
90
94
 
@@ -99,7 +103,14 @@
99
103
  </dl>
100
104
  </header>
101
105
 
102
- <iframe seamless name="messageBody" src="?part=<%= Rack::Utils.escape(@part.mime_type) %>"></iframe>
106
+ <% if @part && @part.mime_type %>
107
+ <iframe seamless name="messageBody" src="?part=<%= Rack::Utils.escape(@part.mime_type) %>"></iframe>
108
+ <% else %>
109
+ <p>
110
+ You are trying to preview an email that does not have any content.
111
+ This is probably because the <em>mail</em> method has not been called in <em><%= @preview.preview_name %>#<%= @email_action %></em>.
112
+ </p>
113
+ <% end %>
103
114
 
104
115
  </body>
105
116
  </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.2.2
4
+ version: 4.2.3.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.2.2
19
+ version: 4.2.3.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.2.2
26
+ version: 4.2.3.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.2.2
33
+ version: 4.2.3.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.2.2
40
+ version: 4.2.3.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.2.2
81
+ version: 4.2.3.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.2.2
88
+ version: 4.2.3.rc1
89
89
  description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
90
90
  email: david@loudthinking.com
91
91
  executables:
@@ -352,9 +352,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
352
352
  version: 1.9.3
353
353
  required_rubygems_version: !ruby/object:Gem::Requirement
354
354
  requirements:
355
- - - ">="
355
+ - - ">"
356
356
  - !ruby/object:Gem::Version
357
- version: '0'
357
+ version: 1.3.1
358
358
  requirements: []
359
359
  rubyforge_project:
360
360
  rubygems_version: 2.4.5