class Lolita::ModelName
Public Class Methods
new(given_class)
click to toggle source
# File lib/lolita/ruby_ext/lolita_model_name.rb, line 3 def initialize(given_class) @klass = given_class @class_name = @klass.to_s end
Public Instance Methods
human(options={})
click to toggle source
# File lib/lolita/ruby_ext/lolita_model_name.rb, line 8 def human(options={}) name = if defined?(ActiveRecord::Base) && @klass.ancestors.include?(ActiveRecord::Base) "activerecord.models.#{@class_name.underscore}" else "lolita.models.#{@class_name.underscore.gsub("/",".")}" end ::I18n.t("#{name}.#{prefix(options)}", default: default_human_name(options)) end
Private Instance Methods
default_human_name(options = {})
click to toggle source
# File lib/lolita/ruby_ext/lolita_model_name.rb, line 19 def default_human_name options = {} if prefix(options) == 'one' @class_name.humanize else ActiveModel::Naming.plural(@klass).humanize end end
prefix(options)
click to toggle source
# File lib/lolita/ruby_ext/lolita_model_name.rb, line 27 def prefix options if options[:count] if options[:count] == 1 "one" else "other" end else "one" end end