lib/traco/class_methods.rb in traco-0.1.0 vs lib/traco/class_methods.rb in traco-0.2.1
- old
+ new
@@ -2,30 +2,37 @@
module ClassMethods
def locales_for_column(column)
column_names.grep(/\A#{column}_([a-z]{2})\z/) {
$1.to_sym
- }.sort_by { |x|
- x == I18n.default_locale ? :"" : x
+ }.sort_by { |locale|
+ if locale == I18n.default_locale
+ :"0"
+ else
+ locale
+ end
}
end
def human_attribute_name(attribute, options={})
- default = super(attribute, { default: "" }.merge(options))
- if !default.present? && attribute.to_s.match(/\A(\w+)_([a-z]{2})\z/)
+ default = super(attribute, options.merge(default: ""))
+ if default.blank? && attribute.to_s.match(/\A(\w+)_([a-z]{2})\z/)
column, locale = $1, $2.to_sym
if translates?(column)
- locale_name = I18n.t(locale, scope: :"i18n.languages", default: locale.to_s.upcase)
- return "#{super(column, options)} (#{locale_name})"
+ return "#{super(column, options)} (#{locale_name(locale)})"
end
end
super
end
private
def translates?(column)
- @translates_columns.include?(column.to_sym)
+ translatable_columns.include?(column.to_sym)
+ end
+
+ def locale_name(locale)
+ I18n.t(locale, scope: :"i18n.languages", default: locale.to_s.upcase)
end
end
end