From b022d334a555b451d8e628189a5eaf2c2e6e8ad7 Mon Sep 17 00:00:00 2001 From: Hans de Graaff Date: Tue, 8 Sep 2015 14:14:28 +0200 Subject: [PATCH] dev-ruby/actionview: fix bug with url_helper and ruby 2.0 Already fixed upstream: https://github.com/rails/rails/commit/e5ba382ccbfe08a1a4681e1b6ac851379eb41c7c Package-Manager: portage-2.2.20.1 --- .../actionview/actionview-4.1.13-r1.ebuild | 49 +++++++++++++++++++ .../files/actionview-4.1.13-url-helper.patch | 39 +++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 dev-ruby/actionview/actionview-4.1.13-r1.ebuild create mode 100644 dev-ruby/actionview/files/actionview-4.1.13-url-helper.patch diff --git a/dev-ruby/actionview/actionview-4.1.13-r1.ebuild b/dev-ruby/actionview/actionview-4.1.13-r1.ebuild new file mode 100644 index 000000000000..0cfc7c991d50 --- /dev/null +++ b/dev-ruby/actionview/actionview-4.1.13-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +USE_RUBY="ruby19 ruby20 ruby21" + +RUBY_FAKEGEM_TASK_DOC="" +RUBY_FAKEGEM_DOCDIR="doc" +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.rdoc" + +RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec" + +inherit ruby-fakegem versionator + +DESCRIPTION="Simple, battle-tested conventions and helpers for building web pages" +HOMEPAGE="https://github.com/rails/rails/" +SRC_URI="https://github.com/rails/rails/archive/v${PV}.tar.gz -> rails-${PV}.tgz" + +LICENSE="MIT" +SLOT="$(get_version_component_range 1-2)" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="" + +RUBY_S="rails-${PV}/${PN}" + +RUBY_PATCHES=( ${P}-url-helper.patch ) + +ruby_add_rdepend " + ~dev-ruby/activesupport-${PV} + >=dev-ruby/builder-3.1:* =dev-ruby/builder-3*:* + >=dev-ruby/erubis-2.7.0 +" + +ruby_add_bdepend " + test? ( + dev-ruby/mocha:0.14 + ~dev-ruby/actionpack-${PV} + ~dev-ruby/activemodel-${PV} + )" + +all_ruby_prepare() { + # Remove items from the common Gemfile that we don't need for this + # test run. This also requires handling some gemspecs. + sed -i -e "/\(system_timer\|sdoc\|w3c_validators\|pg\|jquery-rails\|'mysql'\|journey\|ruby-prof\|benchmark-ips\|kindlerb\|turbolinks\|coffee-rails\|debugger\|sprockets-rails\|redcarpet\|bcrypt\|uglifier\|minitest\|sprockets\|stackprof\)/ s:^:#:" \ + -e '/group :doc/,/^end/ s:^:#:' ../Gemfile || die + rm ../Gemfile.lock || die +} diff --git a/dev-ruby/actionview/files/actionview-4.1.13-url-helper.patch b/dev-ruby/actionview/files/actionview-4.1.13-url-helper.patch new file mode 100644 index 000000000000..605955712527 --- /dev/null +++ b/dev-ruby/actionview/files/actionview-4.1.13-url-helper.patch @@ -0,0 +1,39 @@ +commit e5ba382ccbfe08a1a4681e1b6ac851379eb41c7c +Author: Rafael Mendonça França +Date: Fri Aug 28 01:36:00 2015 -0300 + + Merge pull request #21402 from k0kubun/ruby20-url-helper + + Fix mail_to to work well with Ruby 2.0 + +diff --git a/actionview/lib/action_view/helpers/url_helper.rb b/actionview/lib/action_view/helpers/url_helper.rb +index b130457..97e299d 100644 +--- a/actionview/lib/action_view/helpers/url_helper.rb ++++ b/actionview/lib/action_view/helpers/url_helper.rb +@@ -471,7 +471,7 @@ module ActionView + }.compact + extras = extras.empty? ? '' : '?' + ERB::Util.html_escape(extras.join('&')) + +- encoded_email_address = ERB::Util.url_encode(email_address).gsub("%40", "@") ++ encoded_email_address = ERB::Util.url_encode(email_address.to_str).gsub("%40", "@") + html_options["href"] = "mailto:#{encoded_email_address}#{extras}".html_safe + + content_tag(:a, name || email_address, html_options, &block) +diff --git a/actionview/test/template/url_helper_test.rb b/actionview/test/template/url_helper_test.rb +index 10195dd..b044ebd 100644 +--- a/actionview/test/template/url_helper_test.rb ++++ b/actionview/test/template/url_helper_test.rb +@@ -505,6 +505,13 @@ class UrlHelperTest < ActiveSupport::TestCase + ) + end + ++ def test_mail_to_with_html_safe_string ++ assert_dom_equal( ++ %{david@loudthinking.com}, ++ mail_to("david@loudthinking.com".html_safe) ++ ) ++ end ++ + def test_mail_to_with_img + assert_dom_equal %{}, + mail_to('feedback@example.com', ''.html_safe) -- 2.26.2