Sha256: 0562e97cd36b98224c207915914a8425c8e511f41617e3ca7237be76fbdb3380
Contents?: true
Size: 1.34 KB
Versions: 1
Compression:
Stored size: 1.34 KB
Contents
module Effective module Resources module Naming SPLIT = /\/|::/ # / or :: def name # 'post' @name ||= ((klass.present? ? klass.name : initialized_name).to_s.split(SPLIT).last || '').singularize.underscore end def plural_name # 'posts' name.pluralize end def resource_name # 'effective_post' used by permitted params @resource_name ||= ((klass.present? ? klass.name : initialized_name).to_s.split(SPLIT).join('_') || '').singularize.underscore end def initialized_name @initialized_name end def class_name # 'Effective::Post' @model_klass ? @model_klass.name : name.classify end def class_path # 'effective' class_name.split('::')[0...-1].map { |name| name.underscore } * '/' end def namespaced_class_name # 'Admin::Effective::Post' (Array(namespaces).map { |name| name.to_s.classify } + [class_name]) * '::' end def namespace # 'admin/things' (namespaces.join('/') if namespaces.present?) end def namespaces # ['admin', 'things'] @namespaces || [] end def human_name class_name.gsub('::', ' ').underscore.gsub('_', ' ') end def human_plural_name class_name.pluralize.gsub('::', ' ').underscore.gsub('_', ' ') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
effective_resources-1.6.0 | app/models/effective/resources/naming.rb |