Method: FormJourney::UsesSingleModel::ClassMethods#model_class

Defined in:
lib/form_journey/uses_single_model.rb

#model_class(clasz) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/form_journey/uses_single_model.rb', line 73

def model_class(clasz)
  clasz = clasz.is_a?(String) ? self.const_get(clasz) : clasz
  self._model_class = clasz
  hyphenated_class_name = clasz.to_s.gsub(/::/, '')
    .gsub(/(?<=[^\b])([A-Z])/, '_\1')
    .downcase
  class_eval do
    define_method(hyphenated_class_name.to_sym) do
      model_object
    end
  end
  self.send(:helper_method, hyphenated_class_name.to_sym)
end