mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-ruby/actionview: fix bug with url_helper and ruby 2.0
Already fixed upstream:
e5ba382ccb
Package-Manager: portage-2.2.20.1
This commit is contained in:
49
dev-ruby/actionview/actionview-4.1.13-r1.ebuild
Normal file
49
dev-ruby/actionview/actionview-4.1.13-r1.ebuild
Normal file
@@ -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
|
||||
}
|
||||
39
dev-ruby/actionview/files/actionview-4.1.13-url-helper.patch
Normal file
39
dev-ruby/actionview/files/actionview-4.1.13-url-helper.patch
Normal file
@@ -0,0 +1,39 @@
|
||||
commit e5ba382ccbfe08a1a4681e1b6ac851379eb41c7c
|
||||
Author: Rafael Mendonça França <rafaelmfranca@gmail.com>
|
||||
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(
|
||||
+ %{<a href="mailto:david@loudthinking.com">david@loudthinking.com</a>},
|
||||
+ mail_to("david@loudthinking.com".html_safe)
|
||||
+ )
|
||||
+ end
|
||||
+
|
||||
def test_mail_to_with_img
|
||||
assert_dom_equal %{<a href="mailto:feedback@example.com"><img src="/feedback.png" /></a>},
|
||||
mail_to('feedback@example.com', '<img src="/feedback.png" />'.html_safe)
|
||||
Reference in New Issue
Block a user