From 8f90ac7827787a84b38055e1011ef9aedd89fe91 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Mon, 29 Jul 2019 14:05:18 +0900 Subject: Add AS::TimeZone#match? --- actionview/lib/action_view/helpers/form_options_helper.rb | 4 ++-- actionview/test/template/form_options_helper_test.rb | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'actionview') diff --git a/actionview/lib/action_view/helpers/form_options_helper.rb b/actionview/lib/action_view/helpers/form_options_helper.rb index ad19426fff..cf8f7de931 100644 --- a/actionview/lib/action_view/helpers/form_options_helper.rb +++ b/actionview/lib/action_view/helpers/form_options_helper.rb @@ -569,7 +569,7 @@ module ActionView # be obtained in Active Record as a value object). The +model+ parameter # must respond to +all+ and return an array of objects that represent time # zones; each object must respond to +name+. If a Regexp is given it will - # attempt to match the zones using the =~ operator. + # attempt to match the zones using match? method. # # NOTE: Only the option tags are returned, you have to wrap this call in # a regular HTML select tag. @@ -581,7 +581,7 @@ module ActionView if priority_zones if priority_zones.is_a?(Regexp) - priority_zones = zones.select { |z| z =~ priority_zones } + priority_zones = zones.select { |z| z.match?(priority_zones) } end zone_options.safe_concat options_for_select(convert_zones[priority_zones], selected) diff --git a/actionview/test/template/form_options_helper_test.rb b/actionview/test/template/form_options_helper_test.rb index d7a7b95ab3..273646b077 100644 --- a/actionview/test/template/form_options_helper_test.rb +++ b/actionview/test/template/form_options_helper_test.rb @@ -47,6 +47,7 @@ class FormOptionsHelperTest < ActionView::TestCase FakeZone = Struct.new(:name) do def to_s; name; end def =~(_re); end + def match?(_re); end end module ClassMethods @@ -1266,6 +1267,7 @@ class FormOptionsHelperTest < ActionView::TestCase @fake_timezones.each do |tz| def tz.=~(re); %(A D).include?(name) end + def tz.match?(re); %(A D).include?(name) end end html = time_zone_select("firm", "time_zone", /A|D/) -- cgit v1.2.3