module FormJourney::UsesSingleModel::ClassMethods

Public Instance Methods

model_class(clasz) click to toggle source
# 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
model_scope(*scope) click to toggle source
# File lib/form_journey/uses_single_model.rb, line 65
def model_scope(*scope)
  if scope.size == 1
    self._model_scope = scope.first
  else
    self._model_scope = scope
  end
end
params_method(params_method) click to toggle source
# File lib/form_journey/uses_single_model.rb, line 61
def params_method(params_method)
  self._params_method = params_method
end