Method: Exposant::Model::ClassMethods#exposant_class
- Defined in:
- lib/exposant/model.rb
#exposant_class(variant = nil, type = nil) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/exposant/model.rb', line 51 def exposant_class(variant = nil, type = nil) type_name = (type || exposant_type).to_s.camelcase klass = if @exposant_class.present? @exposant_class else name.dup.concat(type_name) end klass = klass .split('::') .tap { |arr| arr.last.prepend(variant&.to_s&.downcase&.capitalize || '') } .join('::') raise "Missing exposant #{klass}" unless const_defined?(klass) klass.constantize end |