Class: PassiveSupport::ModelName

Inherits:
String show all
Defined in:
lib/passive_support/core_ext/module/model_naming.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from String

#blank?, #constantize

Constructor Details

#initialize(name) ⇒ ModelName

Returns a new instance of ModelName.



6
7
8
9
10
11
12
13
# File 'lib/passive_support/core_ext/module/model_naming.rb', line 6

def initialize(name)
  super
  @singular = PassiveSupport::Inflector.underscore(self).tr('/', '_').freeze
  @plural = PassiveSupport::Inflector.pluralize(@singular).freeze
  @element = PassiveSupport::Inflector.underscore(PassiveSupport::Inflector.demodulize(self)).freeze
  @collection = PassiveSupport::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/passive_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/passive_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/passive_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/passive_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/passive_support/core_ext/module/model_naming.rb', line 3

def singular
  @singular
end