Class: ActiveSupport::ModelName

Inherits:
String show all
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

Instance Method Summary collapse

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

#chars, #is_utf8?, #mb_chars

Methods included from CoreExtensions::String::Behavior

#acts_like_string?

Methods included from CoreExtensions::String::Iterators

append_features, #each_char

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

#squish, #squish!

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

#collectionObject (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

#elementObject (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_pathObject (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

#pluralObject (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

#singularObject (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