class CmAdmin::Model

def initialize(entity, &block)

def initialize(entity, &block)
  @name = entity.name
  @display_name = entity.name
  @ar_model = entity
  @is_visible_on_sidebar = true
  @icon_name = 'fa fa-th-large'
  @available_actions ||= []
  @bulk_actions ||= []
  @additional_permitted_fields ||= []
  @current_action = nil
  @available_tabs ||= []
  @available_fields ||= { index: [], show: [], edit: [], new: [] }
  @params = nil
  @override_policy = false
  @filters ||= []
  @policy_scopes ||= [{ display_name: 'Full Access', scope_name: 'all' }]
  @sort_columns ||= []
  @default_sort_direction ||= 'asc'
  @alerts = []
  instance_eval(&block) if block_given?
  actions unless @actions_set
  $available_actions = @available_actions.dup
  define_controller
  define_pundit_policy(@ar_model) unless @override_policy
end