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