class BazaModels::ClassTranslation
Public Class Methods
new(args)
click to toggle source
# File lib/baza_models/class_translation.rb, line 2 def initialize(args) @klass = args.fetch(:class) end
Public Instance Methods
class_name_snake()
click to toggle source
# File lib/baza_models/class_translation.rb, line 6 def class_name_snake @class_name_snake ||= StringCases.camel_to_snake(@klass.name.split("::").last) end
class_name_snake_with_parents()
click to toggle source
# File lib/baza_models/class_translation.rb, line 10 def class_name_snake_with_parents unless @class_name_snake_with_parents name = @klass.name .split("::") .map { |name_part| StringCases.camel_to_snake(name_part) } .join("\\") @class_name_snake_with_parents = name end @class_name_snake_with_parents end
human(args = {})
click to toggle source
# File lib/baza_models/class_translation.rb, line 23 def human(args = {}) if args[:count] && args[:count] >= 2 count_key = "other" else count_key = "one" end keys = [ "baza_models.models.#{class_name_snake_with_parents}.#{count_key}", "activerecord.models.#{class_name_snake_with_parents}.#{count_key}" ] keys.each do |key| return I18n.t(key) if I18n.exists?(key) end @klass.name.split("::").last end
i18n_key()
click to toggle source
# File lib/baza_models/class_translation.rb, line 58 def i18n_key param_key.to_sym end
name()
click to toggle source
# File lib/baza_models/class_translation.rb, line 42 def name @klass.name end
param_key()
click to toggle source
# File lib/baza_models/class_translation.rb, line 46 def param_key @param_key ||= class_name_snake end
route_key()
click to toggle source
# File lib/baza_models/class_translation.rb, line 50 def route_key "#{param_key}s" end
singular_route_key()
click to toggle source
# File lib/baza_models/class_translation.rb, line 54 def singular_route_key param_key end