module ViewModel::ActiveRecord::ControllerBase

def viewmodel_class

def viewmodel_class
  unless instance_variable_defined?(:@viewmodel_class)
    # try to autodetect the viewmodel based on our name
    if (match = /(.*)Controller$/.match(self.name))
      self.viewmodel_name = match[1].singularize
    else
      raise ArgumentError.new("Could not auto-determine ViewModel from Controller name '#{self.name}'")
    end
  end
  @viewmodel_class
end