lib/active_admin/resource/naming.rb in andrewroth_activeadmin-0.3.4 vs lib/active_admin/resource/naming.rb in andrewroth_activeadmin-0.3.4.1

- old
+ new

@@ -1,50 +1,62 @@ module ActiveAdmin class Resource module Naming + # Returns the name to call this resource such as "Bank Account" + def resource_name + @resource_name ||= @options[:as] + @resource_name ||= singular_human_name + @resource_name ||= resource_class.name.gsub('::',' ') + end - # An underscored safe representation internally for this resource - def underscored_resource_name - @underscored_resource_name ||= if @options[:as] - @options[:as].gsub(' ', '').underscore.singularize - else - resource.name.gsub('::','').underscore - end + # Returns the plural version of this resource such as "Bank Accounts" + def plural_resource_name + @plural_resource_name ||= @options[:as].pluralize if @options[:as] + @plural_resource_name ||= plural_human_name + @plural_resource_name ||= resource_name.pluralize end + # A name used internally to uniquely identify this resource + def resource_key + camelized_resource_name + end + # A camelized safe representation for this resource def camelized_resource_name - underscored_resource_name.camelize + resource_name.titleize.gsub(' ', '') end - # Returns the name to call this resource. - # By default will use resource.model_name.human - def resource_name - @resource_name ||= if @options[:as] || !resource.respond_to?(:model_name) - underscored_resource_name.titleize - else - resource.model_name.human.titleize - end + def plural_camelized_resource_name + plural_resource_name.titleize.gsub(' ', '') end - # Returns the plural version of this resource - def plural_resource_name - @plural_resource_name ||= if @options[:as] || !resource.respond_to?(:model_name) - resource_name.pluralize - else - # Check if we have a translation available otherwise pluralize - begin - I18n.translate!("activerecord.models.#{resource.model_name.underscore}") - resource.model_name.human(:count => 3) - rescue I18n::MissingTranslationData - resource_name.pluralize - end - end + # An underscored safe representation internally for this resource + def underscored_resource_name + camelized_resource_name.underscore end - + # Returns the plural and underscored version of this resource. Useful for element id's. def plural_underscored_resource_name - plural_resource_name.underscore.gsub(/\s/, '_') + plural_camelized_resource_name.underscore + end + + private + + # @return [String] Titleized human name via ActiveRecord I18n or nil + def singular_human_name + return nil unless resource_class.respond_to?(:model_name) + resource_class.model_name.human.titleize + end + + # @return [String] Titleized plural human name via ActiveRecord I18n or nil + def plural_human_name + return nil unless resource_class.respond_to?(:model_name) + + begin + I18n.translate!("activerecord.models.#{resource_class.model_name.underscore}.other").titleize + rescue I18n::MissingTranslationData + nil + end end end end end