Module: Subtype::ClassMethods
- Defined in:
- lib/nose/util.rb
Overview
Add a single method to retrieve the subtype name
Instance Method Summary collapse
-
#subtype_name(name_case: :snake) ⇒ String
Get a unique string identify this subclass amongst sibling classes.
Instance Method Details
#subtype_name(name_case: :snake) ⇒ String
Get a unique string identify this subclass amongst sibling classes
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/nose/util.rb', line 130 def subtype_name(name_case: :snake) super_name = name_array superclass self_name = name_array self self_name = self_name.reverse.drop_while do |part| super_name.include? part end.reverse if name_case == :snake name = self_name.join('_').freeze elsif name_case == :camel name = self_name.map do |part| part[0].upcase + part[1..-1] end.join('').freeze end name end |