Class: ActiveSupport::ModelName
- Defined in:
- lib/active_support/core_ext/module/model_naming.rb
Constant Summary
Constants inherited from String
String::INTERPOLATION_PATTERN, String::INTERPOLATION_PATTERN_WITH_ESCAPE
Instance Attribute Summary collapse
-
#collection ⇒ Object
(also: #cache_key)
readonly
Returns the value of attribute collection.
-
#element ⇒ Object
readonly
Returns the value of attribute element.
-
#partial_path ⇒ Object
readonly
Returns the value of attribute partial_path.
-
#plural ⇒ Object
readonly
Returns the value of attribute plural.
-
#singular ⇒ Object
readonly
Returns the value of attribute singular.
Instance Method Summary collapse
-
#initialize(name) ⇒ ModelName
constructor
A new instance of ModelName.
Methods inherited from String
#%, #as_json, #as_str, #blank?, #html_safe, #html_safe?, #interpolate_without_ruby_19_syntax, #to_json, #to_xs
Methods included from CoreExtensions::String::Multibyte
Methods included from CoreExtensions::String::Behavior
Methods included from CoreExtensions::String::Iterators
Methods included from CoreExtensions::String::StartsEndsWith
append_features, #ends_with?, #starts_with?
Methods included from CoreExtensions::String::Inflections
#camelize, #classify, #constantize, #dasherize, #demodulize, #foreign_key, #humanize, #parameterize, #pluralize, #singularize, #tableize, #titleize, #underscore
Methods included from CoreExtensions::String::Filters
Methods included from CoreExtensions::String::Conversions
#ord, #to_date, #to_datetime, #to_time
Methods included from CoreExtensions::String::Access
#at, #first, #from, #last, #to
Constructor Details
#initialize(name) ⇒ ModelName
Returns a new instance of ModelName.
6 7 8 9 10 11 12 13 |
# File 'lib/active_support/core_ext/module/model_naming.rb', line 6 def initialize(name) super @singular = ActiveSupport::Inflector.underscore(self).tr('/', '_').freeze @plural = ActiveSupport::Inflector.pluralize(@singular).freeze @element = ActiveSupport::Inflector.underscore(ActiveSupport::Inflector.demodulize(self)).freeze @collection = ActiveSupport::Inflector.tableize(self).freeze @partial_path = "#{@collection}/#{@element}".freeze end |
Instance Attribute Details
#collection ⇒ Object (readonly) Also known as: cache_key
Returns the value of attribute collection.
3 4 5 |
# File 'lib/active_support/core_ext/module/model_naming.rb', line 3 def collection @collection end |
#element ⇒ Object (readonly)
Returns the value of attribute element.
3 4 5 |
# File 'lib/active_support/core_ext/module/model_naming.rb', line 3 def element @element end |
#partial_path ⇒ Object (readonly)
Returns the value of attribute partial_path.
3 4 5 |
# File 'lib/active_support/core_ext/module/model_naming.rb', line 3 def partial_path @partial_path end |
#plural ⇒ Object (readonly)
Returns the value of attribute plural.
3 4 5 |
# File 'lib/active_support/core_ext/module/model_naming.rb', line 3 def plural @plural end |
#singular ⇒ Object (readonly)
Returns the value of attribute singular.
3 4 5 |
# File 'lib/active_support/core_ext/module/model_naming.rb', line 3 def singular @singular end |