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