aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/helpers/tags/placeholderable.rb
diff options
context:
space:
mode:
authorMaarten Claes <maartencls@gmail.com>2015-01-22 22:59:42 +0100
committerMaarten Claes <maartencls@gmail.com>2015-01-22 23:02:48 +0100
commitc946b2a30038701cdff3ed6e22b8fdcbe2ee3b7d (patch)
tree5a84286d94acabd898b6ebd9916424a31ce08ee5 /actionview/lib/action_view/helpers/tags/placeholderable.rb
parentee3dd2f0ff1820804888cb3a7475dd593deb0212 (diff)
downloadrails-c946b2a30038701cdff3ed6e22b8fdcbe2ee3b7d.tar.gz
rails-c946b2a30038701cdff3ed6e22b8fdcbe2ee3b7d.tar.bz2
rails-c946b2a30038701cdff3ed6e22b8fdcbe2ee3b7d.zip
Reduce duplication when generating translations
Diffstat (limited to 'actionview/lib/action_view/helpers/tags/placeholderable.rb')
-rw-r--r--actionview/lib/action_view/helpers/tags/placeholderable.rb20
1 files changed, 3 insertions, 17 deletions
diff --git a/actionview/lib/action_view/helpers/tags/placeholderable.rb b/actionview/lib/action_view/helpers/tags/placeholderable.rb
index 690ba93ab5..0b15a11308 100644
--- a/actionview/lib/action_view/helpers/tags/placeholderable.rb
+++ b/actionview/lib/action_view/helpers/tags/placeholderable.rb
@@ -7,26 +7,12 @@ module ActionView
if tag_value = @options[:placeholder]
placeholder = tag_value if tag_value.is_a?(String)
-
- object_name = @object_name.gsub(/\[(.*)_attributes\]\[\d+\]/, '.\1')
method_and_value = tag_value.is_a?(TrueClass) ? @method_name : "#{@method_name}.#{tag_value}"
- if object.respond_to?(:to_model)
- model = object.to_model
- end
-
- if model
- key = model.model_name.i18n_key
- i18n_default = ["#{key}.#{method_and_value}".to_sym, ""]
- end
-
- i18n_default ||= ""
- placeholder ||= I18n.t("#{object_name}.#{method_and_value}", :default => i18n_default, :scope => "helpers.placeholder").presence
- placeholder ||= if model && model.class.respond_to?(:human_attribute_name)
- model.class.human_attribute_name(method_and_value)
- end
+ placeholder ||= Tags::Translator
+ .new(object, @object_name, method_and_value, "helpers.placeholder")
+ .call
placeholder ||= @method_name.humanize
-
@options[:placeholder] = placeholder
end
end