Module: CmAdmin

Defined in:
lib/cm_admin.rb,
lib/cm_admin/model.rb,
lib/cm_admin/engine.rb,
lib/cm_admin/version.rb,
lib/cm_admin/constants.rb,
lib/cm_admin/models/tab.rb,
lib/cm_admin/models/field.rb,
lib/cm_admin/view_helpers.rb,
lib/cm_admin/configuration.rb,
lib/cm_admin/models/action.rb,
lib/cm_admin/models/blocks.rb,
lib/cm_admin/models/column.rb,
lib/cm_admin/models/export.rb,
lib/cm_admin/models/filter.rb,
lib/cm_admin/models/importer.rb,
lib/cm_admin/models/dsl_method.rb,
lib/cm_admin/models/form_field.rb,
lib/cm_admin/models/custom_action.rb,
app/helpers/cm_admin/custom_helper.rb,
lib/cm_admin/models/actions/blocks.rb,
lib/cm_admin/models/cm_show_section.rb,
lib/cm_admin/view_helpers/form_helper.rb,
app/helpers/cm_admin/application_helper.rb,
lib/cm_admin/view_helpers/filter_helper.rb,
lib/generators/cm_admin/policy_generator.rb,
lib/generators/cm_admin/install_generator.rb,
app/controllers/cm_admin/static_controller.rb,
lib/cm_admin/view_helpers/page_info_helper.rb,
app/controllers/cm_admin/exports_controller.rb,
lib/cm_admin/view_helpers/form_field_helper.rb,
lib/cm_admin/view_helpers/navigation_helper.rb,
app/controllers/cm_admin/resource_controller.rb,
lib/generators/cm_admin/add_graphql_generator.rb,
lib/cm_admin/view_helpers/field_display_helper.rb,
app/controllers/cm_admin/application_controller.rb,
lib/cm_admin/view_helpers/action_dropdown_helper.rb,
lib/cm_admin/view_helpers/manage_column_popup_helper.rb,
lib/generators/cm_admin/add_authentication_generator.rb,
lib/generators/cm_admin/templates/application_controller.rb

Defined Under Namespace

Modules: ApplicationHelper, CustomHelper, FileImport, Generators, Models, Utils, ViewHelpers Classes: ApplicationController, Configuration, Engine, Error, ExportsController, FileImportPolicy, Model, ResourceController, StaticController

Constant Summary collapse

VERSION =
'7.0.1'
DEFAULT_ACTIONS =
{
  index: {
    verb: :get,
    path: '/'
  },
  new: {
    verb: :get,
    path: 'new'
  },
  show: {
    verb: :get,
    path: ':id'
  },
  create: {
    verb: :post,
    path: '/'
  },
  edit: {
    verb: :get,
    path: ':id/edit'
  },
  update: {
    verb: :patch,
    path: ':id'
  },
  destroy: {
    verb: :delete,
    path: ':id'
  },
  custom_action: {
    verb: :post
  }
}
REJECTABLE_FIELDS =
%w(id created_at updated_at)

Class Method Summary collapse

Class Method Details

.configObject



53
54
55
# File 'lib/cm_admin.rb', line 53

def config
  @config ||= Configuration.new
end

.configure {|@config| ... } ⇒ Object

Yields:



44
45
46
47
48
# File 'lib/cm_admin.rb', line 44

def configure(&block)
  # instance_eval(&block)
  @config ||= Configuration.new
  yield(@config)
end

.initialize_model(entity, &block) ⇒ Object



57
58
59
60
61
62
# File 'lib/cm_admin.rb', line 57

def initialize_model(entity, &block)
  if entity.is_a?(Class)
    return if CmAdmin::Model.find_by({name: entity.name})
    config.cm_admin_models << CmAdmin::Model.new(entity, &block)
  end
end

.layoutObject



50
51
# File 'lib/cm_admin.rb', line 50

def layout
end

.rails6?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/cm_admin.rb', line 20

def rails6?
  Rails::VERSION::MAJOR >= 6
end

.rails7?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/cm_admin.rb', line 24

def rails7?
  Rails::VERSION::MAJOR >= 7
end

.use_importmap?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/cm_admin.rb', line 28

def use_importmap?
  rails7? && File.exist?("config/importmap.rb")
end

.use_webpacker?Boolean

Returns:

  • (Boolean)


32
33
34
35
# File 'lib/cm_admin.rb', line 32

def use_webpacker?
  rails6? &&
    defined?(Webpacker) == 'constant'
end

.webpackerObject



37
38
39
40
41
42
# File 'lib/cm_admin.rb', line 37

def webpacker
  @webpacker ||= ::Webpacker::Instance.new(
    root_path: CmAdmin::Engine.root,
    config_path: CmAdmin::Engine.root.join('config', 'webpacker.yml')
  )
end