From e306d4e549f1b69b2344af121e33ad3627c58a4a Mon Sep 17 00:00:00 2001 From: Jan Ulbrich Date: Sat, 6 Apr 2013 15:56:44 +0200 Subject: [PATCH 1/3] Fixed Rails 3.x compatibility by adding raw wrap --- lib/localized_language_select.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/localized_language_select.rb b/lib/localized_language_select.rb index 3231853..e07085d 100644 --- a/lib/localized_language_select.rb +++ b/lib/localized_language_select.rb @@ -94,15 +94,17 @@ def localized_language_options_for_select(selected = nil, priority_languages = n end class InstanceTag + include ActionView::Helpers::OutputSafetyHelper + def to_localized_language_select_tag(priority_languages, options, html_options) html_options = html_options.stringify_keys add_default_name_and_id(html_options) value = value(object) content_tag("select", - add_options( + raw(add_options( localized_language_options_for_select(value, priority_languages, options), options, value - ), html_options + )), html_options ) end end From 7098c5f95fade7f11db151774d393fb881a44f03 Mon Sep 17 00:00:00 2001 From: Jan Ulbrich Date: Sun, 5 Jan 2014 15:07:49 +0100 Subject: [PATCH 2/3] Fixed compatibility issues with Rails 4 --- lib/localized_language_select.rb | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/lib/localized_language_select.rb b/lib/localized_language_select.rb index e07085d..96ccdf4 100644 --- a/lib/localized_language_select.rb +++ b/lib/localized_language_select.rb @@ -65,8 +65,15 @@ module FormOptionsHelper # Language codes listed as an array of symbols in +priority_languages+ argument will be listed first # TODO : Implement pseudo-named args with a hash, not the "somebody said PHP?" multiple args sillines def localized_language_select(object, method, priority_languages = nil, options = {}, html_options = {}) - InstanceTag.new(object, method, self, options.delete(:object)). - to_localized_language_select_tag(priority_languages, options, html_options) + tag = if defined?(ActionView::Helpers::InstanceTag) && + ActionView::Helpers::InstanceTag.instance_method(:initialize).arity != 0 + + InstanceTag.new(object, method, self, options.delete(:object)) + else + LanguageSelect.new(object, method, self, options) + end + + tag.to_localized_language_select_tag(priority_languages, options, html_options) end # Return "named" select and option tags according to given arguments. @@ -93,9 +100,7 @@ def localized_language_options_for_select(selected = nil, priority_languages = n end - class InstanceTag - include ActionView::Helpers::OutputSafetyHelper - + module ToLanguageSelectTag def to_localized_language_select_tag(priority_languages, options, html_options) html_options = html_options.stringify_keys add_default_name_and_id(html_options) @@ -108,7 +113,20 @@ def to_localized_language_select_tag(priority_languages, options, html_options) ) end end - + + if defined?(ActionView::Helpers::InstanceTag) && + ActionView::Helpers::InstanceTag.instance_method(:initialize).arity != 0 + class InstanceTag + include ActionView::Helpers::OutputSafetyHelper + include ToLanguageSelectTag + end + else + class LanguageSelect < Tags::Base + include ActionView::Helpers::OutputSafetyHelper + include ToLanguageSelectTag + end + end + class FormBuilder def localized_language_select(method, priority_languages = nil, options = {}, html_options = {}) @template.localized_language_select(@object_name, method, priority_languages, options.merge(:object => @object), html_options) From 7adeb13e192b65b7ab5752b6e59f8ce680004978 Mon Sep 17 00:00:00 2001 From: Jan Ulbrich Date: Sun, 5 Jan 2014 15:12:02 +0100 Subject: [PATCH 3/3] Fixed gem specs --- localized_language_select.gemspec | 3 --- 1 file changed, 3 deletions(-) diff --git a/localized_language_select.gemspec b/localized_language_select.gemspec index a3052a5..bd4e079 100644 --- a/localized_language_select.gemspec +++ b/localized_language_select.gemspec @@ -61,14 +61,12 @@ Gem::Specification.new do |s| s.add_development_dependency(%q, ["~> 1.0.0"]) s.add_development_dependency(%q, ["~> 1.5.2"]) s.add_development_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, [">= 2.3.5"]) else s.add_dependency(%q, [">= 2.3.5"]) s.add_dependency(%q, [">= 2.3.0"]) s.add_dependency(%q, ["~> 1.0.0"]) s.add_dependency(%q, ["~> 1.5.2"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 2.3.5"]) end else s.add_dependency(%q, [">= 2.3.5"]) @@ -76,7 +74,6 @@ Gem::Specification.new do |s| s.add_dependency(%q, ["~> 1.0.0"]) s.add_dependency(%q, ["~> 1.5.2"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 2.3.5"]) end end